首页 > 学院 > 开发设计 > 正文

兵官扯蛋之3步搞定不同oracle版本导库迂回战术

2019-11-08 20:41:37
字体:
来源:转载
供稿:网友
A库导入到B库。原理:使用create table as的方式导入结构和数据。优势:不在乎Oracle数据库版本的不同;不需要使用exp先导出A库到本地,再使用imp导入到B库;clob字段也能正常导入(blob未测试);效率还很快;1. B库建立dblink链接A(我建的dblink叫 hztd_229)。2. A库执行以下语句,获取sql脚本。select 'create table ' || t.table_name || ' as select * from ' ||       t.table_name || '@hztd_229;'  from user_tab_comments twhere t.table_name not like '%$%'order by t.table_name;  3. B库使用命令窗口模式执行A的查询脚本;  4. 如果B库执行命令有部分表因主外键的原因导致执行失败,执行再执行一次或多次即可。5. 如果B库不能直接建立dblink到A库,那么增加中间库(如本地库C)执行上述步骤从A导入C,C再导入B。6. 本地oracle被B库访问方式:在listener.ora中增加(ADDRESS = (PROTOCOL = TCP)(HOST = 192.3.3.229)(PORT = 1521)) 其中192.3.3.229为本地ip。缺点:只能导table和view。不过可以使用导出用户对象功能进行补充。 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表