标签:oracle 表空间迁移
----源库 prod
SQL> select name from v$tablespace; NAME ------------------------------ SYSTEM SYSAUX UNDOTBS1 USERS TEMP TEMP1 TEST TEST1 EXPTEST 9 rows selected. SQL> select userenv(‘LANGUAGE‘) FROM DUAL; USERENV(‘LANGUAGE‘) ---------------------------------------------------- AMERICAN_AMERICA.AL32UTF8
---目标库 catdb
[oracle@ora11g ~]$ sqlplus sys/oracle@catdb as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Sat Jul 4 15:16:24 2015 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select name from v$tablespace; NAME ------------------------------ SYSTEM SYSAUX UNDOTBS1 USERS TEMP CATALOGTBS EXPTEST EXPTEST1 8 rows selected. SQL> select userenv(‘LANGUAGE‘) FROM dual; USERENV(‘LANGUAGE‘) ---------------------------------------------------- AMERICAN_AMERICA.AL32UTF8
--迁移源库prod test表空间到目标库catdb
-------检测tablespace 的自包含 prod
SQL> EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK(‘test‘,true); PL/SQL procedure successfully completed. SQL> SELECT * FROM TRANSPORT_SET_VIOLATIONS; no rows selected
--修改表空间为read only状态
SQL> alter tablespace test read only; Tablespace altered.
--使用数据泵传输表空间
[oracle@ora11g ~]$ expdp system/oracle@prod directory=dump dumpfile=expdp_tbs_test_%U.dmp logfile=ttbs.log TRANSPORT_TABLESPACES = test Export: Release 11.2.0.4.0 - Production on Sat Jul 4 20:17:48 2015 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options Starting "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01": system/********@prod directory=dump dumpfile=expdp_tbs_test_%U.dmp logfile=ttbs.log transport_tablespaces=test Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK Processing object type TRANSPORTABLE_EXPORT/TABLE Processing object type TRANSPORTABLE_EXPORT/TABLE_STATISTICS Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK Master table "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded ****************************************************************************** Dump file set for SYSTEM.SYS_EXPORT_TRANSPORTABLE_01 is: /ora_data/dump/expdp_tbs_test_01.dmp ****************************************************************************** Datafiles required for transportable tablespace TEST: /u01/app/oracle/oradata/prod/test02.dbf /u01/app/oracle/oradata/test01_new.dbf Job "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at Sat Jul 4 20:18:50 2015 elapsed 0 00:01:01
------将源库传输表空间的datafile 传送到另一个库上
SQL> select tablespace_name, file_name from dba_data_files; TABLESPACE_NAME FILE_NAME ------------------------------ -------------------------------------------------- USERS /u01/app/oracle/oradata/prod/users01.dbf UNDOTBS1 /u01/app/oracle/oradata/prod/undotbs01.dbf SYSAUX /u01/app/oracle/oradata/prod/sysaux01.dbf SYSTEM /u01/app/oracle/oradata/prod/system01.dbf TEST /u01/app/oracle/oradata/test01_new.dbf TEST /u01/app/oracle/oradata/prod/test02.dbf TEST1 /u01/app/oracle/oradata/prod/test1.dbf EXPTEST /u01/app/oracle/oradata/prod/exptest01.dbf EXPTEST1 /u01/app/oracle/oradata/prod/exptest101.dbf 9 rows selected. [oracle@ora11g ~]$ cp /u01/app/oracle/oradata/test01_new.dbf /u01/app/oracle/oradata/catdb/test01.dbf [oracle@ora11g ~]$ cp /u01/app/oracle/oradata/prod/test02.dbf /u01/app/oracle/oradata/catdb/test02.dbf
--在目标库上用impdp导入表空间
[oracle@ora11g ~]$ impdp system/oracle@catdb directory=dump dumpfile=expdp_tbs_test_%U.dmp TRANSPORT_DATAFILES=‘/u01/app/oracle/oradata/catdb/test01.dbf‘,‘/u01/app/oracle/oradata/catdb/test02.dbf‘ Import: Release 11.2.0.4.0 - Production on Sat Jul 4 20:29:22 2015 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options Master table "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded Starting "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01": system/********@catdb directory=dump dumpfile=expdp_tbs_test_%U.dmp TRANSPORT_DATAFILES=/u01/app/oracle/oradata/catdb/test01.dbf,/u01/app/oracle/oradata/catdb/test02.dbf Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK Processing object type TRANSPORTABLE_EXPORT/TABLE Processing object type TRANSPORTABLE_EXPORT/TABLE_STATISTICS Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at Sat Jul 4 20:29:28 2015 elapsed 0 00:00:06
--验证
[oracle@ora11g ~]$ sqlplus sys/oracle@catdb as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Sat Jul 4 20:34:55 2015 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select name from v$tablespace; NAME ------------------------------ SYSTEM SYSAUX UNDOTBS1 USERS TEMP CATALOGTBS EXPTEST EXPTEST1 TEST 9 rows selected. SQL> conn scott/oracle@catdb; Connected. SQL> select table_name, tablespace_name from user_tables where tablespace_name=‘TEST‘; TABLE_NAME TABLESPACE_NAME ------------------------------ ------------------------------ T1 TEST TEST TEST T6 TEST T3 TEST T1_OLD TEST EMPLOYEE TEST EMP TEST DEPT TEST 8 rows selected.
--最后记得把源库和目标库的test表空间设置为read write模式
SQL> conn / as sysdba Connected. SQL> select name from v$database; NAME --------- PROD SQL> alter tablespace test read write; Tablespace altered. SQL> conn sys/oracle@catdb as sysdba Connected. SQL> select name from v$database; NAME --------- CATDB SQL> alter tablespace test read write; Tablespace altered. SQL>
迁移最后完成O(∩_∩)O~
本文出自 “DBA的天空” 博客,请务必保留此出处http://kevinora.blog.51cto.com/9406404/1671325
标签:oracle 表空间迁移
原文地址:http://kevinora.blog.51cto.com/9406404/1671325