使用RMAN传输表空间复制数据

本文详细介绍了数据库跨平台迁移的六个关键步骤,包括检查平台兼容性、验证表空间自包含性、备份准备、生成可传输集、文件复制及执行导入脚本等。这些步骤对于确保数据完整性和迁移成功率至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、检查平台是否支持

在源库和目标库执行以下语句:

SQL> SELECT d.NAME, i.VERSION, d.PLATFORM_NAME, ENDIAN_FORMAT
2 FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d, V$INSTANCE i
3 WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME
4 and d.DB_UNIQUE_NAME = i.INSTANCE_NAME;


实例名数据库版本操作系统平台字节顺序
---------- --------------- ------------------------------ ---------------
JSSWEB 10.2.0.1.0 Microsoft Windows IA (32-bit) Little

 

二、检查待传输表空间是否自包含

使用DBMS_TTS包的TRANSPORT_SET_CHECK过程来验证待传输表空间集是否自包含,TRANSPORT_SET_CHECK过程可以以两种方式执行:非严格方式和严格方式

例:

SQL> exec dbms_tts.transport_set_check('jssweb', TRUE);
PL/SQL 过程已成功完成。
SQL> SELECT * FROM TRANSPORT_SET_VIOLATIONS;
未选定行


如果表空间集满足自包含检查,则视图返回空记录。

三、检查备份

四、生成可传输集

连接到目标数据库: JSSWEB (DBID=3402005373)
RMAN>transport tablespace jssweb
2>tablespace destination 'd:\backup\td'
3>auxiliary destination 'd:\backup\ad'
4>;

五、复制文件到目标平台
方式方法太多,没啥技术含量,跳过。

六、执行导入脚本

注意,导入表空间在源平台所属的用户必须存在,另外一旦复制到目标库后文件路径如果发生变化,一定要修改impscript.sql 文件中相应的路径。

除了用脚本导入之外,你还可以直接通过impdp 命令
导入(实际dbms_streams_tablespace_adm.attach_tablespaces 函数就是调用的impdp),例如:
[oracle@jsslinux dpdump]$ impdp system/verysafe DUMPFILE=dmpfile.dmp DIRECTORY=DATA_PUMP_DIR TRANSPORT_DATAFILES=/opt/oratmp/oradata/JSSWEB.DBF

 

转载于:https://www.cnblogs.com/landexia/archive/2012/12/28/2837350.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值