【TTS】传输表空间AIX asm -> linux asm

一.1  BLOG文档结构图

 

【TTS】传输表空间AIX asm -> linux asm 

 

一.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/

【TTS】传输表空间Linux asm -> AIX asm 基于rman  http://blog.itpub.net/26736162/viewspace-1987953/

 

一.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.3

db 存储

ASM

ASM

ORACLE_SID

ora11g

orclasm

db_name

ora11g

orclasm

主机IP地址

22.188.139.33

192.168.59.30

OS版本及kernel版本

AIX 64位 5.3.0.0

RHEL6.5 64位,2.6.32-504.16.2.el6.x86_64

OS hostname

ZFXDESKDB2

rhel6_lhr

platform_name

AIX-Based Systems (64-bit)

Linux x86 64-bit

db time zone

14

14

字符集

ZHS16GBK

ZHS16GBK

compatible

11.2.0.0.0

11.2.0.0.0

归档模式

Archive Mode

Archive Mode

 

 

一.4.2  实验目标

 

要实现将自定义的应用程序表空间app1tbs,app2tbs,idxtbs从源平台传递到目标平台,而在实际的工作过程中,需要将AIX上的数据库迁移到Linux,或者将Linux上的数据库迁移到AIX上,除了exp/imp和expdp/impdp外,最常用的就是传输表空间了,若是整个库迁移的话,我们需要做的就是把业务用户和业务表空间的数据迁移过来就行,Undo、temp、system等等的就不用迁移了,整个处理过程和本文档的处理过程大同小异,需要关注的是业务对象的个数、大小、状态等。

【TTS】传输表空间AIX asm -> linux asm 

一.4.3  实验过程

 

 

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

一.5  source端环境准备

【TTS】传输表空间AIX asm -> linux asm 

 

一.5.1  在源库上创建3个用户应用的表空间,并在相应的表空间创建表和索引

 

 

oracle@ZDMTRAIN2:/oracle$ echo $ORACLE_SID

ora11g

oracle@ZDMTRAIN2:/oracle$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.3.0 Production on Sat Feb 18 10:51:00 2017

 

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

 

 

Connected to:

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

 

SYS@ora11g> select name from v$datafile;

 

NAME

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

+DATA1/ora11g/datafile/system.379.936264859

+DATA1/ora11g/datafile/sysaux.378.936264861

+DATA1/ora11g/datafile/undotbs1.380.936264861

+DATA1/ora11g/datafile/users.382.936264861

+DATA1/ora11g/datafile/example.391.936264979

 

SYS@ora11g> create tablespace app1tbs DATAFILE '+DATA1' size 10m;

 

Tablespace created.

 

SYS@ora11g> create tablespace app2tbs DATAFILE '+DATA1' size 10m;

 

Tablespace created.

 

SYS@ora11g> CREATE TABLESPACE IDXTBS DATAFILE '+DATA1' SIZE 10M;

 

Tablespace created.

 

SYS@ora11g> create user user_app1 identified by user_app1 default tablespace app1tbs;

 

User created.

 

SYS@ora11g> create user user_app2 identified by user_app2 default tablespace app2tbs;

 

User created.

 

SYS@ora11g> grant connect , resource to user_app1;

 

Grant succeeded.

 

SYS@ora11g> grant connect , resource to user_app2;

 

Grant succeeded.

 

SYS@ora11g> create table user_app1.app1_tab tablespace app1tbs as select * from scott.emp;

 

Table created.

 

SYS@ora11g> create table user_app2.app2_tab tablespace app2tbs as select * from scott.dept;

 

Table created.

 

SYS@ora11g> create index user_app1.idx_emp_ename on user_app1.app1_tab(ename) tablespace idxtbs;

 

Index created.

 

SYS@ora11g> create index user_app2.idx_dept_dname on user_app2.app2_tab(dname) tablespace idxtbs;

 

Index created.

 

SYS@ora11g> set line 9999 pagesize 9999

SYS@ora11g> SELECT   a.NAME,  b.NAME FROM vtablespacea,vtablespacea,vdatafile b WHERE a.TS#=b.TS#  ;

 

NAME            NAME

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

SYSTEM          +DATA1/ora11g/datafile/system.379.936264859

SYSAUX          +DATA1/ora11g/datafile/sysaux.378.936264861

UNDOTBS1        +DATA1/ora11g/datafile/undotbs1.380.936264861

USERS           +DATA1/ora11g/datafile/users.382.936264861

EXAMPLE         +DATA1/ora11g/datafile/example.391.936264979

APP1TBS         +DATA1/ora11g/datafile/app1tbs.393.936269553

APP2TBS         +DATA1/ora11g/datafile/app2tbs.394.936269559

IDXTBS          +DATA1/ora11g/datafile/idxtbs.395.936269565

 

8 rows selected.

 

SYS@ora11g>

 

 

一.6  判断平台支持并确定字节序

如果传输表空间集到不同的平台,则要确定对于源和目标平台这种跨平台表空间被支持,也要确定每个平台的字节序,如果平台具有相同的字节序,则不需要进行转化,否则必须做一个表空间集转化,在源端或目标端都可以,在源端用convert  tablespace,在目标端用convert datafile。

 

 

SYS@ora11g> col platform_name for a40

SYS@ora11g> select tp.platform_name, tp.endian_format

  2   from v$transportable_platform tp

  3   where tp.platform_name in ('Linux x86 64-bit', 'AIX-Based Systems (64-bit)');

 

PLATFORM_NAME                            ENDIAN_FORMAT

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

AIX-Based Systems (64-bit)               Big

Linux x86 64-bit                         Little

 

SQL>

 

源平台和目标平台的Endian_format 不同,source端为Big,target端为Little,所以需要进行表空间集转换,前边说过在源端或目标端都可以进行转换,这里我们选择在目标端来进行转换。

 

一.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.

execute sys.dbms_tts.transport_set_check('app1tbs,app2tbs,idxtbs',true);

select * from sys.transport_set_violations;

 

先试试要传输app1tbs和idxtbs这2个表空间:

SYS@ora11g> execute sys.dbms_tts.transport_set_check('app1tbs,idxtbs',true);

 

PL/SQL procedure successfully completed.

 

SQL> col violations for a70

SYS@ora11g> select * from sys.transport_set_violations;

 

VIOLATIONS

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

ORA-39907: Index USER_APP2.IDX_DEPT_DNAME in tablespace IDXTBS points

to table USER_APP2.APP2_TAB in tablespace APP2TBS.

 

 

SQL>

结论: 在idxtbs表空间中IDX_DEPT_DNAME索引指向了表空间集外的user_app2.APP2_TAB表,所以这里选择app1tabs,app2tabs,idxtbs作为新的表空间集再次进行检查

 

 

SYS@ora11g> execute sys.dbms_tts.transport_set_check('app1tbs,app2tbs,idxtbs',true);

 

PL/SQL procedure successfully completed.

 

 

SYS@ora11g>  select * from sys.transport_set_violations;

 

no rows selected

 

SYS@ora11g>

结论: 此时这个表空间集已经不在违背自包含的条件,可以确定为一个可传输表空间集

 

一.8  产生可传输表空间集

一.8.1  使自包含的表空间集中的所有表空间变为只读状态

SYS@ora11g> alter tablespace app1tbs read only;

 

Tablespace altered.

 

SYS@ora11g> alter tablespace app2tbs read only;

 

Tablespace altered.

 

SYS@ora11g> alter tablespace idxtbs read only;

 

Tablespace altered.

SYS@ora11g> 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@ora11g>

 

 

 

一.8.2  使用数据泵导出工具,导出要传输的各个表空间的元数据

一.8.2.1  确定导出目录

 

SYS@ora11g> set line 9999

SYS@ora11g> col directory_name for a28

SYS@ora11g> col directory_path for a100

SYS@ora11g> 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/

XMLDIR                       /oracle/app/oracle/product/11.2.0/db/rdbms/xml

DATA_FILE_DIR                /oracle/app/oracle/product/11.2.0/db/demo/schema/sales_history/

DATA_PUMP_DIR                /oracle/app/oracle/admin/ora11g/dpdump/

ORACLE_OCM_CONFIG_DIR        /oracle/app/oracle/product/11.2.0/db/ccr/state

 

8 rows selected.

 

SYS@ora11g>

 

 

 

一.8.2.2  开始导出

 

oracle@ZDMTRAIN2:/oracle$ expdp \'/ as sysdba \' dumpfile=expdat_tts_read_20160203.dmp directory=DATA_PUMP_DIR transport_tablespaces=app1tbs,app2tbs,idxtbs logfile=expdat_20160201.log

 

Export: Release 11.2.0.3.0 - Production on Sat Feb 18 11:03:07 2017

 

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, Automatic Storage Management, OLAP, Data Mining

and Real Application Testing options

Starting "SYS"."SYS_EXPORT_TRANSPORTABLE_01":  "/******** AS SYSDBA" dumpfile=expdat_tts_read_20160203.dmp directory=DATA_PUMP_DIR transport_tablespaces=app1tbs,app2tbs,idxtbs logfile=expdat_20160201.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/POST_INSTANCE/PLUGTS_BLK

Master table "SYS"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded

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

Dump file set for SYS.SYS_EXPORT_TRANSPORTABLE_01 is:

  /oracle/app/oracle/admin/ora11g/dpdump/expdat_tts_read_20160203.dmp

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

Datafiles required for transportable tablespace APP1TBS:

  +DATA1/ora11g/datafile/app1tbs.393.936269553

Datafiles required for transportable tablespace APP2TBS:

  +DATA1/ora11g/datafile/app2tbs.394.936269559

Datafiles required for transportable tablespace IDXTBS:

  +DATA1/ora11g/datafile/idxtbs.395.936269565

Job "SYS"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at 11:04:49

 

oracle@ZDMTRAIN2:/oracle$

 

 

 

查看文件,使用asmcmd中copy命令将数据文件copy到文件系统,需要给目录赋予权限:

root@ZDMTRAIN2:/# chmod 777 /oracle/app/oracle/admin/ora11g/dpdump

root@ZDMTRAIN2:/oracle/app/oracle/admin/ora11g/dpdump# l

total 224

-rw-r--r--    1 oracle   asmadmin       1597 Feb 18 11:04 expdat_20160201.log

-rw-r-----    1 oracle   asmadmin     110592 Feb 18 11:04 expdat_tts_read_20160203.dmp

root@ZDMTRAIN2:/oracle/app/oracle/admin/ora11g/dpdump# su - grid

grid@ZDMTRAIN2:/home/grid$ asmcmd

ASMCMD> cd +DATA1/ora11g/datafile/

ASMCMD> ls -lt

Type      Redund  Striped  Time             Sys  Name

DATAFILE  UNPROT  COARSE   FEB 18 10:00:00  Y    UNDOTBS1.380.936264861

DATAFILE  UNPROT  COARSE   FEB 18 10:00:00  Y    SYSAUX.378.936264861

DATAFILE  UNPROT  COARSE   FEB 18 10:00:00  Y    IDXTBS.395.936269565

DATAFILE  UNPROT  COARSE   FEB 18 10:00:00  Y    APP2TBS.394.936269559

DATAFILE  UNPROT  COARSE   FEB 18 10:00:00  Y    APP1TBS.393.936269553

DATAFILE  UNPROT  COARSE   FEB 18 09:00:00  Y    USERS.382.936264861

DATAFILE  UNPROT  COARSE   FEB 18 09:00:00  Y    SYSTEM.379.936264859

DATAFILE  UNPROT  COARSE   FEB 18 09:00:00  Y    EXAMPLE.391.936264979

ASMCMD> cp IDXTBS.395.936269565 /oracle/app/oracle/admin/ora11g/dpdump

copying +DATA1/ora11g/datafile/IDXTBS.395.936269565 -> /oracle/app/oracle/admin/ora11g/dpdump/IDXTBS.395.936269565

ASMCMD> cp APP2TBS.394.936269559  /oracle/app/oracle/admin/ora11g/dpdump

copying +DATA1/ora11g/datafile/APP2TBS.394.936269559 -> /oracle/app/oracle/admin/ora11g/dpdump/APP2TBS.394.936269559

ASMCMD> cp  APP1TBS.393.936269553 /oracle/app/oracle/admin/ora11g/dpdump

copying +DATA1/ora11g/datafile/APP1TBS.393.936269553 -> /oracle/app/oracle/admin/ora11g/dpdump/APP1TBS.393.936269553

ASMCMD>

 

 

 

一.9  还原源库中的表空间为读/写模式

 

SYS@ora11g> alter tablespace app1tbs read write;

 

Tablespace altered.

 

SYS@ora11g> alter tablespace app2tbs read write;

 

Tablespace altered.

 

SYS@ora11g> alter tablespace idxtbs read write;

 

Tablespace altered.

 

 

SYS@ora11g> col tablespace_name format a20

SYS@ora11g> select tablespace_name,status from dba_tablespaces;

 

TABLESPACE_NAME      STATUS

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

SYSTEM               ONLINE

SYSAUX               ONLINE

UNDOTBS1             ONLINE

TEMP                 ONLINE

USERS                ONLINE

EXAMPLE              ONLINE

APP1TBS              ONLINE

APP2TBS              ONLINE

IDXTBS               ONLINE

 

9 rows selected.

 

SYS@ora11g>

 

至此,已和源库没有任何关系。

一.10  传输文件

这里需要传输转储元文件和数据文件到目标库

 

一.10.1  查看目标库数据文件位置和导入目录

[oracle@rhel6 ~]$ export ORACLE_SID=orclasm

 

[oracle@rhel6_lhr dpdump]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.3.0 Production on 星期三 2月 3 20:17:58 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

 

SQL> select name from v$datafile;

 

NAME

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

+DATA/orclasm/datafile/system.256.868235071

+DATA/orclasm/datafile/sysaux.257.868235073

+DATA/orclasm/datafile/undotbs1.258.868235073

+DATA/orclasm/datafile/users.259.868235073

13 rows selected.

 

SQL> set line 9999

SQL> col directory_name for a28

SQL> col directory_path for a100

SQL> select directory_name,directory_path from dba_directories;

 

DIRECTORY_NAME   DIRECTORY_PATH

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

XMLDIR        /ade/b/2125410156/oracle/rdbms/xml

DATA_PUMP_DIR        /u01/app/oracle/admin/orclasm/dpdump/

ORACLE_OCM_CONFIG_DIR   /u01/app/oracle/product/11.2.0/dbhome_1/ccr/state

3 rows selected.

 

SQL>

一.10.2  利用ftp工具传输转储元文件和数据文件到目标库DATA_PUMP_DIR目录并修改权限

【TTS】传输表空间AIX asm -> linux asm 

 

 

[root@rhel6_lhr ~]# cd /u01/app/oracle/admin/orclasm/dpdump

[root@rhel6_lhr dpdump]# ll

total 30856

-rw-r--r-- 1 root root 10493952 Feb 18  2017 APP1TBS.393.936269553

-rw-r--r-- 1 root root 10493952 Feb 18  2017 APP2TBS.394.936269559

-rw-r--r-- 1 root root     1597 Feb 18  2017 expdat_20160201.log

-rw-r--r-- 1 root root   110592 Feb 18  2017 expdat_tts_read_20160203.dmp

-rw-r--r-- 1 root root 10493952 Feb 18  2017 IDXTBS.395.936269565

[root@rhel6_lhr dpdump]# chown oracle:dba *

[root@rhel6_lhr dpdump]# ll

total 30856

-rw-r--r-- 1 oracle dba 10493952 Feb 18  2017 APP1TBS.393.936269553

-rw-r--r-- 1 oracle dba 10493952 Feb 18  2017 APP2TBS.394.936269559

-rw-r--r-- 1 oracle dba     1597 Feb 18  2017 expdat_20160201.log

-rw-r--r-- 1 oracle dba   110592 Feb 18  2017 expdat_tts_read_20160203.dmp

-rw-r--r-- 1 oracle dba 10493952 Feb 18  2017 IDXTBS.395.936269565

[root@rhel6_lhr dpdump]#

 

 

 

一.11  转换字节序

转换字节序可以在sorce端进行也可以在target端进行,我们选择在target端执行:

 

 

[oracle@rhel6_lhr dpdump]$ rman target /

 

恢复管理器: Release 11.2.0.3.0 - Production on 星期三 2月 3 20:22:52 2016

 

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

 

已连接到目标数据库: ORCLASM (DBID=3424884828)

 

RMAN> CONVERT DATAFILE

2> "/u01/app/oracle/admin/orclasm/dpdump/APP1TBS.393.936269553",

3> "/u01/app/oracle/admin/orclasm/dpdump/APP2TBS.394.936269559",

4> "/u01/app/oracle/admin/orclasm/dpdump/IDXTBS.395.936269565"

5> TO PLATFORM="Linux x86 64-bit"

6> FROM PLATFORM="AIX-Based Systems (64-bit)"

7> FORMAT '+DATA';

 

启动 conversion at target 于 2016-02-03 20:22:54

使用目标数据库控制文件替代恢复目录

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=10 设备类型=DISK

分配的通道: ORA_DISK_2

通道 ORA_DISK_2: SID=11 设备类型=DISK

通道 ORA_DISK_1: 启动数据文件转换

输入文件名=/u01/app/oracle/admin/orclasm/dpdump/APP1TBS.393.936269553

通道 ORA_DISK_2: 启动数据文件转换

输入文件名=/u01/app/oracle/admin/orclasm/dpdump/APP2TBS.394.936269559

已转换的数据文件 = +DATA/orclasm/datafile/app1tbs.299.902866977

通道 ORA_DISK_1: 数据文件转换完毕, 经过时间: 00:00:02

通道 ORA_DISK_1: 启动数据文件转换

输入文件名=/u01/app/oracle/admin/orclasm/dpdump/IDXTBS.395.936269565

已转换的数据文件 = +DATA/orclasm/datafile/app2tbs.300.902866977

通道 ORA_DISK_2: 数据文件转换完毕, 经过时间: 00:00:01

已转换的数据文件 = +DATA/orclasm/datafile/idxtbs.301.902866979

通道 ORA_DISK_1: 数据文件转换完毕, 经过时间: 00:00:03

完成 conversion at target 于 2016-02-03 20:23:01

 

RMAN>

 

 

一.12  target端开始导入数据

一.12.1  创建source库的2个用户并赋权限

如果不创建用户会报如下的错误:

ORA-39123: Data Pump transportable tablespace job aborted

ORA-29342: user USER_APP1 does not exist in the database

 

create user user_app1 identified by user_app1;

create user user_app2 identified by user_app2;

grant connect , resource to user_app1;

grant connect , resource to user_app2;

 

 

SYS@orclasm> create user user_app1 identified by user_app1;

 

User created.

 

SYS@orclasm> create user user_app2 identified by user_app2;

 

User created.

 

SYS@orclasm> grant connect , resource to user_app1;

 

Grant succeeded.

 

SYS@orclasm>  grant connect , resource to user_app2;

 

Grant succeeded.

 

SYS@orclasm>  exit

 

 

一.12.2  开始导入

导入元数据,注意这里的TRANSPORT_DATAFILES为转换后的新文件名称:

 

[oracle@rhel6_lhr dpdump]$ impdp \'/ as sysdba \' DUMPFILE=expdat_tts_read_20160203.dmp DIRECTORY=DATA_PUMP_DIR TRANSPORT_DATAFILES='+DATA/orclasm/datafile/app1tbs.299.902866977','+DATA/orclasm/datafile/app2tbs.300.902866977','+DATA/orclasm/datafile/idxtbs.301.902866979' LOGFILE=impdp_tts_read_20160203.log

 

Import: Release 11.2.0.3.0 - Production on 星期三 2月 3 20:24:52 2016

 

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  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

已成功加载/卸载了主表 "SYS"."SYS_IMPORT_TRANSPORTABLE_01"

启动 "SYS"."SYS_IMPORT_TRANSPORTABLE_01":  "/******** AS SYSDBA" DUMPFILE=expdat_tts_read_20160203.dmp DIRECTORY=DATA_PUMP_DIR TRANSPORT_DATAFILES=+DATA/orclasm/datafile/app1tbs.299.902866977,+DATA/orclasm/datafile/app2tbs.300.902866977,+DATA/orclasm/datafile/idxtbs.301.902866979 LOGFILE=impdp_tts_read_20160203.log

处理对象类型 TRANSPORTABLE_EXPORT/PLUGTS_BLK

处理对象类型 TRANSPORTABLE_EXPORT/TABLE

处理对象类型 TRANSPORTABLE_EXPORT/INDEX/INDEX

处理对象类型 TRANSPORTABLE_EXPORT/INDEX_STATISTICS

处理对象类型 TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK

作业 "SYS"."SYS_IMPORT_TRANSPORTABLE_01" 已于 20:25:20 成功完成

 

[oracle@rhel6_lhr dpdump]$

[oracle@rhel6 ~]$

 

一.12.3  查看target端表空间信息

 

 

[oracle@rhel6_lhr dpdump]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.3.0 Production on 星期三 2月 3 20:27:41 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

 

SYS@orclasm >  select tablespace_name,status from dba_tablespaces;

 

TABLESPACE_NAME                STATUS

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

SYSTEM                         ONLINE

SYSAUX                         ONLINE

UNDOTBS1                       ONLINE

TEMP                           ONLINE

USERS                          ONLINE

EXAMPLE                        ONLINE

TS_LHR                         ONLINE

ENCRYPTED_TS                   ONLINE

GOLDENGATE                     ONLINE

APP1TBS                        READ ONLY

APP2TBS                        READ ONLY

IDXTBS                         READ ONLY

 

已选择12行。

 

SYS@orclasm >

 

SYS@orclasm > alter tablespace APP1TBS read write;

 

表空间已更改。

 

SYS@orclasm > alter tablespace APP2TBS read write;

 

表空间已更改。

 

SYS@orclasm > alter tablespace IDXTBS read write;

 

表空间已更改。

 

SYS@orclasm > select tablespace_name,status from dba_tablespaces;

 

TABLESPACE_NAME                STATUS

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

SYSTEM                         ONLINE

SYSAUX                         ONLINE

UNDOTBS1                       ONLINE

TEMP                           ONLINE

USERS                          ONLINE

EXAMPLE                        ONLINE

TS_LHR                         ONLINE

ENCRYPTED_TS                   ONLINE

GOLDENGATE                     ONLINE

APP1TBS                        ONLINE

APP2TBS                        ONLINE

IDXTBS                         ONLINE

 

已选择12行。

 

SYS@orclasm >

 

SYS@orclasm> set line 9999 pagesize 9999

SYS@orclasm> select * from scott.app1_tab;

 

     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO

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

      9000 lastwiner

      9001 lastwiner

      7369 SMITH      CLERK           7902 17-12月-80            800                    20

      7499 ALLEN      SALESMAN        7698 20-2月 -81           1600        300         30

      7521 WARD       SALESMAN        7698 22-2月 -81           1250        500         30

      7566 JONES      MANAGER         7839 02-4月 -81           2975                    20

      7654 MARTIN     SALESMAN        7698 28-9月 -81           1250       1400         30

      7698 BLAKE      MANAGER         7839 01-5月 -81           2850                    30

      7782 CLARK      MANAGER         7839 09-6月 -81           2450                    10

      7788 SCOTT      ANALYST         7566 19-4月 -87           3000                    20

      7839 KING       PRESIDENT            17-11月-81           5000                    10

      7844 TURNER     SALESMAN        7698 08-9月 -81           1500          0         30

      7876 ADAMS      CLERK           7788 23-5月 -87           1100                    20

      7900 JAMES      CLERK           7698 03-12月-81            950                    30

      7902 FORD       ANALYST         7566 03-12月-81           3000                    20

      7934 MILLER     CLERK           7782 23-1月 -82           1300                    10

 

已选择16行。

 

SYS@orclasm> select * from scott.app2_tab;

 

    DEPTNO DNAME          LOC

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

        10 ACCOUNTING     NEW YORK

        20 RESEARCH       DALLAS

        30 SALES          CHICAGO

        40 OPERATIONS     BOSTON

 

SYS@orclasm > 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_APP1                      IDX_EMP_ENAME                  APP1_TAB                       IDXTBS

USER_APP2                      IDX_DEPT_DNAME                 APP2_TAB                       IDXTBS

 

SYS@orclasm >

SYS@orclasm > 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.299.902866977

APP2TBS                        +DATA/orclasm/datafile/app2tbs.300.902866977

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.301.902866979

TS_LHR                         +DATA/orclasm/datafile/ts_lhr.284.869738273

USERS                          +FRA/orclasm/datafile/users.449.880121199

SYSTEM                         +FRA/orclasm/datafile/system.349.880121287

 

已选择14行。

 

SYS@orclasm >

 

 

 

至此说明3个表空间已经完全由AIX平台迁移到Linux平台上。

 

 

 

 

 

 

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

 

 

一.13  总结

 

到此所有的处理算是基本完毕,过程很简单,但是不同的场景处理方式有很多种,我们应该学会灵活变通。


上一篇:【TTS】传输表空间AIX->linux基于rman


下一篇:【论文学习笔记】《Voice Transformer Network》