[{"data":1,"prerenderedAt":232},["ShallowReactive",2],{"article-oracle-to-kingbase":3,"mdc--dvgz0h-key":16},{"_path":4,"slug":5,"title":6,"description":7,"date":8,"tags":9,"type":13,"cover":14,"content":15},"\u002Fknowledge\u002Foracle-to-kingbase","oracle-to-kingbase","Oracle 迁移到达梦数据库实践","针对电力行业核心系统的 Oracle 迁移实践, 分享类型映射、SQL 改写和验证经验。","2026-06-05",[10,11,12],"迁移","达梦","信创","article",null,"\n# Oracle 迁移到达梦数据库实践\n\n电力行业核心系统对数据库稳定性要求极高。本文分享一次 Oracle 迁移到达梦数据库的实战经验。\n\n## 背景\n\n- 源库: Oracle 11g\n- 目标库: 达梦 DM8\n- 数据量: 约 5 TB\n- 停机窗口: 4 小时\n\n## 类型映射\n\n| Oracle | 达梦 |\n|--------|------|\n| NUMBER | NUMBER |\n| VARCHAR2 | VARCHAR |\n| CLOB | TEXT |\n| DATE | TIMESTAMP |\n\n## SQL 改写注意点\n\n- `ROWNUM` 需要改写为 `LIMIT`\n- `NVL` 对应 `IFNULL`\n- `SYSDATE` 对应 `CURRENT_TIMESTAMP`\n\n```sql\n-- Oracle\nSELECT * FROM users WHERE ROWNUM \u003C= 10;\n\n-- 达梦\nSELECT * FROM users LIMIT 10;\n```\n\n## 验证\n\n迁移完成后, 使用 DB-Compare 生成差异报告, 确认无 schema 遗漏。\n",{"data":17,"body":18},{},{"type":19,"children":20},"root",[21,29,35,41,66,71,149,155,209,222,227],{"type":22,"tag":23,"props":24,"children":26},"element","h1",{"id":25},"oracle-迁移到达梦数据库实践",[27],{"type":28,"value":6},"text",{"type":22,"tag":30,"props":31,"children":32},"p",{},[33],{"type":28,"value":34},"电力行业核心系统对数据库稳定性要求极高。本文分享一次 Oracle 迁移到达梦数据库的实战经验。",{"type":22,"tag":36,"props":37,"children":39},"h2",{"id":38},"背景",[40],{"type":28,"value":38},{"type":22,"tag":42,"props":43,"children":44},"ul",{},[45,51,56,61],{"type":22,"tag":46,"props":47,"children":48},"li",{},[49],{"type":28,"value":50},"源库: Oracle 11g",{"type":22,"tag":46,"props":52,"children":53},{},[54],{"type":28,"value":55},"目标库: 达梦 DM8",{"type":22,"tag":46,"props":57,"children":58},{},[59],{"type":28,"value":60},"数据量: 约 5 TB",{"type":22,"tag":46,"props":62,"children":63},{},[64],{"type":28,"value":65},"停机窗口: 4 小时",{"type":22,"tag":36,"props":67,"children":69},{"id":68},"类型映射",[70],{"type":28,"value":68},{"type":22,"tag":72,"props":73,"children":74},"table",{},[75,93],{"type":22,"tag":76,"props":77,"children":78},"thead",{},[79],{"type":22,"tag":80,"props":81,"children":82},"tr",{},[83,89],{"type":22,"tag":84,"props":85,"children":86},"th",{},[87],{"type":28,"value":88},"Oracle",{"type":22,"tag":84,"props":90,"children":91},{},[92],{"type":28,"value":11},{"type":22,"tag":94,"props":95,"children":96},"tbody",{},[97,110,123,136],{"type":22,"tag":80,"props":98,"children":99},{},[100,106],{"type":22,"tag":101,"props":102,"children":103},"td",{},[104],{"type":28,"value":105},"NUMBER",{"type":22,"tag":101,"props":107,"children":108},{},[109],{"type":28,"value":105},{"type":22,"tag":80,"props":111,"children":112},{},[113,118],{"type":22,"tag":101,"props":114,"children":115},{},[116],{"type":28,"value":117},"VARCHAR2",{"type":22,"tag":101,"props":119,"children":120},{},[121],{"type":28,"value":122},"VARCHAR",{"type":22,"tag":80,"props":124,"children":125},{},[126,131],{"type":22,"tag":101,"props":127,"children":128},{},[129],{"type":28,"value":130},"CLOB",{"type":22,"tag":101,"props":132,"children":133},{},[134],{"type":28,"value":135},"TEXT",{"type":22,"tag":80,"props":137,"children":138},{},[139,144],{"type":22,"tag":101,"props":140,"children":141},{},[142],{"type":28,"value":143},"DATE",{"type":22,"tag":101,"props":145,"children":146},{},[147],{"type":28,"value":148},"TIMESTAMP",{"type":22,"tag":36,"props":150,"children":152},{"id":151},"sql-改写注意点",[153],{"type":28,"value":154},"SQL 改写注意点",{"type":22,"tag":42,"props":156,"children":157},{},[158,176,193],{"type":22,"tag":46,"props":159,"children":160},{},[161,168,170],{"type":22,"tag":162,"props":163,"children":165},"code",{"className":164},[],[166],{"type":28,"value":167},"ROWNUM",{"type":28,"value":169}," 需要改写为 ",{"type":22,"tag":162,"props":171,"children":173},{"className":172},[],[174],{"type":28,"value":175},"LIMIT",{"type":22,"tag":46,"props":177,"children":178},{},[179,185,187],{"type":22,"tag":162,"props":180,"children":182},{"className":181},[],[183],{"type":28,"value":184},"NVL",{"type":28,"value":186}," 对应 ",{"type":22,"tag":162,"props":188,"children":190},{"className":189},[],[191],{"type":28,"value":192},"IFNULL",{"type":22,"tag":46,"props":194,"children":195},{},[196,202,203],{"type":22,"tag":162,"props":197,"children":199},{"className":198},[],[200],{"type":28,"value":201},"SYSDATE",{"type":28,"value":186},{"type":22,"tag":162,"props":204,"children":206},{"className":205},[],[207],{"type":28,"value":208},"CURRENT_TIMESTAMP",{"type":22,"tag":210,"props":211,"children":217},"pre",{"className":212,"code":214,"language":215,"meta":216},[213],"language-sql","-- Oracle\nSELECT * FROM users WHERE ROWNUM \u003C= 10;\n\n-- 达梦\nSELECT * FROM users LIMIT 10;\n","sql","",[218],{"type":22,"tag":162,"props":219,"children":220},{"__ignoreMap":216},[221],{"type":28,"value":214},{"type":22,"tag":36,"props":223,"children":225},{"id":224},"验证",[226],{"type":28,"value":224},{"type":22,"tag":30,"props":228,"children":229},{},[230],{"type":28,"value":231},"迁移完成后, 使用 DB-Compare 生成差异报告, 确认无 schema 遗漏。",1787799116021]