oracle rman表空间传输,使用RMAN跨平台传输表空间

实验题:

传输表空间就是把另一个平台的表空间的dmp文件和数据文件传输到另一个数据库

步骤:

1、表空间read only

查看表空间是否自包含

SYS@prod> exec dbms_tts.transport_set_check(‘TEST_1’,TRUE);

PL/SQL procedure successfully completed.

SYS@prod> select * from transport_set_violations;

no rows selected

2、导出表空间

expdp ‘sys/oracle as sysdba’ directory=e_exp dumpfile=test_1,dmp transport_tablespace=y tablespaces=test_1 log=test_1_tts.log

3、把dmp文件传输过去

转换数据文件格式,既可以在源端执行 在源端执行时候只能转换表空间不能转换单一的数据文件

convert tablespace tab_cs to platform ‘Solaris[tm] OE (32-bit)’ db_file_name_convert=’/u01/app/oracle/oradata/prod’,’/home/oracle/solaris’;

又可以在目标端执行

rman>convert tablespace tab_cs from platform ‘Solaris[tm] OE (64-bit)’ format ‘/u01/app/oracle/oradata/PROD4/PROD4/trpdata’;

rman>convert datafile ‘/u01/app/oracle/oradata/PROD4/PROD4/tbs_cs.dbf’ from platform ‘Solaris[tm] OE (64-bit)’ format ‘/u01/app/oracle/oradata/PROD4/PROD4/trpdata’;

注意:db_file_name_convert 是指定文件夹;format是指定具体位置。

4、在目标端执行导入

impdp system/oracle directory=d1 dumpfile=trans3_2.dmp transport_datafiles=’/u01/app/oracle/oradata/PROD4/PROD4/trpdata’;

现有一个从solaris操作系统中拷贝过来的数据文件(sst用户的对象)一个,属于TRPDATA 表空间,文件里面存储着sst用户的表,现在要把这个文件导入到linux平台

1、把solaris的导出数据文件转换为linux数据文件;

查看平台的字节序

select * 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

PLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT

9 IBM zSeries Based Linux Big

13 Linux x86 64-bit Little

16 Apple Mac OS Big

12 Microsoft Windows x86 64-bit Little

17 Solaris Operating System (x86) Little

18 IBM Power Based Linux Big

19 HP IA Open VMS Little

20 Solaris Operating System (x86-64) Little

21 Apple Mac OS (x86-64) Little

在目标端进行转换

把solaris系统的导出文件转换为/u01/app/oracle/oradata/PROD4/PROD4/trpdata

rman target /

rman>convert datafile ‘/home/oracle/TRPDATA_6_solaris’ from platform ‘Solaris[tm] OE (64-bit)’ format ‘/u01/app/oracle/oradata/PROD4/PROD4/trpdata’;

################################################################

补充表空间转换:

RMAN> convert tablespace TBS3 to platform ‘IBM Power Based Linux’ format ‘/home/oracle/AIXTBS3.DBF’;

convert tablespace tab_cs to platform ‘Solaris[tm] OE (32-bit)’ db_file_name_convert=’/u01/app/oracle/oradata/prod’,’/home/oracle/solaris’;

#############################################################################

2、在目标库上创建目录和用户;

create directory d1 as ‘/home/oracle/’;

create user sst identified by oracle;

grant dba to sst;

3、在目标库上执行导入命令。

impdp system/oracle directory=d1 dumpfile=trans3_2.dmp transport_datafiles=’/u01/app/oracle/oradata/PROD4/PROD4/trpdata’;

4、打开表空间读写

select tablespace_name ,status from dba_tablespaces;

TRPDATA READ ONLY

alter tablespace trpdata read write;

7、查询验证导入是否正确

select status,tablespace_name from dba_tablespaces;

conn sst/oracle

select * from tab;

select * from employees;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值