Transport_Tablespace-EXP/IMP
通过传输表空间(EXP/IMP方式)将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.
五 通过exp工具导出所要传输表空间的原数据
[oracle@ogg1 ~]$ exp "'sys/oracle as sysdba'" file=chenjc.dmp log=chenjc.log transport_tablespace=y tablespaces=chenjc
Export: Release 11.2.0.3.0 - Production on Mon Aug 3 09:40:25 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
Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set
Note: table data (rows) will not be exported
About to export transportable tablespace Metadata...
For tablespace CHENJC ...
. exporting cluster deFinitions
. exporting table deFinitions
. . exporting table T1
. exporting referential integrity constraints
. exporting triggers
. end transportable tablespace Metadata export
Export terminated successfully without warnings.
/*双引号+单引号*/
/*
模拟平台转换(同一平台传输不需要这步)
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 ~]$ scp chenjc.dmp 192.168.3.198:/home/oracle/
[oracle@ogg1 ~]$ 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--r-- 1 oracle oinstall 16K Aug 3 09:43 chenjc.dmp
-rw-r----- 1 oracle oinstall 31M Aug 3 09:44 chenjc01.dbf
......
七 目标数据库创建用户,指定表空间(目标数据库不能有和将要传输表空间同名的表空间)
sql> create user chenjc identified by chenjc default tablespace users;
User created.
sql> grant connect,resource,dba to chenjc;
Grant succeeded.
八 通过imp工具导入表空间
[oracle@ogg2 orcl]$ imp "'sys/oracle as sysdba'" file=chenjc.dmp log=chenjc.log
tablespaces=chenjc datafiles='/u01/app/oracle/oradata/orcl/chenjc01.dbf' transport_tablespace=y
Import: Release 11.2.0.3.0 - Production on Mon Aug 3 10:14:15 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
Export file created by EXPORT:V11.02.00 via conventional path
About to import transportable tablespace(s) Metadata...
import done in ZHS16GBK character set and AL16UTF16 NCHAR character set
. importing SYS's objects into SYS
. importing SYS's objects into SYS
. importing CHENJC's objects into CHENJC
. . importing table "T1"
. importing SYS's objects into SYS
Import terminated successfully without warnings.
/*datafiles必须绝对路径*/
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 hh34: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