Oracle 11g r2 使用Data dump 从CentOS 迁移到Window 2012
来源:互联网 发布:不要怂就是干老头编程 编辑:程序博客网 时间:2024/05/02 09:06
****全库Expdp导出,再全库Impdp导入****
源系统:操作系统:CentOSOracle数据库版本:Oracle11g Enterprise Edition Release 11.2.0.1.0SID:orcl端口:1521
目标系统:操作系统:Windows 2012Oracle数据库版本:Oracle11g Enterprise Edition Release 11.2.0.1.0SID:orcl端口:1521
源系统和目标系统都建立账号
create user username identified by password;grant connect,resoure to username;
赋予expdp和impdp命令权限:
grant exp_full_database,imp_full_database to username;
SQL> create user migrate identified by migrate;User created
SQL> grant connect,resource,dba to migrate;Grant succeeded
SQL> grant exp_full_database,imp_full_database to migrate;Grant succeeded
SQL> select * from dba_directories;OWNER DIRECTORY_NAME DIRECTORY_PATH------------------------------ ------------------------------ --------------------------------------------------------------------------------SYS ORACLE_OCM_CONFIG_DIR /oracle/app/product/11.2.0/dbhome_1/ccr/stateSYS DATA_PUMP_DIR /oracle/app/admin/orcl/dpdump/SYS XMLDIR /ade/b/2125410156/oracle/rdbms/xml
Step 1: 在源系统上创建目录
create directory DPDMP as '/oracle/app/admin/orcl/dpdmp/'; --该目录必须是已经存在的目录(该目录应该用oracle用户创建),否则会报错
SQL> select * from dba_directories;OWNER DIRECTORY_NAME DIRECTORY_PATH------------------------------ ------------------------------ --------------------------------------------------------------------------------SYS ORACLE_OCM_CONFIG_DIR /oracle/app/product/11.2.0/dbhome_1/ccr/stateSYS DATA_PUMP_DIR /oracle/app/admin/orcl/dpdump/SYS DPDMP /oracle/app/admin/orcl/dpdmp/SYS XMLDIR /ade/b/2125410156/oracle/rdbms/xml
Step 2: 赋予账号对该目录的权限
grant read,write on directory DPDMP to username;
Step 3: 在源系统端expdp(基于某个用户)
expdp username/password@orcl directory= DPDMP dumpfile=XX_schema%U.dmp logfile=XX_schema.log schemas=XX_schema
或者导出整个库:
expdp username/password@orcl directory= DPDMP dumpfile=all%U.dmp logfile=XX_schema.log parallel=10 full=y
Step 4:将源系统的directory/XX_schema%U.dmp文件拷贝到目标系统
这步骤省略
Step 5: 在目标系统上创建目录
create directory DPDMP as 'E:\oracle\app\Administrator\admin\orcl\dpdmp'; --该目录必须是已经存在的目录,否则会报错
Step 6: 赋予权限
grant read,write on directory impdp to username;
Step 7: 在目标系统端impdp
impdp username/password@orcl directory= DPDMP dumpfile=XX_schema%U.dmp logfile=XX_schema.log schemas=XX_schema或导入整个库:impdp username/password@orcl directory= DPDMP dumpfile=all%U.dmp logfile=XX_schema.log parallel=10 full=yimpdp migrate/migrate@orcl directory=dpdmp dumpfile=migrate_full.dmp logfile=migrate_imp_full.log full=y parfile=e:\payroll.par parallel=10 payroll.par放到directory impdp目录下或放到E盘根目录:payroll.par文件内容remap_datafile="'/oracle/app/oradata/orcl/XXX.dbf':'E:\ORACLE\APP\ADMINISTRATOR\ORADATA\ORCL\XXX.DBF'"remap_datafile="'/oracle/app/oradata/orcl/XXX.dbf':'E:\ORACLE\APP\ADMINISTRATOR\ORADATA\ORCL\XXX.DBF'"remap_datafile="'/oracle/app/oradata/orcl/XXX.dbf':'E:\ORACLE\APP\ADMINISTRATOR\ORADATA\ORCL\XXX.DBF'"
> 以下为迁移中可能使用到
- 如果需要从linux到window的导入导出,最好是先创建表空间及数据文件
表空间DDL:
select ts.tablespace_name,to_char(dbms_metadata.get_DDl('TABLESPACE',ts.tablespace_name))from dba_tablespaces ts;
- 用户DDL:
select username,default_tablespace,temporary_tablespace,profile,dbms_metadata.get_DDl('USER',username) from dba_users where account_status='OPEN' ;
- 记录数:
select table_name, count_rows(table_name) nrows from user_tables ;
- 查看当前导入的job :
select * from dba_datapump_jobs;
如果impdp过程中异常退出后,要从中断处继续导入执行如下:
impdp migrate/migrate@orcl attach=JOB_NAME (JOB_NAME可以通过dba_datapump_jobs来查询)
比如:> impdp mig_test/mig_test attach=SYS_IMPORT_TABLE_02Import status/continue_client 返回记录模式/stop_job YES/
交互模式常用命令:
CONTINUE_CLIENT返回到记录模式。假如处于空闲状态, 将重新启动作业。
START_JOB 启动恢复当前作业。
STATUS在默认值 (0) 将显示可用时的新状态的情况下,要监视的频率 (以秒计) 作业状态。
STATUS=[interval]
STOP_JOB顺序关闭执行的作业并退出客户机。
STOP_JOB=IMMEDIATE 将立即关闭数据泵作业。如果全库导入的时候会暂停卡在那里
可以查diag\rdbms\orcl\orcl\trace\alert_orcl.log查看日志,针对当前问题解决掉后,impdp会继续
如果是ORA-19815: WARNING: db_recovery_file_dest_size of 4039114752 bytes is 100.00% used, and has 0 remaining bytes available.
就需要将db_recovery_file_dest_size调大:
SQL> alter system set db_recovery_file_dest_size=50G scope=spfile(需要重启数据库生效) SQL> shutdown immediate; SQL> startup; SQL> show parameter db_recovery_file_destNAME TYPE VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest string E:\oracle\app\Administrator\flash_recovery_areadb_recovery_file_dest_size big integer 50G
参考网上各位的技术文档,谢谢各位!
http://www.2cto.com/database/201308/238174.html
http://blog.itpub.net/26839123/viewspace-734463/
http://blog.chinaunix.net/uid-23622436-id-2394094.html
http://blog.csdn.net/giianhui/article/details/7788550
http://www.itpub.net/forum.php?mod=viewthread&tid=1786140&page=1
http://blog.csdn.net/tianlesoftware/article/details/6260138
http://blog.itpub.net/29337971/viewspace-1097072/
http://www.osyunwei.com/archives/5943.html
http://blog.chinaunix.net/uid-27126319-id-3676382.html
- Oracle 11g r2 使用Data dump 从CentOS 迁移到Window 2012
- Oracle 11g r2 使用Data dump 从CentOS 迁移到Window 10
- oracle 11g 从+DATA迁移到+newdata ASM 磁盘组迁移
- Oracle 10g R2升级到Oracle 11g R2
- oracle数据库从9i迁移到11g
- Oracle 11g R2 for CentOS 6.4
- CentOS的 Oracle 11g R2安装
- CentOS 安装Oracle 11g R2
- CentOS 安装Oracle 11g R2
- CentOS 安装Oracle 11g R2
- CentOS静默安装Oracle 11g r2
- centos 6.8 安装 oracle 11g r2
- window 2008 64位,安装Oracle 11g R2,使用PLSQL Developer的解决办法
- 数据迁移:从sql2008到oracle 10g
- oracle 11g迁移数据库到oracle 10g
- oracle 11g 迁移到oracle 10g
- 使用带dblink方式的datapump迁移Oracle 10g到11g
- CentOS 5.5上安装配置oracle 11g R2
- commons-codec使用介绍
- PAT1019数字黑洞 (20)
- 汇编语言学习第二章-寄存器
- 修改jar的包名
- C#之结构struct(转)
- Oracle 11g r2 使用Data dump 从CentOS 迁移到Window 2012
- win10管理员帐户被禁用
- VC MFC SDI/MDI框架各部分指针获取方式
- 两非负整数的高精度加减乘除模C++模板
- algrothm_斐波那契数列(0,1,1,2,3,5)【循环】
- Android 使用命令模拟sdcard相关行文
- 推荐系统论文总结
- 更改tomcat配置,解决中文乱码,记录一下
- Android studio 使用 Genymotion问题集锦