ITPub博客

首页 > 数据库 > Oracle > Oracle 传输表空间-EXPDP/IMPDP

Oracle 传输表空间-EXPDP/IMPDP

原创 Oracle 作者:chenoracle 时间:2015-08-03 14:41:43 0 删除 编辑

Transport_Tablespace-EXPDP/IMPDP

 

将 192.168.3.199 数据库下, chenjc 用户下的 t1 表,导入到 192.168.3.198 数据库下, chenjc 用户下;

 

一 查看操作系统版本,数据库版本

192.168.3.199

[oracle@ogg1 ~]$ cat /etc/issue

Oracle Linux Server release 6.3

 

SQL> select * from v$version where rownum<=2;

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

PL/SQL Release 11.2.0.3.0 - Production

 

192.168.3.198

[oracle@ogg2 orcl]$ cat /etc/issue

Oracle Linux Server release 6.3

 

SQL> select * from v$version where rownum<=2;

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

PL/SQL Release 11.2.0.3.0 - Production

 

 

二 创建测试表空间,测试用户,测试表

192.168.3.199

 

SQL> create tablespace chenjc datafile '/u01/app/oracle/oradata/orcl/chenjc01.dbf' size 30m autoextend on;

Tablespace created.

 

SQL> create user chenjc identified by chenjc default tablespace chenjc;

User created.

 

SQL> grant connect,resource,dba to chenjc;

Grant succeeded.

 

SQL> conn chenjc/chenjc

Connected.

 

SQL> create table t1 as select level id,sysdate as t_date from dual connect by level<=100000;

Table created.

 

三 检查准备迁移的表空间是否自包含

SQL> conn /as sysdba

Connected.

 

SQL> execute dbms_tts.transport_set_check(ts_list=>'CHENJC',incl_constraints=>TRUE);

PL/SQL procedure successfully completed.

 

SQL> select * from transport_set_violations;

 

no rows selected

/* 无返回记录,说明符合传输表空间条件*/

 

四 设置准备传输的表空间为只读

SQL> alter tablespace chenjc read only;

Tablespace altered.

 

五 通过 expdp 工具导出说要传输表空间的原数据

[oracle@ogg1 ~]$ mkdir dir_dp

 

SQL> create directory dir_dp as '/home/oracle/dir_dp';

Directory created.

 

SQL> grant read,write on directory dir_dp to chenjc;

Grant succeeded.

 

[oracle@ogg1 ~]$ expdp system/oracle dumpfile=chenjc_01.dmp directory=dir_dp transport_tablespaces=chenjc logfile=chenjc_01.log

 

Export: Release 11.2.0.3.0 - Production on Mon Aug 3 11:11:26 2015

 

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

 

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

Starting "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01":  system/******** dumpfile=chenjc_01.dmp directory=dir_dp transport_tablespaces=chenjc logfile=chenjc_01.log

Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK

Processing object type TRANSPORTABLE_EXPORT/TABLE

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:

  /home/oracle/dir_dp/chenjc_01.dmp

******************************************************************************

Datafiles required for transportable tablespace CHENJC:

  /u01/app/oracle/oradata/orcl/chenjc01.dbf

Job "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at 11:11:51

 

/*

模拟平台转换(同一平台传输不需要这步)

SQL> col platform_name for a35

SQL> select * from v$transportable_platform order by platform_id;

RMAN>convert tablespace "TESTSPACE" to platform 'Microsoft Windows IA (32-bit)' format 'd:\TESTSPACE01.DBF'  --这个是转换的目标地址

*/

 

六 将数据库文件和导出的表空间原文件复制到 192.168.3.198 服务器

[oracle@ogg1 ~]$ cd dir_dp/

[oracle@ogg1 dir_dp]$ scp chenjc_01.dmp 192.168.3.198:/home/oracle/

[oracle@ogg1 dir_dp]$ scp /u01/app/oracle/oradata/orcl/chenjc01.dbf 192.168.3.198:/home/oracle/

 

192.168.3.198

[oracle@ogg2 ~]$ mv chenjc* /u01/app/oracle/oradata/orcl/

[oracle@ogg2 ~]$ cd /u01/app/oracle/oradata/orcl/

[oracle@ogg2 orcl]$ ll -rth

......

-rw-r----- 1 oracle oinstall  88K Aug  3 11:13 chenjc_01.dmp

-rw-r----- 1 oracle oinstall  31M Aug  3 11:13 chenjc01.dbf

......

 

七 目标数据库创建用户,指定表空间 ( 目标数据库不能有和将要传输表空间同名的表空间 )

SQL> create user chenjc identified by chenjc default tablespace users;

User created.

 

SQL> grant connect,resource,dba to chenjc;

Grant succeeded.

 

八 通过 impdp 工具导入表空间

[oracle@ogg2 orcl]$ mkdir ddir_dp

[oracle@ogg2 orcl]$ mv chenjc_01.dmp ddir_dp/

SQL> create directory ddir_dp as '/u01/app/oracle/oradata/orcl/ddir_dp';

Directory created.

 

SQL> grant read,write on directory ddir_dp to chenjc;

Grant succeeded.

 

[oracle@ogg2 ddir_dp]$ impdp system/oracle dumpfile=chenjc_01.dmp directory=ddir_dp transport_datafiles='/u01/app/oracle/oradata/orcl/chenjc01.dbf' logfile=chenjc_01.log

 

Import: Release 11.2.0.3.0 - Production on Mon Aug 3 11:26:53 2015

 

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

 

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.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/******** dumpfile=chenjc_01.dmp directory=ddir_dp transport_datafiles=/u01/app/oracle/oradata/orcl/chenjc01.dbf logfile=chenjc_01.log

Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK

Processing object type TRANSPORTABLE_EXPORT/TABLE

Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK

Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at 11:27:02

 

九 修改用户默认表空间

SQL> alter user chenjc default tablespace chenjc;

User altered.

 

十 查看

SQL> select name from v$dbfile;

NAME

--------------------------------------------------------------------------------

/u01/app/oracle/oradata/orcl/system.dbf

/u01/app/oracle/oradata/orcl/sysaux.dbf

/u01/app/oracle/oradata/orcl/undotbs01.dbf

/u01/app/oracle/oradata/orcl/user01.dbf

/u01/app/oracle/oradata/orcl/ggm01.dbf

/u01/app/oracle/oradata/orcl/chenjc01.dbf

 

6 rows selected.

 

SQL> conn chenjc/chenjc

SQL> select id,to_char(t_date,'yyyy-mm-dd hh24:mi:ss') from t1 where rownum<=3;

 

        ID TO_CHAR(T_DATE,'YYY

---------- -------------------

         1 2015-08-03 09:27:01

         2 2015-08-03 09:27:01

         3 2015-08-03 09:27:01

欢迎关注我的微信公众号"IT小Chen",共同学习,共同成长!!!



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

请登录后发表评论 登录
全部评论
Oracle ACE、OCMU 用户组成员、Oracle 11g OCM、微信公众号"IT小Chen"

注册时间:2014-08-05

  • 博文量
    853
  • 访问量
    2727926