Oracle数据库逻辑迁移之数据泵的注意事项(2)

主要测试逻辑迁移的可行性,为之后正式停机时的操作奠定基础。
--创建目录(两端):
create directory xdump as '/public/xdump';
create directory xdump as '/public/xdump';

--expdp导出:
nohup expdp system/oracle schemas=JINGYU,LUDAN directory=xdump dumpfile=db1_zs_SCHEMA_%U.dmp logfile=expdp_db1_zs_SCHEMA.log PARALLEL=4 cluster=n &

--impdp导入:
nohup impdp system/oracle schemas=JINGYU,LUDAN directory=xdump REMAP_TABLESPACE=DBS_D_JINGYU:USERS,DBS_I_JINGYU:USERS,TEMP_JINGYU:TEMP table_exists_action=replace dumpfile=db1_zs_SCHEMA_%U.dmp logfile=impdp_db1_zs_SCHEMA.log parallel=4 cluster=n &

4.正式迁移过程

正式迁移需要做的事情:

4.1 锁定迁移的业务用户

4.2 杀掉业务会话

4.3 关闭job分别在两端

4.4 源端导出并传送

4.5 目标端准备并导入

4.6 创建public对象

4.7 解锁业务用户

4.8 目标端开启job

4.9 配合应用测试

--4.1 锁定迁移的业务用户
alter user JINGYU account lock;
alter user LUDAN account lock;

--4.2 杀掉业务会话
select * from v$session where username in ('JINGYU','LUDAN');
select 'alter system kill session ''' || sid || ',' || SERIAL# || ''';' from v$session where username in ('JINGYU','LUDAN');
ps -ef|grep LOCAL=NO|grep -v grep|xargs kill -9

--4.3 关闭job分别在两端
show parameter job_queue_process
SYS >alter system set job_queue_processes=0;

--4.4 源端导出并传送
nohup expdp system/oracle schemas=JINGYU,LUDAN directory=xdump dumpfile=db1_zs_SCHEMA_%U.dmp logfile=expdp_db1_zs_SCHEMA.log PARALLEL=4 cluster=n &

- 4.6 创建public对象
根据查询的public对象,直接创建即可。

- 4.7 解锁业务用户
在迁移升级失败,遭遇不可抗力,最终导致环境确实需要回退时才可以。
alter user JINGYU account unlock;
alter user LUDAN account unlock;

- 4.8 目标端开启job
SYS >alter system set job_queue_processes=1000;

- 4.9 配合应用测试

延伸MOS文档:

Oracle Server - Export DataPump and Import DataPump FAQ (文档 ID 556636.1)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/65a44850ea386c31c2aa038705e3311d.html