一.1 BLOG文档结构图
一.2 前言部分
一.2.1 导读和注意事项
各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~:
① 异构平台下传输表空间的实施
② 传输表空间基于表空间的read only和rman2种方式
③ 平台字节序、自包含概念
④ expdp/impdp的应用
Tips:
① 若文章代码格式有错乱,推荐使用搜狗或360浏览器,也可以下载pdf格式的文档来查看,pdf文档下载地址:http://yunpan.cn/cdEQedhCs2kFz (提取码:ed9b)
② 本篇BLOG中命令的输出部分需要特别关注的地方我都用灰色背景和粉红色字体来表示,比如下边的例子中,thread 1的最大归档日志号为33,thread 2的最大归档日志号为43是需要特别关注的地方;而命令一般使用黄色背景和红色字体标注;对代码或代码输出部分的注释一般采用蓝色字体表示。
List of Archived Logs in backup set 11
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- ------------------- ---------- ---------
1 32 1621589 2015-05-29 11:09:52 1625242 2015-05-29 11:15:48
1 33 1625242 2015-05-29 11:15:48 1625293 2015-05-29 11:15:58
2 42 1613951 2015-05-29 10:41:18 1625245 2015-05-29 11:15:49
2 43 1625245 2015-05-29 11:15:49 1625253 2015-05-29 11:15:53
[ZFXDESKDB1:root]:/>lsvg -o
T_XDESK_APP1_vg
rootvg
[ZFXDESKDB1:root]:/>
00:27:22 SQL> alter tablespace idxtbs read write;
====》2097152*512/1024/1024/1024=1G
本文如有错误或不完善的地方请大家多多指正,ITPUB留言或QQ皆可,您的批评指正是我写作的最大动力。
一.2.2 相关参考文章链接
其他异构平台迁移的一些文章参考:
【推荐】 oracle 异构平台迁移之传输表空间一例 http://blog.itpub.net/26736162/viewspace-1391913/
【推荐】 oracle 传输表空间一例 http://blog.itpub.net/26736162/viewspace-1375260/
【推荐】 利用rman来实现linux平台数据库复制到windows平台数据库http://blog.itpub.net/26736162/viewspace-1352436/
【推荐】 直接复制数据文件实现linux平台数据库复制到windows平台数据库http://blog.itpub.net/26736162/viewspace-1352243/
【TTS】传输表空间Linux asm -> AIX asm http://blog.itpub.net/26736162/viewspace-1987949/
一.3 相关知识点扫盲
可传输表空间的特性主要用于进行库对库的表空间复制,要进行传输的表空间必须置于read-only模式。如果生产库不允许表空间置为只读模式,没关系,方法还是有的,通过RMAN备份也可以创建可传输表空间集。要使用可传输表空间的特性,oracle至少是8i企业版或更高版本。如果是相同操作系统平台相互导入,则8i及以上版本均可支持,但如果是不同操作系统平台,数据库版本至少10g。被传输的表空间即可以是字典管理,也可以是本地管理。并且自oracle9i开始,被传输表空间的block size可以与目标数据库的block size不同。
可传输表空间(还有个集)最大的优势是其速度比export/import或unload/load要快的多。因为可传输表空间主要是复制数据文件到目标路径,然后再使用export/import或Data Pump export/import等应用仅导出/导入表空间对象的元数据到新数据库。
关于可传输表空间,还有个集(Transportable Tablespace Sets)的创建,其中都提到了很重要一点,就是被传输的表空间在传输过程中必须置为 read-only。而在实际操作过程中,对于某些生产数据库,将表空间置为 read-only 是件非常复杂的事情甚至完全不允许,有了 RMAN 的 Transportable Tablespace,这一切都得以避免。RMAN 通过备份创建可传输表空间集,它并不需要存取活动的数据文件,相应也就不需要将表空间置为 read-only。因此,数据库可用性得到提升,尤其对于超大的表空间,因为被传输的表空间在此期间仍可进行读写操作,而且把表空间置为 read-only 模式可能会花费较长时间,
使用 RMAN 创建可传输表空间集,允许你在传输过程中指定目标恢复时间点或 SCN,这样传输的数据可以更灵活,不必完全复制现有表空间,只要备份中存在,你就可以选择性的恢复数据。例如,你的备份策略为保留一周,你希望创建的可传输表空间中数据是截止本月底最后一天的数据,那么你在下个月第一周内任何时候都可以进行传输操作而不需要考虑这期间生产库是否会有写入操作。
一.3.1 注意事项
☞ 注意:
① source和target database的数据库版本最好一致,否则会因为db time zone 不一致导致报如下错误,但是如果source大于等于target的话是可以的,向下兼容的
ORA-39002: invalid operation
ORA-39322: Cannot use transportabletablespace with timestamp with timezone columns and different timezone version.
② source和target端的字符集必须一致,例如如下情况报错:
source为 ZHS16GBK,target为AL32UTF8
ORA-39123: Data Pump transportable tablespace job aborted
ORA-29345: cannot plug a tablespace into a database using an incompatible character set
Tartget db char set AL32UTF8 is not a superset of ZHS16GBK.
Failed to plug in a tablespace due to incompatible
database character set"AL32UTF8" and
transportable set database character set "ZHS16GBK"
③ source和target database的compatible 参数最好一致,但source如果小于等于target端的话是可以的,例如source为11.2.0.4.0,target为11.2.0.0.0就不行,impdp的时候报错:
ORA-39123: Data Pump transportable tablespace job aborted
ORA-00721: changes by release 11.2.0.4.0 cannot be used by release 11.2.0.0.0
一.4 实验部分
一.4.1 实验环境介绍
项目 |
source db |
target db |
db 类型 |
单实例 |
单实例 |
db version |
11.2.0.3 |
11.2.0.4 |
db 存储 |
ASM |
ASM |
ORACLE_SID |
orclasm |
ora2lhr |
db_name |
orclasm |
ora2lhr |
主机IP地址: |
192.168.59.30 |
22.188.194.66 |
OS版本及kernel版本 |
RHEL6.5 64位,2.6.32-504.16.2.el6.x86_64 |
AIX 64位 7.1.0.0 |
OS hostname |
rhel6_lhr |
ZFXDESKDB2 |
platform_name |
Linux x86 64-bit |
AIX-Based Systems (64-bit) |
db time zone |
14 |
14 |
compatible |
11.2.0.0.0 |
11.2.0.4.0 |
字符集 |
ZHS16GBK |
ZHS16GBK |
归档模式 |
Archive Mode |
Archive Mode |
一.4.2 实验目标
要实现将自定义的应用程序表空间app1tbs,app2tbs,idxtbs从源平台传递到目标平台,而在实际的工作过程中,需要将AIX上的数据库迁移到Linux,或者将Linux上的数据库迁移到AIX上,除了exp/imp和expdp/impdp外,最常用的就是传输表空间了,若是整个库迁移的话,我们需要做的就是把业务用户和业务表空间的数据迁移过来就行,Undo、temp、system等等的就不用迁移了,整个处理过程和本文档的处理过程大同小异,需要关注的是业务对象的个数、大小、状态等。
一.4.3 实验过程
-------------------------------------------------------------------------------------------------------------
一.5 source端环境准备
一.5.1 在源库上创建3个用户应用的表空间
[oracle@rhel6_lhr ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on 星期日 1月 31 23:34:27 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
23:34:27 SQL> create tablespace app1tbs datafile '+DATA' size 10m;
表空间已创建。
已用时间: 00: 00: 07.60
23:34:42 SQL> create tablespace app2tbs datafile '+DATA' size 10m;
表空间已创建。
已用时间: 00: 00: 27.25
23:35:53 SQL> create tablespace idxtbs datafile '+DATA' size 10m;
表空间已创建。
已用时间: 00: 00: 09.45
23:36:09 SQL> set line 9999 pagesize 9999
23:36:12 SQL> SELECT a.NAME, b.NAME FROM vtablespacea,vtablespacea,vdatafile b WHERE a.TS#=b.TS# ;
NAME NAME
----------------------- -------------------------------------------------------------------------------
SYSTEM +DATA/orclasm/datafile/system.256.850260145
SYSAUX +DATA/orclasm/datafile/sysaux.257.850260145
UNDOTBS1 +DATA/orclasm/datafile/undotbs1.258.851526539
USERS +DATA/orclasm/datafile/users.259.850260147
EXAMPLE +DATA/orclasm/datafile/example.265.850260295
APP1TBS +DATA/orclasm/datafile/app1tbs.268.902619275
APP2TBS +DATA/orclasm/datafile/app2tbs.280.902619327
TS_LHR +DATA/orclasm/datafile/ts_lhr.269.852632495
ENCRYPTED_TS +DATA/orclasm/datafile/encrypted_ts.272.854650889
GOLDENGATE +DATA/orclasm/datafile/goldengate.273.862829891
IDXTBS +DATA/orclasm/datafile/idxtbs.281.902619361
TS_LHR +DATA/orclasm/datafile/ts_lhr.284.869738273
USERS +FRA/orclasm/datafile/users.449.880121199
SYSTEM +FRA/orclasm/datafile/system.349.880121287
已选择14行。
已用时间: 00: 00: 00.80
23:36:21 SQL>
一.5.2 在相应的表空间创建表和索引
23:36:21 SQL> create user user_app1 identified by user_app1 default tablespace app1tbs;
用户已创建。
已用时间: 00: 00: 00.14
23:40:13 SQL> create user user_app2 identified by user_app2 default tablespace app1tbs;
用户已创建。
已用时间: 00: 00: 00.35
23:43:51 SQL> create user user_app2 identified by user_app2 default tablespace app2tbs;
用户已创建。
已用时间: 00: 00: 02.72
23:43:56 SQL> grant connect,resource to user_app1;
授权成功。
已用时间: 00: 00: 00.06
23:44:50 SQL> grant connect,resource to user_app2;
授权成功。
已用时间: 00: 00: 00.00
23:44:52 SQL> create table user_app1.app1_tab tablespace app1tbs as select * from scott.emp;
表已创建。
已用时间: 00: 00: 01.02
23:45:09 SQL> create table user_app2.app2_tab tablespace app2tbs as select * from scott.dept;
表已创建。
已用时间: 00: 00: 00.23
23:45:27 SQL> create index user_app1.idx_emp_ename on user_app1.app1_tab(ename) tablespace idxtbs;
索引已创建。
已用时间: 00: 00: 00.25
23:45:51 SQL> create index user_app2.idx_dept_dname on user_app2.app2_tab(dname) tablespace idxtbs;
索引已创建。
已用时间: 00: 00: 00.01
23:46:13 SQL>
一.6 判断平台支持并确定字节序
如果传输表空间集到不同的平台,则要确定对于源和目标平台这种跨平台表空间被支持,也要确定每个平台的字节序,如果平台具有相同的字节序,则不需要进行转化,否则必须做一个表空间集转化,在源端或目标端。
一.6.1 在源平台查询
23:46:13 SQL> col platform_name for a40
23:48:55 SQL> select d.platform_name,tp.endian_format from vtransportableplatformtp,vtransportableplatformtp,vdatabase d where tp.platform_name=d.platform_name;
PLATFORM_NAME ENDIAN_FORMAT
---------------------------------------- --------------
Linux x86 64-bit Little
已用时间: 00: 00: 00.19
23:49:13 SQL>
结论:当前的系统平台支持跨平台表空间传输(因为上面的查询有记录返回)
一.6.2 在目标平台查询
[ZFXDESKDB2:oracle]:/oracle>ORACLE_SID=ora2lhr
[ZFXDESKDB2:oracle]:/oracle>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Mon Feb 1 13:47:14 2016
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, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SYS@ora2lhr> col platform_name for a40
SYS@ora2lhr> select d.platform_name,tp.endian_format from vtransportableplatformtp,vtransportableplatformtp,vdatabase d where tp.platform_name=d.platform_name;
PLATFORM_NAME ENDIAN_FORMAT
---------------------------------------- ----------------------------
AIX-Based Systems (64-bit) Big
结论: 当前的AIX平台支持跨平台的表空间传输
源平台和目标平台的Endian_format 不同,source端为Little,target端为Big,所以需要进行表空间集转换,前边说过在源端或目标端都可以进行转换,这里我们选择在目标端来进行转换。
一.7 选择自包含的表空间集
一.7.1 进行检查
Indicates whether a full or partial dependency check is required. If TRUE, treats all IN and OUT pointers(dependencies) and captures them as violations if they are not self-contained in the transportable set.
先试试要传输app1tbs和idxtbs这2个表空间:
SQL> execute dbms_tts.transport_set_check('app1tbs,idxtbs',true);
PL/SQL procedure successfully completed.
一.7.2 查看检查结果
SQL> col violations for a70
23:50:53 SQL> select * from transport_set_violations;
VIOLATIONS
-------------------------------------------------------------------------------------------------------------------------------------------
ORA-39907: 索引 USER_APP2.IDX_DEPT_DNAME (在表空间 IDXTBS 中) 指向表 USER_APP2.APP2_TAB (在表空间 APP2TBS 中)。
已用时间: 00: 00: 00.18
23:51:14 SQL>
结论: 在idxtbs表空间中IDX_DEPT_DNAME索引指向了表空间集外的SYS.APP2_TAB表,所以这里选择app1tabs,app2tabs,idxtbs作为新的表空间集再次进行检查
23:51:14 SQL> execute dbms_tts.transport_set_check('app1tbs,app2tbs,idxtbs',true);
PL/SQL 过程已成功完成。
已用时间: 00: 00: 07.24
23:52:14 SQL> select * from transport_set_violations;
未选定行
已用时间: 00: 00: 00.00
23:52:54 SQL>
结论: 此时这个表空间集已经不在违背自包含的条件,可以确定为一个可传输表空间集
一.8 产生可传输表空间集
一.8.1 rman全备份
对源数据库执行备份,在执行备份时一定要加上include current controlfile否则执行transport tablespace命令时会出现以下错误信息:
Automatic instance removed
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of tranport tablespace command at 03/26/2015 20:24:22
RMAN-03015: error occurred in stored script Memory Script
RMAN-06026: some targets not found - aborting restore
RMAN-06024: no backup or copy of the control file found to restore
[oracle@rhel6_lhr orclasm]$ rman target /
恢复管理器: Release 11.2.0.3.0 - Production on 星期一 2月 1 22:05:43 2016
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
已连接到目标数据库: ORCLASM (DBID=3424884828)
RMAN> list backup;
说明与资料档案库中的任何备份都不匹配
RMAN> backup as backupset database format '/u05/oracle/oracle_bk/orclasm/full_%n_%T_%t_%s_%p.bak' include current controlfile plus archivelog delete input;
启动 backup 于 2016-02-01 22:11:24
当前日志已存档
使用通道 ORA_DISK_1
使用通道 ORA_DISK_2
通道 ORA_DISK_1: 正在启动归档日志备份集
通道 ORA_DISK_1: 正在指定备份集内的归档日志
输入归档日志线程=1 序列=2400 RECID=2409 STAMP=898694914
输入归档日志线程=1 序列=2401 RECID=2410 STAMP=898702456
输入归档日志线程=1 序列=2402 RECID=2411 STAMP=898703657
输入归档日志线程=1 序列=2403 RECID=2412 STAMP=898703964
输入归档日志线程=1 序列=2404 RECID=2413 STAMP=898705171
输入归档日志线程=1 序列=2405 RECID=2414 STAMP=898705314
输入归档日志线程=1 序列=2406 RECID=2415 STAMP=898707838
通道 ORA_DISK_1: 正在启动段 1 于 2016-02-01 22:12:08
通道 ORA_DISK_2: 正在启动归档日志备份集
通道 ORA_DISK_2: 正在指定备份集内的归档日志
输入归档日志线程=1 序列=2407 RECID=2416 STAMP=898708044
输入归档日志线程=1 序列=2408 RECID=2417 STAMP=902613950
输入归档日志线程=1 序列=2409 RECID=2418 STAMP=902614593
输入归档日志线程=1 序列=2410 RECID=2419 STAMP=902618226
输入归档日志线程=1 序列=2411 RECID=2420 STAMP=902699234
输入归档日志线程=1 序列=2412 RECID=2421 STAMP=902700168
输入归档日志线程=1 序列=2413 RECID=2422 STAMP=902700702
通道 ORA_DISK_2: 正在启动段 1 于 2016-02-01 22:12:38
通道 ORA_DISK_1: 已完成段 1 于 2016-02-01 22:12:47
段句柄=/home/oracle/oracle_bk/orclasm/q9qss7lj_1_1_ORCLASM.bak 标记=TAG20160201T221152 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:39
通道 ORA_DISK_2: 已完成段 1 于 2016-02-01 22:13:17
段句柄=/home/oracle/oracle_bk/orclasm/qaqss7lp_1_1_ORCLASM.bak 标记=TAG20160201T221152 注释=NONE
通道 ORA_DISK_2: 备份集已完成, 经过时间:00:00:39
完成 backup 于 2016-02-01 22:13:17
启动 backup 于 2016-02-01 22:13:22
使用通道 ORA_DISK_1
使用通道 ORA_DISK_2
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
输入数据文件: 文件号=00033 名称=+FRA/orclasm/datafile/users.449.880121199
输入数据文件: 文件号=00002 名称=+DATA/orclasm/datafile/sysaux.257.850260145
输入数据文件: 文件号=00001 名称=+DATA/orclasm/datafile/system.256.850260145
输入数据文件: 文件号=00005 名称=+DATA/orclasm/datafile/example.265.850260295
输入数据文件: 文件号=00008 名称=+DATA/orclasm/datafile/ts_lhr.269.852632495
输入数据文件: 文件号=00014 名称=+DATA/orclasm/datafile/ts_lhr.284.869738273
输入数据文件: 文件号=00034 名称=+FRA/orclasm/datafile/system.349.880121287
通道 ORA_DISK_1: 正在启动段 1 于 2016-02-01 22:13:40
通道 ORA_DISK_2: 正在启动全部数据文件备份集
通道 ORA_DISK_2: 正在指定备份集内的数据文件
输入数据文件: 文件号=00004 名称=+DATA/orclasm/datafile/users.259.850260147
输入数据文件: 文件号=00003 名称=+DATA/orclasm/datafile/undotbs1.258.851526539
输入数据文件: 文件号=00010 名称=+DATA/orclasm/datafile/goldengate.273.862829891
输入数据文件: 文件号=00006 名称=+DATA/orclasm/datafile/app1tbs.268.902619275
输入数据文件: 文件号=00007 名称=+DATA/orclasm/datafile/app2tbs.280.902619327
输入数据文件: 文件号=00011 名称=+DATA/orclasm/datafile/idxtbs.281.902619361
输入数据文件: 文件号=00009 名称=+DATA/orclasm/datafile/encrypted_ts.272.854650889
通道 ORA_DISK_2: 正在启动段 1 于 2016-02-01 22:13:47
通道 ORA_DISK_1: 已完成段 1 于 2016-02-01 22:21:15
段句柄=/u05/oracle/oracle_bk/orclasm/full_ORCLASMx_20160201_902700816_1867_1.bak 标记=TAG20160201T221331 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:07:35
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
备份集内包括当前控制文件
通道 ORA_DISK_1: 正在启动段 1 于 2016-02-01 22:21:52
通道 ORA_DISK_1: 已完成段 1 于 2016-02-01 22:22:17
段句柄=/u05/oracle/oracle_bk/orclasm/full_ORCLASMx_20160201_902701286_1869_1.bak 标记=TAG20160201T221331 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:25
通道 ORA_DISK_2: 已完成段 1 于 2016-02-01 22:26:07
段句柄=/u05/oracle/oracle_bk/orclasm/full_ORCLASMx_20160201_902700821_1868_1.bak 标记=TAG20160201T221331 注释=NONE
通道 ORA_DISK_2: 备份集已完成, 经过时间:00:12:20
完成 backup 于 2016-02-01 22:26:07
启动 backup 于 2016-02-01 22:26:11
当前日志已存档
使用通道 ORA_DISK_1
使用通道 ORA_DISK_2
通道 ORA_DISK_1: 正在启动归档日志备份集
通道 ORA_DISK_1: 正在指定备份集内的归档日志
输入归档日志线程=1 序列=2414 RECID=2423 STAMP=902701474
通道 ORA_DISK_1: 正在启动段 1 于 2016-02-01 22:26:41
通道 ORA_DISK_2: 正在启动归档日志备份集
通道 ORA_DISK_2: 正在指定备份集内的归档日志
输入归档日志线程=1 序列=2415 RECID=2424 STAMP=902701578
通道 ORA_DISK_2: 正在启动段 1 于 2016-02-01 22:26:46
通道 ORA_DISK_1: 已完成段 1 于 2016-02-01 22:26:53
段句柄=/home/oracle/oracle_bk/orclasm/qeqss8h1_1_1_ORCLASM.bak 标记=TAG20160201T222636 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:12
通道 ORA_DISK_2: 已完成段 1 于 2016-02-01 22:27:01
段句柄=/home/oracle/oracle_bk/orclasm/qfqss8h5_1_1_ORCLASM.bak 标记=TAG20160201T222636 注释=NONE
通道 ORA_DISK_2: 备份集已完成, 经过时间:00:00:15
完成 backup 于 2016-02-01 22:27:01
启动 Control File and SPFILE Autobackup 于 2016-02-01 22:27:08
段 handle=/home/oracle/oracle_bk/orclasm/ctlfile_autoback_ORCLASM_c-3424884828-20160201-0a.bak comment=NONE
完成 Control File and SPFILE Autobackup 于 2016-02-01 22:27:33
RMAN> list backupset;
备份集列表
===================
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------- ------------ -------------------
1743 276.69M DISK 00:00:35 2016-02-01 22:12:38
BP 关键字: 1814 状态: AVAILABLE 已压缩: NO 标记: TAG20160201T221152
段名:/home/oracle/oracle_bk/orclasm/q9qss7lj_1_1_ORCLASM.bak
备份集 1743 中的已存档日志列表
线程序列 低 SCN 时间下限 下一个 SCN 下一次
---- ------- ---------- ------------------- ---------- ---------
1 2400 55314243 2015-12-17 11:42:30 55356997 2015-12-17 13:28:31
1 2401 55356997 2015-12-17 13:28:31 55380655 2015-12-17 15:34:02
1 2402 55380655 2015-12-17 15:34:02 55391244 2015-12-17 15:54:10
1 2403 55391244 2015-12-17 15:54:10 55401844 2015-12-17 15:59:14
1 2404 55401844 2015-12-17 15:59:14 55411350 2015-12-17 16:19:24
1 2405 55411350 2015-12-17 16:19:24 55423877 2015-12-17 16:21:47
1 2406 55423877 2015-12-17 16:21:47 55455247 2015-12-17 17:03:49
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------- ------------ -------------------
1744 214.24M DISK 00:01:01 2016-02-01 22:13:10
BP 关键字: 1815 状态: AVAILABLE 已压缩: NO 标记: TAG20160201T221152
段名:/home/oracle/oracle_bk/orclasm/qaqss7lp_1_1_ORCLASM.bak
备份集 1744 中的已存档日志列表
线程序列 低 SCN 时间下限 下一个 SCN 下一次
---- ------- ---------- ------------------- ---------- ---------
1 2407 55455247 2015-12-17 17:03:49 55466900 2015-12-17 17:07:18
1 2408 55466900 2015-12-17 17:07:18 55509831 2016-01-31 22:05:41
1 2409 55509831 2016-01-31 22:05:41 55521588 2016-01-31 22:16:26
1 2410 55521588 2016-01-31 22:16:26 55554213 2016-01-31 23:17:01
1 2411 55554213 2016-01-31 23:17:01 55596287 2016-02-01 21:47:10
1 2412 55596287 2016-02-01 21:47:10 55599466 2016-02-01 22:02:41
1 2413 55599466 2016-02-01 22:02:41 55620029 2016-02-01 22:11:25
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ -------------------
1745 Full 2.34G DISK 00:07:33 2016-02-01 22:21:09
BP 关键字: 1816 状态: AVAILABLE 已压缩: NO 标记: TAG20160201T221331
段名:/u05/oracle/oracle_bk/orclasm/full_ORCLASMx_20160201_902700816_1867_1.bak
备份集 1745 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ------------------- ----
1 Full 55620642 2016-02-01 22:13:41 +DATA/orclasm/datafile/system.256.850260145
2 Full 55620642 2016-02-01 22:13:41 +DATA/orclasm/datafile/sysaux.257.850260145
5 Full 55620642 2016-02-01 22:13:41 +DATA/orclasm/datafile/example.265.850260295
8 Full 55620642 2016-02-01 22:13:41 +DATA/orclasm/datafile/ts_lhr.269.852632495
14 Full 55620642 2016-02-01 22:13:41 +DATA/orclasm/datafile/ts_lhr.284.869738273
33 Full 55620642 2016-02-01 22:13:41 +FRA/orclasm/datafile/users.449.880121199
34 Full 55620642 2016-02-01 22:13:41 +FRA/orclasm/datafile/system.349.880121287
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ -------------------
1746 Full 12.77M DISK 00:00:44 2016-02-01 22:22:10
BP 关键字: 1817 状态: AVAILABLE 已压缩: NO 标记: TAG20160201T221331
段名:/u05/oracle/oracle_bk/orclasm/full_ORCLASMx_20160201_902701286_1869_1.bak
包括的控制文件: Ckp SCN: 55622293 Ckp 时间: 2016-02-01 22:21:30
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ -------------------
1747 Full 2.54G DISK 00:12:22 2016-02-01 22:26:03
BP 关键字: 1818 状态: AVAILABLE 已压缩: NO 标记: TAG20160201T221331
段名:/u05/oracle/oracle_bk/orclasm/full_ORCLASMx_20160201_902700821_1868_1.bak
备份集 1747 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ------------------- ----
3 Full 55620651 2016-02-01 22:13:47 +DATA/orclasm/datafile/undotbs1.258.851526539
4 Full 55620651 2016-02-01 22:13:47 +DATA/orclasm/datafile/users.259.850260147
6 Full 55620651 2016-02-01 22:13:47 +DATA/orclasm/datafile/app1tbs.268.902619275
7 Full 55620651 2016-02-01 22:13:47 +DATA/orclasm/datafile/app2tbs.280.902619327
9 Full 55620651 2016-02-01 22:13:47 +DATA/orclasm/datafile/encrypted_ts.272.854650889
10 Full 55620651 2016-02-01 22:13:47 +DATA/orclasm/datafile/goldengate.273.862829891
11 Full 55620651 2016-02-01 22:13:47 +DATA/orclasm/datafile/idxtbs.281.902619361
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------- ------------ -------------------
1748 39.85M DISK 00:00:10 2016-02-01 22:26:51
BP 关键字: 1819 状态: AVAILABLE 已压缩: NO 标记: TAG20160201T222636
段名:/home/oracle/oracle_bk/orclasm/qeqss8h1_1_1_ORCLASM.bak
备份集 1748 中的已存档日志列表
线程序列 低 SCN 时间下限 下一个 SCN 下一次
---- ------- ---------- ------------------- ---------- ---------
1 2414 55620029 2016-02-01 22:11:25 55623076 2016-02-01 22:24:03
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------- ------------ -------------------
1749 16.97M DISK 00:00:07 2016-02-01 22:26:52
BP 关键字: 1820 状态: AVAILABLE 已压缩: NO 标记: TAG20160201T222636
段名:/home/oracle/oracle_bk/orclasm/qfqss8h5_1_1_ORCLASM.bak
备份集 1749 中的已存档日志列表
线程序列 低 SCN 时间下限 下一个 SCN 下一次
---- ------- ---------- ------------------- ---------- ---------
1 2415 55623076 2016-02-01 22:24:03 55623713 2016-02-01 22:26:13
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ -------------------
1750 Full 12.80M DISK 00:00:20 2016-02-01 22:27:28
BP 关键字: 1821 状态: AVAILABLE 已压缩: NO 标记: TAG20160201T222708
段名:/home/oracle/oracle_bk/orclasm/ctlfile_autoback_ORCLASM_c-3424884828-20160201-0a.bak
包含的 SPFILE: 修改时间: 2015-11-11 19:53:11
SPFILE db_unique_name: ORCLASM
包括的控制文件: Ckp SCN: 55624410 Ckp 时间: 2016-02-01 22:27:08
一.8.2 生成结果集
这个转换步骤需要特别注意的是/u05/tmp的空间大小,因为需要建立一个辅助实例,所以空间大小至少应该是source库表空间大小的总和加上需要传输的表空间的数据文件的大小,否则会因为空间不足而导致转换失败。
RMAN> transport tablespace app1tbs,app2tbs,idxtbs tablespace destination '/u05/tmp' auxiliary destination '/u05/tmp';
使用目标数据库控制文件替代恢复目录
RMAN-05026: 警告: 假定以下表空间集适用于指定的时间点
表空间列表要求具有 UNDO 段
表空间 SYSTEM
表空间 UNDOTBS1
使用 SID='ypkw' 创建自动实例
供自动实例使用的初始化参数:
db_name=ORCLASM
db_unique_name=ypkw_tspitr_ORCLASM
compatible=11.2.0.0.0
db_block_size=8192
db_files=200
sga_target=280M
processes=50
db_create_file_dest=/u05/tmp
log_archive_dest_1='location=/u05/tmp'
#No auxiliary parameter file used
启动自动实例 ORCLASM
Oracle 实例已启动
系统全局区域总计 292278272 字节
Fixed Size 2227744 字节
Variable Size 100663776 字节
Database Buffers 184549376 字节
Redo Buffers 4837376 字节
自动实例已创建
对恢复集表空间运行 TRANSPORT_SET_CHECK
TRANSPORT_SET_CHECK 已成功完成
内存脚本的内容:
{
# set requested point in time
set until scn 55627689;
# restore the controlfile
restore clone controlfile;
# mount the controlfile
sql clone 'alter database mount clone database';
# archive current online log
sql 'alter system archive log current';
}
正在执行内存脚本
正在执行命令: SET until clause
启动 restore 于 2016-02-01 22:44:21
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: SID=59 设备类型=DISK
分配的通道: ORA_AUX_DISK_2
通道 ORA_AUX_DISK_2: SID=10 设备类型=DISK
通道 ORA_AUX_DISK_1: 正在开始还原数据文件备份集
通道 ORA_AUX_DISK_1: 正在还原控制文件
通道 ORA_AUX_DISK_1: 正在读取备份片段 /home/oracle/oracle_bk/orclasm/ctlfile_autoback_ORCLASM_c-3424884828-20160201-0a.bak
通道 ORA_AUX_DISK_1: 段句柄 = /home/oracle/oracle_bk/orclasm/ctlfile_autoback_ORCLASM_c-3424884828-20160201-0a.bak 标记 = TAG20160201T222708
通道 ORA_AUX_DISK_1: 已还原备份片段 1
通道 ORA_AUX_DISK_1: 还原完成, 用时: 00:00:01
输出文件名=/u05/tmp/ORCLASM/controlfile/o1_mf_cbyvtc77_.ctl
完成 restore 于 2016-02-01 22:44:28
sql 语句: alter database mount clone database
sql 语句: alter system archive log current
内存脚本的内容:
{
# set requested point in time
set until scn 55627689;
# set destinations for recovery set and auxiliary set datafiles
set newname for clone datafile 1 to new;
set newname for clone datafile 34 to new;
set newname for clone datafile 3 to new;
set newname for clone datafile 2 to new;
set newname for clone tempfile 1 to new;
set newname for datafile 6 to
"/u05/tmp/o1_mf_app1tbs_%u_.dbf";
set newname for datafile 7 to
"/u05/tmp/o1_mf_app2tbs_%u_.dbf";
set newname for datafile 11 to
"/u05/tmp/o1_mf_idxtbs_%u_.dbf";
# switch all tempfiles
switch clone tempfile all;
# restore the tablespaces in the recovery set and the auxiliary set
restore clone datafile 1, 34, 3, 2, 6, 7, 11;
switch clone datafile all;
}
正在执行内存脚本
正在执行命令: SET until clause
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
临时文件 1 在控制文件中已重命名为 /u05/tmp/ORCLASM/datafile/o1_mf_temp_%u_.tmp
启动 restore 于 2016-02-01 22:44:42
使用通道 ORA_AUX_DISK_1
使用通道 ORA_AUX_DISK_2
通道 ORA_AUX_DISK_1: 正在开始还原数据文件备份集
通道 ORA_AUX_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_AUX_DISK_1: 将数据文件 00001 还原到 /u05/tmp/ORCLASM/datafile/o1_mf_system_%u_.dbf
通道 ORA_AUX_DISK_1: 将数据文件 00034 还原到 /u05/tmp/ORCLASM/datafile/o1_mf_system_%u_.dbf
通道 ORA_AUX_DISK_1: 将数据文件 00002 还原到 /u05/tmp/ORCLASM/datafile/o1_mf_sysaux_%u_.dbf
通道 ORA_AUX_DISK_1: 正在读取备份片段 /u05/oracle/oracle_bk/orclasm/full_ORCLASMx_20160201_902700816_1867_1.bak
通道 ORA_AUX_DISK_2: 正在开始还原数据文件备份集
通道 ORA_AUX_DISK_2: 正在指定从备份集还原的数据文件
通道 ORA_AUX_DISK_2: 将数据文件 00003 还原到 /u05/tmp/ORCLASM/datafile/o1_mf_undotbs1_%u_.dbf
通道 ORA_AUX_DISK_2: 将数据文件 00006 还原到 /u05/tmp/o1_mf_app1tbs_%u_.dbf
通道 ORA_AUX_DISK_2: 将数据文件 00007 还原到 /u05/tmp/o1_mf_app2tbs_%u_.dbf
通道 ORA_AUX_DISK_2: 将数据文件 00011 还原到 /u05/tmp/o1_mf_idxtbs_%u_.dbf
通道 ORA_AUX_DISK_2: 正在读取备份片段 /u05/oracle/oracle_bk/orclasm/full_ORCLASMx_20160201_902700821_1868_1.bak
通道 ORA_AUX_DISK_2: 段句柄 = /u05/oracle/oracle_bk/orclasm/full_ORCLASMx_20160201_902700821_1868_1.bak 标记 = TAG20160201T221331
通道 ORA_AUX_DISK_2: 已还原备份片段 1
通道 ORA_AUX_DISK_2: 还原完成, 用时: 00:00:25
通道 ORA_AUX_DISK_1: 段句柄 = /u05/oracle/oracle_bk/orclasm/full_ORCLASMx_20160201_902700816_1867_1.bak 标记 = TAG20160201T221331
通道 ORA_AUX_DISK_1: 已还原备份片段 1
通道 ORA_AUX_DISK_1: 还原完成, 用时: 00:01:35
完成 restore 于 2016-02-01 22:46:21
数据文件 1 已转换成数据文件副本
输入数据文件副本 RECID=58 STAMP=902702782 文件名=/u05/tmp/ORCLASM/datafile/o1_mf_system_cbyvtz00_.dbf
数据文件 34 已转换成数据文件副本
输入数据文件副本 RECID=59 STAMP=902702782 文件名=/u05/tmp/ORCLASM/datafile/o1_mf_system_cbyvtz5j_.dbf
数据文件 3 已转换成数据文件副本
输入数据文件副本 RECID=60 STAMP=902702782 文件名=/u05/tmp/ORCLASM/datafile/o1_mf_undotbs1_cbyvtyz4_.dbf
数据文件 2 已转换成数据文件副本
输入数据文件副本 RECID=61 STAMP=902702782 文件名=/u05/tmp/ORCLASM/datafile/o1_mf_sysaux_cbyvtyxm_.dbf
数据文件 6 已转换成数据文件副本
输入数据文件副本 RECID=62 STAMP=902702782 文件名=/u05/tmp/o1_mf_app1tbs_cbyvtz0l_.dbf
数据文件 7 已转换成数据文件副本
输入数据文件副本 RECID=63 STAMP=902702782 文件名=/u05/tmp/o1_mf_app2tbs_cbyvtz1y_.dbf
数据文件 11 已转换成数据文件副本
输入数据文件副本 RECID=64 STAMP=902702782 文件名=/u05/tmp/o1_mf_idxtbs_cbyvtz52_.dbf
内存脚本的内容:
{
# set requested point in time
set until scn 55627689;
# online the datafiles restored or switched
sql clone "alter database datafile 1 online";
sql clone "alter database datafile 34 online";
sql clone "alter database datafile 3 online";
sql clone "alter database datafile 2 online";
sql clone "alter database datafile 6 online";
sql clone "alter database datafile 7 online";
sql clone "alter database datafile 11 online";
# recover and open resetlogs
recover clone database tablespace "APP1TBS", "APP2TBS", "IDXTBS", "SYSTEM", "UNDOTBS1", "SYSAUX" delete archivelog;
alter clone database open resetlogs;
}
正在执行内存脚本
正在执行命令: SET until clause
sql 语句: alter database datafile 1 online
sql 语句: alter database datafile 34 online
sql 语句: alter database datafile 3 online
sql 语句: alter database datafile 2 online
sql 语句: alter database datafile 6 online
sql 语句: alter database datafile 7 online
sql 语句: alter database datafile 11 online
启动 recover 于 2016-02-01 22:46:23
使用通道 ORA_AUX_DISK_1
使用通道 ORA_AUX_DISK_2
正在开始介质的恢复
线程 1 序列 2414 的归档日志已作为文件 +FRA/orclasm/archivelog/2016_02_01/thread_1_seq_2414.283.902701451 存在于磁盘上
线程 1 序列 2415 的归档日志已作为文件 +FRA/orclasm/archivelog/2016_02_01/thread_1_seq_2415.467.902701575 存在于磁盘上
线程 1 序列 2416 的归档日志已作为文件 +FRA/orclasm/archivelog/2016_02_01/thread_1_seq_2416.332.902701653 存在于磁盘上
线程 1 序列 2417 的归档日志已作为文件 +FRA/orclasm/archivelog/2016_02_01/thread_1_seq_2417.308.902701787 存在于磁盘上
线程 1 序列 2418 的归档日志已作为文件 +FRA/orclasm/archivelog/2016_02_01/thread_1_seq_2418.366.902701939 存在于磁盘上
归档日志文件名=+FRA/orclasm/archivelog/2016_02_01/thread_1_seq_2414.283.902701451 线程=1 序列=2414
归档日志文件名=+FRA/orclasm/archivelog/2016_02_01/thread_1_seq_2415.467.902701575 线程=1 序列=2415
归档日志文件名=+FRA/orclasm/archivelog/2016_02_01/thread_1_seq_2416.332.902701653 线程=1 序列=2416
归档日志文件名=+FRA/orclasm/archivelog/2016_02_01/thread_1_seq_2417.308.902701787 线程=1 序列=2417
归档日志文件名=+FRA/orclasm/archivelog/2016_02_01/thread_1_seq_2418.366.902701939 线程=1 序列=2418
介质恢复完成, 用时: 00:00:14
完成 recover 于 2016-02-01 22:46:41
数据库已打开
内存脚本的内容:
{
# make read only the tablespace that will be exported
sql clone 'alter tablespace APP1TBS read only';
sql clone 'alter tablespace APP2TBS read only';
sql clone 'alter tablespace IDXTBS read only';
# create directory for datapump export
sql clone "create or replace directory STREAMS_DIROBJ_DPDIR as ''
/u05/tmp''";
}
正在执行内存脚本
sql 语句: alter tablespace APP1TBS read only
sql 语句: alter tablespace APP2TBS read only
sql 语句: alter tablespace IDXTBS read only
sql 语句: create or replace directory STREAMS_DIROBJ_DPDIR as ''/u05/tmp''
正在执行元数据导出...
EXPDP> 启动 "SYS"."TSPITR_EXP_ypkw":
EXPDP> 处理对象类型 TRANSPORTABLE_EXPORT/PLUGTS_BLK
EXPDP> 处理对象类型 TRANSPORTABLE_EXPORT/TABLE
EXPDP> 处理对象类型 TRANSPORTABLE_EXPORT/INDEX/INDEX
EXPDP> 处理对象类型 TRANSPORTABLE_EXPORT/INDEX_STATISTICS
EXPDP> 处理对象类型 TRANSPORTABLE_EXPORT/TABLE_STATISTICS
EXPDP> 处理对象类型 TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
EXPDP> 已成功加载/卸载了主表 "SYS"."TSPITR_EXP_ypkw"
EXPDP> ******************************************************************************
EXPDP> SYS.TSPITR_EXP_ypkw 的转储文件集为:
EXPDP> /u05/tmp/dmpfile.dmp
EXPDP> ******************************************************************************
EXPDP> 可传输表空间 APP1TBS 所需的数据文件:
EXPDP> /u05/tmp/o1_mf_app1tbs_cbyvtz0l_.dbf
EXPDP> 可传输表空间 APP2TBS 所需的数据文件:
EXPDP> /u05/tmp/o1_mf_app2tbs_cbyvtz1y_.dbf
EXPDP> 可传输表空间 IDXTBS 所需的数据文件:
EXPDP> /u05/tmp/o1_mf_idxtbs_cbyvtz52_.dbf
EXPDP> 作业 "SYS"."TSPITR_EXP_ypkw" 已于 22:48:00 成功完成
导出完毕
/*
The following command may be used to import the tablespaces.
Substitute values for <logon> and <directory>.
impdp <logon> directory=<directory> dumpfile= 'dmpfile.dmp' transport_datafiles= /u05/tmp/o1_mf_app1tbs_cbyvtz0l_.dbf, /u05/tmp/o1_mf_app2tbs_cbyvtz1y_.dbf, /u05/tmp/o1_mf_idxtbs_cbyvtz52_.dbf
*/
--------------------------------------------------------------
-- Start of sample PL/SQL script for importing the tablespaces
--------------------------------------------------------------
-- creating directory objects
CREATE DIRECTORY STREAMSDIROBJDIROBJ1 AS '/u05/tmp/';
CREATE DIRECTORY STREAMSDIROBJDIROBJDPDIR AS '/u05/tmp';
/* PL/SQL Script to import the exported tablespaces */
DECLARE
-- the datafiles
tbs_files dbms_streams_tablespace_adm.file_set;
cvt_files dbms_streams_tablespace_adm.file_set;
-- the dumpfile to import
dump_file dbms_streams_tablespace_adm.file;
dp_job_name VARCHAR2(30) := NULL;
-- names of tablespaces that were imported
ts_names dbms_streams_tablespace_adm.tablespace_set;
BEGIN
-- dump file name and location
dump_file.file_name := 'dmpfile.dmp';
dump_file.directory_object := 'STREAMSDIROBJDIROBJDPDIR';
-- forming list of datafiles for import
tbs_files( 1).file_name := 'o1_mf_app1tbs_cbyvtz0l_.dbf';
tbs_files( 1).directory_object := 'STREAMSDIROBJDIROBJ1';
tbs_files( 2).file_name := 'o1_mf_app2tbs_cbyvtz1y_.dbf';
tbs_files( 2).directory_object := 'STREAMSDIROBJDIROBJ1';
tbs_files( 3).file_name := 'o1_mf_idxtbs_cbyvtz52_.dbf';
tbs_files( 3).directory_object := 'STREAMSDIROBJDIROBJ1';
-- import tablespaces
dbms_streams_tablespace_adm.attach_tablespaces(
datapump_job_name => dp_job_name,
dump_file => dump_file,
tablespace_files => tbs_files,
converted_files => cvt_files,
tablespace_names => ts_names);
-- output names of imported tablespaces
IF ts_names IS NOT NULL AND ts_names.first IS NOT NULL THEN
FOR i IN ts_names.first .. ts_names.last LOOP
dbms_output.put_line('imported tablespace '|| ts_names(i));
END LOOP;
END IF;
END;
/
-- dropping directory objects
DROP DIRECTORY STREAMSDIROBJDIROBJ1;
DROP DIRECTORY STREAMSDIROBJDIROBJDPDIR;
--------------------------------------------------------------
-- End of sample PL/SQL script
--------------------------------------------------------------
删除自动实例
关闭自动实例
数据库已关闭
数据库已卸装
Oracle 实例已关闭
自动实例已删除
已删除辅助实例文件 /u05/tmp/ORCLASM/datafile/o1_mf_temp_cbyvytdt_.tmp
已删除辅助实例文件 /u05/tmp/ORCLASM/onlinelog/o1_mf_4_cbyvyqnp_.log
已删除辅助实例文件 /u05/tmp/ORCLASM/onlinelog/o1_mf_3_cbyvypkj_.log
已删除辅助实例文件 /u05/tmp/ORCLASM/onlinelog/o1_mf_2_cbyvyonl_.log
已删除辅助实例文件 /u05/tmp/ORCLASM/onlinelog/o1_mf_1_cbyvykf7_.log
已删除辅助实例文件 /u05/tmp/ORCLASM/datafile/o1_mf_sysaux_cbyvtyxm_.dbf
已删除辅助实例文件 /u05/tmp/ORCLASM/datafile/o1_mf_undotbs1_cbyvtyz4_.dbf
已删除辅助实例文件 /u05/tmp/ORCLASM/datafile/o1_mf_system_cbyvtz5j_.dbf
已删除辅助实例文件 /u05/tmp/ORCLASM/datafile/o1_mf_system_cbyvtz00_.dbf
已删除辅助实例文件 /u05/tmp/ORCLASM/controlfile/o1_mf_cbyvtc77_.ctl
RMAN>
[oracle@rhel6_lhr ~]$ cd /u05/tmp
[oracle@rhel6_lhr tmp]$ ll
total 30868
-rw-r----- 1 oracle asmadmin 118784 Feb 1 22:48 dmpfile.dmp
-rw-r--r-- 1 oracle oinstall 2373 Feb 1 22:48 impscrpt.sql
-rw-r----- 1 oracle asmadmin 10493952 Feb 1 22:47 o1_mf_app1tbs_cbyvtz0l_.dbf
-rw-r----- 1 oracle asmadmin 10493952 Feb 1 22:47 o1_mf_app2tbs_cbyvtz1y_.dbf
-rw-r----- 1 oracle asmadmin 10493952 Feb 1 22:47 o1_mf_idxtbs_cbyvtz52_.dbf
drwxr-x--- 5 oracle asmadmin 4096 Feb 1 22:44 ORCLASM
[oracle@rhel6_lhr tmp]$
一.9 传输数据文件和元数据到target端
这里需要传输转储元文件和数据文件到目标库
一.9.1 查看目标库数据文件位置和目录
[ZFXDESKDB2:oracle]:/oracle>ORACLE_SID=ora2lhr
[ZFXDESKDB2:oracle]:/oracle>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Tue Feb 2 13:51:47 2016
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, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SYS@ora2lhr> select name from v$datafile;
NAME
------------------------------------------------------------------------------------------------------------------------------------
+DATA/ora2lhr/datafile/system.335.902674033
+DATA/ora2lhr/datafile/sysaux.336.902674033
+DATA/ora2lhr/datafile/undotbs1.337.902674033
+DATA/ora2lhr/datafile/users.338.902674033
+DATA/ora2lhr/datafile/example.348.902674109
SYS@ora2lhr> set line 9999
SYS@ora2lhr> col directory_name for a28
SYS@ora2lhr> col directory_path for a100
SYS@ora2lhr> select directory_name,directory_path from dba_directories;
DIRECTORY_NAME DIRECTORY_PATH
---------------------------- ----------------------------------------------------------------------------------------------------
SUBDIR /oracle/app/oracle/product/11.2.0/db/demo/schema/order_entry//2002/Sep
SS_OE_XMLDIR /oracle/app/oracle/product/11.2.0/db/demo/schema/order_entry/
LOG_FILE_DIR /oracle/app/oracle/product/11.2.0/db/demo/schema/log/
MEDIA_DIR /oracle/app/oracle/product/11.2.0/db/demo/schema/product_media/
DATA_FILE_DIR /oracle/app/oracle/product/11.2.0/db/demo/schema/sales_history/
XMLDIR /oracle/app/oracle/product/11.2.0/db/rdbms/xml
ORACLE_OCM_CONFIG_DIR /oracle/app/oracle/product/11.2.0/db/ccr/state
DATA_PUMP_DIR /oracle/app/oracle/admin/ora2lhr/dpdump/
ORACLE_OCM_CONFIG_DIR2 /oracle/app/oracle/product/11.2.0/db/ccr/state
9 rows selected.
SYS@ora2lhr>
SYS@ora2lhr>
一.9.2 拷贝文件到目标库相应位置并修改权限
[ZFXDESKDB2:root]:/>cd /oracle/app/oracle/admin/ora2lhr/dpdump
[ZFXDESKDB2:root]:/oracle/app/oracle/admin/ora2lhr/dpdump>l
total 61728
-rw-r----- 1 root system 118784 Feb 01 22:48 dmpfile.dmp
-rw-r----- 1 root system 2373 Feb 01 22:48 impscrpt.sql
-rw-r----- 1 root system 10493952 Feb 01 22:47 o1_mf_app1tbs_cbyvtz0l_.dbf
-rw-r----- 1 root system 10493952 Feb 01 22:47 o1_mf_app2tbs_cbyvtz1y_.dbf
-rw-r----- 1 root system 10493952 Feb 01 22:47 o1_mf_idxtbs_cbyvtz52_.dbf
[ZFXDESKDB2:root]:/oracle/app/oracle/admin/ora2lhr/dpdump>chown oracle:dba ./*
[ZFXDESKDB2:root]:/oracle/app/oracle/admin/ora2lhr/dpdump>l
total 61728
-rw-r----- 1 oracle dba 118784 Feb 01 22:48 dmpfile.dmp
-rw-r----- 1 oracle dba 2373 Feb 01 22:48 impscrpt.sql
-rw-r----- 1 oracle dba 10493952 Feb 01 22:47 o1_mf_app1tbs_cbyvtz0l_.dbf
-rw-r----- 1 oracle dba 10493952 Feb 01 22:47 o1_mf_app2tbs_cbyvtz1y_.dbf
-rw-r----- 1 oracle dba 10493952 Feb 01 22:47 o1_mf_idxtbs_cbyvtz52_.dbf
[ZFXDESKDB2:root]:/oracle/app/oracle/admin/ora2lhr/dpdump>
一.10 target端转换字节序
[ZFXDESKDB2:root]:/oracle/app/oracle/admin/ora2lhr/dpdump>su - oracle
[ZFXDESKDB2:oracle]:/oracle>ORACLE_SID=ora2lhr
[ZFXDESKDB2:oracle]:/oracle>echo $ORACLE_SID
ora2lhr
[ZFXDESKDB2:oracle]:/oracle>rman target /
Recovery Manager: Release 11.2.0.4.0 - Production on Tue Feb 2 13:57:58 2016
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: ORA2LHR (DBID=4055514164)
RMAN> CONVERT DATAFILE
2> "/oracle/app/oracle/admin/ora2lhr/dpdump/o1_mf_app1tbs_cbyvtz0l_.dbf",
3> "/oracle/app/oracle/admin/ora2lhr/dpdump/o1_mf_app2tbs_cbyvtz1y_.dbf",
4> "/oracle/app/oracle/admin/ora2lhr/dpdump/o1_mf_idxtbs_cbyvtz52_.dbf"
5> TO PLATFORM="AIX-Based Systems (64-bit)"
6> FROM PLATFORM="Linux x86 64-bit"
7> FORMAT '+DATA';
Starting conversion at target at 2016-02-02 13:58:02
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=165 device type=DISK
channel ORA_DISK_1: starting datafile conversion
input file name=/oracle/app/oracle/admin/ora2lhr/dpdump/o1_mf_app1tbs_cbyvtz0l_.dbf
converted datafile=+DATA/ora2lhr/datafile/app1tbs.265.902757483
channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting datafile conversion
input file name=/oracle/app/oracle/admin/ora2lhr/dpdump/o1_mf_app2tbs_cbyvtz1y_.dbf
converted datafile=+DATA/ora2lhr/datafile/app2tbs.264.902757485
channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting datafile conversion
input file name=/oracle/app/oracle/admin/ora2lhr/dpdump/o1_mf_idxtbs_cbyvtz52_.dbf
converted datafile=+DATA/ora2lhr/datafile/idxtbs.262.902757485
channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:01
Finished conversion at target at 2016-02-02 13:58:06
RMAN>
RMAN>
[ZFXDESKDB2:root]:/oracle/app/oracle/admin/ora2lhr/dpdump>
[ZFXDESKDB2:root]:/>su - grid
[ZFXDESKDB2:grid]:/home/grid>asmcmd
ASMCMD> cd +DATA/ora2lhr/datafile/
ASMCMD> ls
APP1TBS.265.902757483
APP2TBS.264.902757485
EXAMPLE.348.902674109
IDXTBS.262.902757485
SYSAUX.336.902674033
SYSTEM.335.902674033
UNDOTBS1.337.902674033
USERS.338.902674033
ASMCMD> ls -l
Type Redund Striped Time Sys Name
DATAFILE UNPROT COARSE FEB 02 13:00:00 Y APP1TBS.265.902757483
DATAFILE UNPROT COARSE FEB 02 13:00:00 Y APP2TBS.264.902757485
DATAFILE UNPROT COARSE FEB 02 09:00:00 Y EXAMPLE.348.902674109
DATAFILE UNPROT COARSE FEB 02 13:00:00 Y IDXTBS.262.902757485
DATAFILE UNPROT COARSE FEB 02 09:00:00 Y SYSAUX.336.902674033
DATAFILE UNPROT COARSE FEB 02 09:00:00 Y SYSTEM.335.902674033
DATAFILE UNPROT COARSE FEB 02 09:00:00 Y UNDOTBS1.337.902674033
DATAFILE UNPROT COARSE FEB 02 09:00:00 Y USERS.338.902674033
ASMCMD>
一.11 target端开始导入数据
一.11.1 创建source库的2个用户并赋权限
如果不创建用户会报如下的错误:
ORA-39123: Data Pump transportable tablespace job aborted
ORA-29342: user USER_APP1 does not exist in the database
[ZFXDESKDB2:oracle]:/oracle>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Tue Feb 2 14:08:33 2016
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, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SYS@ora2lhr> create user user_app1 identified by user_app1;
User created.
SYS@ora2lhr> create user user_app2 identified by user_app2;
User created.
SYS@ora2lhr> grant connect , resource to user_app1;
Grant succeeded.
SYS@ora2lhr> grant connect , resource to user_app2;
Grant succeeded.
SYS@ora2lhr> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
[ZFXDESKDB2:oracle]:/oracle>
一.11.2 开始导入
[ZFXDESKDB2:oracle]:/oracle>export ORACLE_SID=ora2lhr
[ZFXDESKDB2:oracle]:/oracle>impdp \'/ as sysdba \' DUMPFILE=dmpfile.dmp DIRECTORY=DATA_PUMP_DIR TRANSPORT_DATAFILES='+DATA/ora2lhr/datafile/APP1TBS.265.902757483','+DATA/ora2lhr/datafile/APP2TBS.264.902757485','+DATA/ora2lhr/datafile/IDXTBS.262.902757485' LOGFILE=impdp_tts_20160202.log
Import: Release 11.2.0.4.0 - Production on Tue Feb 2 14:11:57 2016
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, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
Master table "SYS"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded
Starting "SYS"."SYS_IMPORT_TRANSPORTABLE_01": "/******** AS SYSDBA" DUMPFILE=dmpfile.dmp DIRECTORY=DATA_PUMP_DIR TRANSPORT_DATAFILES=+DATA/ora2lhr/datafile/APP1TBS.265.902757483,+DATA/ora2lhr/datafile/APP2TBS.264.902757485,+DATA/ora2lhr/datafile/IDXTBS.262.902757485 LOGFILE=impdp_tts_20160202.log
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object type TRANSPORTABLE_EXPORT/INDEX/INDEX
Processing object type TRANSPORTABLE_EXPORT/INDEX_STATISTICS
Processing object type TRANSPORTABLE_EXPORT/TABLE_STATISTICS
Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Job "SYS"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at Tue Feb 2 14:12:11 2016 elapsed 0 00:00:07
[ZFXDESKDB2:oracle]:/oracle>
日志:
Tue Feb 02 14:12:04 2016
DM00 started with pid=45, OS id=25231610, job SYS.SYS_IMPORT_TRANSPORTABLE_01
Tue Feb 02 14:12:06 2016
DW00 started with pid=48, OS id=21430384, wid=1, job SYS.SYS_IMPORT_TRANSPORTABLE_01
Plug in tablespace APP1TBS with datafile
'+DATA/ora2lhr/datafile/APP1TBS.265.902757483'
Plug in tablespace APP2TBS with datafile
'+DATA/ora2lhr/datafile/APP2TBS.264.902757485'
Plug in tablespace IDXTBS with datafile
'+DATA/ora2lhr/datafile/IDXTBS.262.902757485'
一.11.3 查看目标平台信息
[ZFXDESKDB2:oracle]:/oracle>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Tue Feb 2 14:13:50 2016
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, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SYS@ora2lhr> select tablespace_name,status from dba_tablespaces;
TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
SYSAUX ONLINE
UNDOTBS1 ONLINE
TEMP ONLINE
USERS ONLINE
EXAMPLE ONLINE
APP1TBS READ ONLY
APP2TBS READ ONLY
IDXTBS READ ONLY
9 rows selected.
SYS@ora2lhr> alter tablespace APP1TBS read write;
Tablespace altered.
SYS@ora2lhr> alter tablespace APP2TBS read write;
Tablespace altered.
SYS@ora2lhr> alter tablespace IDXTBS read write;
Tablespace altered.
SYS@ora2lhr> alter user user_app1 default tablespace app1tbs;
User altered.
SYS@ora2lhr> alter user user_app2 default tablespace app2tbs;
User altered.
SYS@ora2lhr> SELECT d.username,d.default_tablespace FROM dba_users d where d.username like 'USER_%' ;
USERNAME DEFAULT_TABLESPACE
------------------------------ ------------------------------
USER_APP2 APP2TBS
USER_APP1 APP1TBS
SYS@ora2lhr>
一.12 查看导入后结果
SYS@ora2lhr> set line 9999 pagesize 9999
SYS@ora2lhr> select * from user_app1.app1_tab;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- ------------------- ---------- ---------- ----------
7369 SMITH CLERK 7902 1980-12-17 00:00:00 800 20
7499 ALLEN SALESMAN 7698 1981-02-20 00:00:00 1600 300 30
7521 WARD SALESMAN 7698 1981-02-22 00:00:00 1250 500 30
7566 JONES MANAGER 7839 1981-04-02 00:00:00 2975 20
7654 MARTIN SALESMAN 7698 1981-09-28 00:00:00 1250 1400 30
7698 BLAKE MANAGER 7839 1981-05-01 00:00:00 2850 30
7782 CLARK MANAGER 7839 1981-06-09 00:00:00 2450 10
7839 KING PRESIDENT 1981-11-17 00:00:00 5000 10
7844 TURNER SALESMAN 7698 1981-09-08 00:00:00 1500 0 30
7900 JAMES CLERK 7698 1981-12-03 00:00:00 950 30
7902 FORD ANALYST 7566 1981-12-03 00:00:00 3000 20
7934 MILLER CLERK 7782 1982-01-23 00:00:00 1300 10
12 rows selected.
SYS@ora2lhr> select * from user_app2.app2_tab;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SYS@ora2lhr> select D.owner,D.index_name,D.table_name,D.tablespace_name from dba_indexes d WHERE d.table_name in ('APP1_TAB','APP2_TAB');
OWNER INDEX_NAME TABLE_NAME TABLESPACE_NAME
------------------------------ ------------------------------ ------------------------------ ------------------------------
USER_APP2 IDX_DEPT_DNAME APP2_TAB IDXTBS
USER_APP1 IDX_EMP_ENAME APP1_TAB IDXTBS
SYS@ora2lhr> SELECT a.NAME, b.NAME FROM vtablespacea,vtablespacea,vdatafile b WHERE a.TS#=b.TS# ;
NAME NAME
------------------------------ --------------------------------------------------------------------------------
SYSTEM +DATA/ora2lhr/datafile/system.335.902674033
SYSAUX +DATA/ora2lhr/datafile/sysaux.336.902674033
UNDOTBS1 +DATA/ora2lhr/datafile/undotbs1.337.902674033
USERS +DATA/ora2lhr/datafile/users.338.902674033
EXAMPLE +DATA/ora2lhr/datafile/example.348.902674109
APP1TBS +DATA/ora2lhr/datafile/app1tbs.350.902674809
APP2TBS +DATA/ora2lhr/datafile/app2tbs.351.902674809
IDXTBS +DATA/ora2lhr/datafile/idxtbs.352.902674811
8 rows selected.
SYS@ora2lhr>
至此说明3个表空间已经完全由Linux平台迁移到AIX平台上。
-------------------------------------------------------------------------------------------------------------
一.13 总结
到此所有的处理算是基本完毕,过程很简单,但是不同的场景处理方式有很多种,我们应该学会灵活变通。