用数据泵方法迁移oracle11gR2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle11g 数据库迁移
在Oracle11g中,exp默认不能导出空表。用传统的exp,imp进行数据库迁移会比较麻烦,不过可以使用expdp、impdp进行迁移。现对oracle11g数据库迁移进行介绍:
1.安装好数据库后可以通过对数据库参数进行修改,使其能通过exp导出导出空表
1)、Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g 数据库时,空表不会导出。
2)、设置deferred_segment_creation 参数为FALSE后,无论是空表还是非空表,都分配segment。
在sqlplus中,执行如下命令:
SQL>alter system set deferred_segment_creation=false;
查看:
SQL>show parameter deferred_segment_creation;
如果在执行建库脚本后进行修改该参数,只对后面新增的表产生作用,对之前建立的空表不起作用。
2.通过使用数据泵的方法进行导入导出
2008 to 2008
把32位windows 2008的Oracle11gR2数据库迁移到另一台32位windows 2008的Oracle11gR2数据库中,可以使用expdp、impdp进行迁移数据。
如:A和B均为windows服务器,数据库用户为ccense,把A服务器的数据迁移到B服务器中
在A服务器操作:
1、
SQL>conn / as sysdba
SQL> create directory expdp_dir as 'D:\databack ';
SQL> grant read,write on directory expdp_dir to ccense;
注:命令行中黑色粗体可以进行更改,下同
2、在windows2008目录中创建目录D:\databack,如果不创建将出现如下报错:
3、在DOS命令窗口导出:
在A服务器的DOS窗口输入如下命令:
expdp ccense/ccense@A_database DIRECTORY=expdp_dir DUMPFILE=test.dmp logfile=testexpdp.log
在B服务器中操作:
4、SQL> create directory impdp_dir as 'D:\backup';
SQL> grant read,write on directory impdp_dir to ccense;
5. 在windows2008目录中创建目录D:\backup。
6、在DOS命令窗口导入:
把A服务器上导出的dmp文件放到B服务器的impdp_dir目录中,然后在B服务器的dos窗口执行导入命令:
impdp ccense/ccense@B_database DIRECTORY=impdp_dir
DUMPFILE=test.dmp logfile=testimpdp.log