ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【传输表空间】expdp/impdp方式传输表空间

【传输表空间】expdp/impdp方式传输表空间

原创 Linux操作系统 作者:sub8412 时间:2012-11-24 21:49:51 0 删除 编辑
1、同一台linux系统的两个实例测试,源odd,目标gc,版本10.2.0.1.0

源库 odd
SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
odd

SQL> select tablespace_name from dba_tablespaces;
TABLESPACE_NAME
------------------------------
SYSTEM
UNDOTBS
SYSAUX
TEMPTS1
USERS
TRANS

6 rows selected.

目的库 gc
SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
gc

SQL> select tablespace_name from dba_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
TEMP
USERS
MGMT_TABLESPACE
MGMT_ECM_DEPOT_TS
GC

8 rows selected.

迁移表空间为trans,TTS 操作的目标库上不能包含重名的表空间,如果有可以先对tablespace 进行rename。
查看源库 tran用户下的对象
SQL> conn tran/tran 
Connected.
SQL> select * from tab;

TNAME       TABTYPE CLUSTERID
------------------------------ ------- ----------
T1       TABLE

SQL> select count(*) from t1;

  COUNT(*)
----------
      1000
2、字符集检查
TTS的两端必须使用兼容的database character、national character sets

源库 odd
SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK

SQL> select * from database_properties where property_name like 'NLS_NCHAR_CHARACTERSET';

PROPERTY_NAME        PROPERTY_VALUE     DESCRIPTION
------------------------------ -------------------- --------------------
NLS_NCHAR_CHARACTERSET        AL16UTF16     NCHAR Character set

目的库 gc
SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK

SQL> select * from database_properties where property_name like 'NLS_NCHAR_CHARACTERSET';

PROPERTY_NAME        PROPERTY_VALUE     DESCRIPTION
------------------------------ -------------------- --------------------
NLS_NCHAR_CHARACTERSET        AL16UTF16     NCHAR Character set

3、源系统和目标系统是不同的endianness
--TTS仅支持在endian 格式一致的情况,那么必须先转换,让两端一致,本次测试为同一台机器。

检查方法:
SQL> select * from v$transportable_platform;
PLATFORM_ID PLATFORM_NAME  ENDIAN_FORMAT
----------- ------------------------------------ --------------
  1 Solaris[tm] OE (32-bit)  Big
  2 Solaris[tm] OE (64-bit)  Big
  7 Microsoft Windows IA (32-bit)  Little
 10 Linux IA (32-bit)  Little
  6 AIX-Based Systems (64-bit)  Big
  3 HP-UX (64-bit)  Big
  5 HP Tru64 UNIX  Little
  4 HP-UX IA (64-bit)  Big
 11 Linux IA (64-bit)  Little
 15 HP Open VMS   Little
  8 Microsoft Windows IA (64-bit)  Little
  9 IBM zSeries Based Linux  Big
 13 Linux 64-bit for AMD  Little
 16 Apple Mac OS  Big
 12 Microsoft Windows 64-bit for AMD  Little
 17 Solaris Operating System (x86)  Little
 18 IBM Power Based Linux  Big

17 rows selected.
4、检查表空间是否为自包含
--TTS 仅支持对象都在要传输的表空间里,表空间里的对象不能与其他表空间有逻辑上或者物理上的依赖关系。

使用TRANSPORT_SET_CHECK过程来检查表空间是否自包含,调用该过程需要EXECUTE_CATALOG_ROLE角色。
源库 odd
SQL> exec dbms_tts.transport_set_check('trans',true);

PL/SQL procedure successfully completed.

检查自包含的结果可以通过TRANSPORT_SET_VIOLATIONS视图查看,如果为空,就是自包含,如果不是自包含的,会列出这些对象。
SQL> select * from transport_set_violations;

no rows selected
5、将被传输的表空间设为只读后,expdp导出
SQL> create directory dump_dir as '/home/oracle/dump_dir';

Directory created.

SQL> grant read,write on directory dump_dir to tran;

Grant succeeded.
SQL> alter tablespace trans read only;

Tablespace altered.

SQL> exit

[oracle@odd dump_dir]$ expdp \"/ as sysdba\" directory=dump_dir TRANSPORT_TABLESPACES=trans nologfile=y

Export: Release 10.2.0.1.0 - Production on Monday, 12 November, 2012 16:13:28

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
Starting "SYS"."SYS_EXPORT_TRANSPORTABLE_01":  "/******** AS SYSDBA" directory=dump_dir TRANSPORT_TABLESPACES=trans nologfile=y 
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Master table "SYS"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYS.SYS_EXPORT_TRANSPORTABLE_01 is:
  /home/oracle/dump_dir/expdat.dmp
Job "SYS"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at 16:13:37
6、将导出的dmp文件导入目的库gc中,分别测试导入相同和不同用户下
[oracle@odd dump_dir]$ export ORACLE_SID=gc
SQL> create directory dump_dir as '/home/oracle/dump_dir';

Directory created.
SQL> create user tran identified by tran;

User created.

SQL> grant connect,resource to tran;

Grant succeeded.
SQL> create user test identified by test;

User created.

SQL> grant connect,resource to test;

Grant succeeded.
SQL> grant read,write on directory dump_dir to tran;

Grant succeeded.
SQL> grant read,write on directory dump_dir to test;

Grant succeeded.
[oracle@odd oradata]$ cp /home/oracle/oracle10g/oradata/odd/tran.dbf /home/oracle/oracle10g/oradata/gc/
[oracle@odd oradata]$ cp /home/oracle/oracle10g/oradata/odd/tran.dbf /home/oracle/oracle10g/oradata/gc/test.dbf
[oracle@odd dump_dir]$ impdp \"/ as sysdba\" directory=dump_dir DUMPFILE=expdat.dmp TRANSPORT_DATAFILES='/home/oracle/oracle10g/oradata/gc/tran.dbf' NOLOGFILE=y

Import: Release 10.2.0.1.0 - Production on Monday, 12 November, 2012 16:18:01

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
Master table "SYS"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded
Starting "SYS"."SYS_IMPORT_TRANSPORTABLE_01":  "/******** AS SYSDBA" directory=dump_dir DUMPFILE=expdat.dmp TRANSPORT_DATAFILES=/home/oracle/oracle10g/oradata/gc/tran.dbf NOLOGFILE=y 
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Job "SYS"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at 16:18:25
[oracle@odd dump_dir]$ impdp \"/ as sysdba\" directory=dump_dir DUMPFILE=expdat.dmp TRANSPORT_DATAFILES=/home/oracle/oracle10g/oradata/gc/test.dbf REMAP_SCHEMA=tran:test REMAP_TABLESPACE=trans:test nologfile=y

Import: Release 10.2.0.1.0 - Production on Monday, 12 November, 2012 16:57:52

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
Master table "SYS"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded
Starting "SYS"."SYS_IMPORT_TRANSPORTABLE_01":  "/******** AS SYSDBA" directory=dump_dir DUMPFILE=expdat.dmp TRANSPORT_DATAFILES=/home/oracle/oracle10g/oradata/gc/test.dbf REMAP_SCHEMA=tran:test REMAP_TABLESPACE=trans:test nologfile=y 
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Job "SYS"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at 16:58:07

7、在目标库gc中,将表空间置为读写模式
SQL> select tablespace_name,status from dba_tablespaces;

TABLESPACE_NAME       STATUS
------------------------------ ---------
SYSTEM       ONLINE
UNDOTBS1       ONLINE
SYSAUX       ONLINE
TEMP       ONLINE
USERS       ONLINE
MGMT_TABLESPACE       ONLINE
MGMT_ECM_DEPOT_TS       ONLINE
GC       ONLINE
TRANS        READ ONLY
TEST       READ ONLY

10 rows selected.
SQL> alter tablespace trans read write;

Tablespace altered.
SQL> alter tablespace test read write;

Tablespace altered.
SQL> select tablespace_name,status from dba_tablespaces;

TABLESPACE_NAME       STATUS
------------------------------ ---------
SYSTEM       ONLINE
UNDOTBS1       ONLINE
SYSAUX       ONLINE
TEMP       ONLINE
USERS       ONLINE
MGMT_TABLESPACE       ONLINE
MGMT_ECM_DEPOT_TS       ONLINE
GC       ONLINE
TRANS       ONLINE
TEST       ONLINE

10 rows selected.
SQL> select count(*) from test.t1;

  COUNT(*)
----------
      1000

SQL> select count(*) from tran.t1;

  COUNT(*)
----------
      1000

验证ok,祝好运


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/20553601/viewspace-749885/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-11-13

  • 博文量
    16
  • 访问量
    87350