日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

mysql到oracle的移植

系統 2067 0

1.基本處理思路

第一步:建與mysql同構的oracle數據庫實例,并更新數據。
????? 1.期望將mysql導出成與oracle通用的sql語句,通過該語句進行更新。
????? 2.如果1不能做到,可先將數據庫結構(表結構等)導出,在通過insert語句,或execl(限制:最多只能6w多條記錄)進行導出、導入。
第二步:一邊設計新庫,一邊寫老庫到新庫的同步程序。
????? 1.通過dblink進行連接,用存貯過程同步。
????? 2.對于數據量為千萬級的表需要單獨(特別)處理。

2.mysql到oracle的整理工作

1.將表結構文件與數據文件分開
2.將"替換為null(替換為null即刪除)
3.將`替換為null
4.將int替換為number,將bigint替換為number,將decimal替換為number,將float替換為number,將unsigned替換為null
5.將char替換為varchar2,將varchar替換為varchar2,將text替換為blob
6.將timestamp替換為date,將datetime替換為date
7.將CURRENT_TIMESTAMP替換為sysdate
8.將character set gb2312 替換為null,將DEFAULT CHARSET=gbk 替換為null
9.將表名前的數據庫名替換為null。如:3yxupupup.module中將3yxupupup.刪掉
10.將ENGINE=InnoDB替換為null,將ENGINE=MyISAM替換為null

11.將default * 放置在NOT NULL之前
12.pk? : PRIMARY KEY (*)可以不進行替換,如果想要替換可替換為 alter table 表名 add primary key (主鍵列名);如:alter table DEPTLIST add primary key (DEPTID);
13.uk? :
14.fk? :
15.idx : KEY NewIndex1 (*)替換為 create index 索引名 on 表名 (索引列名);如:KEY NewIndex1 (timelevel,buglevel,moduleid)--》 create index idx_task_level on task (timelevel,buglevel,moduleid);

16.增加表說明:comment on table 表名 is '說明信息'; 如:comment on table deptlist is '部門表';
17.將列說明 COMMENT '列說明信息' 替換為 comment on column 表名.列名 is '列說明信息';如:comment on column deptlist.deptid is '部門編號,保持與RTX一致';
18.將自增長功能? 主鍵列auto_increment替換為null,表尾 AUTO_INCREMENT=當前值 替換為sequence+trigger
?? 如:CREATE TABLE doing (doingid number(11) NOT NULL,...) AUTO_INCREMENT=8 ;? 替換為
-- create sequence
create sequence seq_doing
minvalue 1
maxvalue 999999999999999999999999999
start with 8
increment by 1
nocache;
--create sequence bi
create or replace trigger tri_doing_bi before insert on doing for each row
begin
?if :new.doingid<0 or :new.doingid is null then
? select seq_doing.nextval into :new.doingid from dual;
????? --select substr(sys_guid(),1,32) into :new.doingid from dual;
?end if;
end;
/
21.更新數據對于日期類型需要增加to_date進行格式轉換,如:'2011-01-17 20:18:42'--》to_date( '2011-01-17 20:18:42','yyyy-mm-dd hh24:mi:ss')
21.更新數據時需要注意效率問題。一般的原則是每個表處理完成都需要一個commit;如果某個表記錄比較多,則每處理100條記錄commit一次。
22.如果表之間存在外鍵及觸發器,在更新數據時應該先讓外鍵、觸發器失效(disable),更新后在啟用外鍵、觸發器(enable)。
23.處理數據時需要記錄日志。如:spool c:/temp/×××.log;... spool off;
24.查看日志,對于提示違反唯一性約束的記錄分為兩種情況:一、記錄重復,違反了主鍵、唯一鍵、唯一索引,則不需要特殊處理;二、有人調整了唯一鍵、唯一索引,則需要確認后特殊處理。
?? 對于提示違反完整性約束的記錄是指違反了外鍵約束(父表沒有,子表有,即違反完整性約束),需要特殊處理。
??
31.表連接不建議使用jion的寫法
32.對于可能不維護值的字段請勿設置為not null 如:userinfo表
33.請將表名、列名、用戶名、數據庫名中的3yx*替換為yx3*
34.刪除表時將 IF EXISTS替換為null,如:DROP TABLE IF EXISTS yx3_account_info;--》DROP TABLE yx3_account_info;

mysql到oracle的移植


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 山阳县| 葵青区| 江油市| 瓦房店市| 玛纳斯县| 维西| 开化县| 宁陕县| 东海县| 舟山市| 江华| 沽源县| 和平区| 新晃| 新平| 株洲市| 潮州市| 曲阳县| 浪卡子县| 万载县| 湄潭县| 昌邑市| 信宜市| 垦利县| 师宗县| 涟源市| 南平市| 商河县| 乾安县| 金塔县| 苏尼特右旗| 沁阳市| 临汾市| 德安县| 甘孜| 余干县| 莱州市| 府谷县| 历史| 巫山县| 蒙阴县|