首页 > 数据库 > Oracle > Oracle 传输表空间-EXPDP/IMPDP
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/ ,如需转载,请注明出处,否则将追究法律责任。