amwdnuff 发表于 2010-9-14 22:32

oracle10g跨os平台迁移表空间

oracle10g跨os平台迁移表空间


利用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> grantresource,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 opti**
启动 "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 OE (32-bit)                                                          Big
            2 Solaris 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> grantresource,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.dmpdirectory=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 opti**
已成功加载/卸载了主表 "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>
页: [1]
查看完整版本: oracle10g跨os平台迁移表空间