利用oracle10g_rman_convert_transportable tablespace迁移表空间
前言:
利用rman cross-platform. transfortable databases and tablespaces 跨os平台迁移数据库或表空间
1、在源库创建要cross的表空间及对应的用户
SQL> create tablespace crosstbs datafile 'D:\ORACLE\PRODUCT\10.1.0\DB_1\TRAIN\crosstbs.DBF' size 10m; --建立表空间
SQL> create user crosstbs identified by crosstbs default tablespace CROSSTBS; --建立用户
SQL> grant resource,connect to crosstbs; --对用户进行授权
SQL> conn crosstbs/crosstbs
已连接。
SQL> create table test(a int) ; --建立表并插入记录
表已创建。
SQL> insert into test values(1);
已创建 1 行。
SQL> insert into test values(2);
已创建 1 行。
SQL> commit;
提交完成。
SQL> conn / as sysdba
已连接。
SQL> alter tablespace crosstbs read only; --置只读
SQL> create directory dumpdir as 'c:\temp' ; --IMPDP、EXPDM 要用到
目录已创建。
SQL> grant read,write on directory dumpdir to crosstbs; --目录授权
授权成功。
2、在源库导出要cross os的表空间
c:\temp> expdp system/manager directory=dumpdir dumpfile=exp_crosstbs.dmp transport_tablespaces=crosstbs
Export: Release 10.1.0.2.0 - Production on 星期三, 08 9月, 2010 10:47
Copyright (c) 2003, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
启动 "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01": system/******** directory=dumpdir
dumpfile=exp_crosstbs.dmp transport_tablespaces=crosstbs
处理对象类型 TRANSPORTABLE_EXPORT/PLUGTS_BLK
处理对象类型 TRANSPORTABLE_EXPORT/TABLE
处理对象类型 TRANSPORTABLE_EXPORT/TTE_POSTINST/PLUGTS_BLK
已成功加载/卸载了主表 "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01"
******************************************************************************
SYSTEM.SYS_EXPORT_TRANSPORTABLE_01 的转储文件集为:
C:\TEMP\EXP_CROSSTBS.DMP
作业 "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" 已于 10:48 成功完成
3、在源库对cross os的表空间数据文件进行转换
SQL>select platform_id,platform_name,.endian_format from v$transportable_platform ;
PLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT
----------- -------------------------------------------------------------------------------- --------------
1 Solaris[tm] OE (32-bit) Big
2 Solaris[tm] OE (64-bit) Big
7 Microsoft Windows IA (32-bit) Little
10 Linux IA (32-bit) Little
6 AIX-Based Systems (64-bit) Big
3 HP-UX (64-bit) Big
5 HP Tru64 UNIX Little
4 HP-UX IA (64-bit) Big
11 Linux IA (64-bit) Little
15 HP Open VMS Little
8 Microsoft Windows IA (64-bit) Little
9 IBM zSeries Based Linux Big
13 Linux 64-bit for AMD Little
16 Apple Mac OS Big
12 Microsoft Windows 64-bit for AMD Little
15 rows selected
C:\>
C:\>rman catalog rman/rman target sys/dddddd
恢复管理器: 版本10.1.0.2.0 - Production
Copyright (c) 1995, 2004, Oracle. All rights reserved.
连接到目标数据库: TRAIN (DBID=1113606269)
连接到恢复目录数据库
RMAN> convert tablespace crosstbs to platform 'Microsoft Windows IA (32-bit)'
2> format ='c:\temp\crosstbs.dbf';
启动 backup 于 08-9月 -10
正在启动全部恢复目录的 resync
完成全部 resync
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=139 devtype=DISK
分配的通道: ORA_DISK_2
通道 ORA_DISK_2: sid=141 devtype=DISK
分配的通道: ORA_DISK_3
通道 ORA_DISK_3: sid=134 devtype=DISK
通道 ORA_DISK_1: 启动数据文件转换
输入数据文件 fno=00009 name=D:\ORACLE\PRODUCT\10.1.0\DB_1\TRAIN\CROSSTBS.DBF
已转换的数据文件 = C:\TEMP\crosstbs.dbf
通道 ORA_DISK_1: 数据文件转换完毕, 经过时间: 00:00:01
完成 backup 于 08-9月 -10
RMAN>exit
4、在目标库利用ftp把源库产生的dmp文件及转换文件(rman加工生产),下载到目标库
5、在目标库实施impdp导入表空间
SQL> create user crosstbs identified by crosstbs ; --建立用户
SQL> grant resource,connect to crosstbs; --对用户进行授权
SQL> create directory dumpdir as 'c:\temp' ; --IMPDP、EXPDM 要用到
目录已创建。
SQL> grant read,write on directory dumpdir to crosstbs; --目录授权
授权成功。
C:\temp>impdp system/manager dumpfile=exp_crosstbs.dmp directory=dumpdir transport_datafiles=c:\temp\crosstbs.dbf
Import: Release 10.1.0.2.0 - Production on 星期三, 08 9月, 2010 12:20
Copyright (c) 2003, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
已成功加载/卸载了主表 "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01"
启动 "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01": system/******** dumpfile=exp_cross
tbs.dmp directory=dumpdir transport_datafiles=c:\temp\crosstbs.dbf
处理对象类型 TRANSPORTABLE_EXPORT/PLUGTS_BLK
处理对象类型 TRANSPORTABLE_EXPORT/TABLE
处理对象类型 TRANSPORTABLE_EXPORT/TTE_POSTINST/PLUGTS_BLK
作业 "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" 已于 12:20 成功完成
6、在目标库对导入的crosstbs os表空间进行read write操作
SQL>conn / as sysdba
SQL> alter tablespace crosstbs read write;
表空间已更改。
SQL> conn crosstbs/crosstbs
已连接。
SQL> select * from test;
A
----------
1
2
SQL>
阅读(1386) | 评论(1) | 转发(0) |