oracle 传输数据库、表空间
oracle 传输表空间自8i开始推出,用于同平台、跨平台间快速数据传输、迁移,11g 开始支持传输数据库特性。
1、查询数据库支持的平台、字节序,必须是受支持的平台、字节序才支持传输。
select * from v$transportable_platform ;
2、传输数据库(oracle 11g及以上)
传输数据库的简要操作步骤
1) 确定平台的 Endian 格式(源平台和目标平台必须是相同的字节序)是否支持转换
--数据库必须只读打开模式
set serveroutput on
declare
db_ready boolean;
begin
db_ready := dbms_tdb.check_db('Linux x86 64-bit',0);
if (db_ready) then
dbms_output.put_line('True');
else
dbms_output.put_line('False');
end if;
end;
2)rman在源平台或者目标平台进行转换(数据库必须只读打开模式)
--源平台
CONVERT DATABASE NEW DATABASE 'newdb'
transport script '/tmp/convertdb/transportscript'
to platform 'Linux x86 64-bit'
db_file_name_convert '/disk1/oracle/dbs' '/tmp/convertdb'
;
--目标平台
CONVERT DATABASE ON TARGET PLATFORM
CONVERT SCRIPT '/tmp/convertdb/convertscript.rman'
TRANSPORT SCRIPT '/tmp/convertdb/transportscript.sql'
new database 'newdb'
FORMAT '/tmp/convertdb/%U'
3、传输表空间(8i支持同平台同数据块,9i支持同平台不同数据块,10g开始支持跨平台)
传输表空间的简要操作步骤(源数据库与目标数据库必须是相同的字符集、国家字符集)
1) 确定平台的 Endian 格式
2) 确保表空间为自包含并使其只读
EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK('sales_1_tbs,sales_2_tbs',TRUE);
SELECT * FROM TRANSPORT_SET_VIOLATIONS;--确保查询结果为空
ALTER TABLESPACE sales_1_tbs READ ONLY;
ALTER TABLESPACE sales_2_tbs READ ONLY;
3) 用 exp、expdp等实用程序导出元数据
EXPDP system/password DUMPFILE=expdat.dmp logfile=expdp.log DIRECTORY=dpump_dir TRANSPORT_TABLESPACES = sales_1_tbs,sales_2_tbs
4) rman转换数据文件以匹配 Endian 格式 ( 若一致可跳过),可以在源平台使用convert TABLESPACE 转换,也可以在目标平台使用convert datafile转换
--源平台
CONVERT TABLESPACE sales_1_tbs,sales_2_tbs
TO PLATFORM 'Linux x86 64-bit'
FORMAT '/temp/%U';
5) 拷贝文件到目标系统,rman转换数据文件以匹配 Endian 格式( 若一致可跳过),可以在源平台使用convert TABLESPACE 转换,也可以在目标平台使用convert datafile转换
--目标平台
CONVERT DATAFILE
'/temp/sales_101.dbf',
'/temp/sales_201.dbf'
TO PLATFORM="Linux x86 64-bit"
FROM PLATFORM="AIX-Based Systems (64-bit)"
DBFILE_NAME_CONVERT=
"/temp/","/u01/app/oradata/testdb/"
PARALLELISM=5;
6) 使用 imp、impdp导入实用程序导入元数据
IMPDP system/password DUMPFILE=expdat.dmp DIRECTORY=dpump_dir
TRANSPORT_DATAFILES=/u01/app/oradata/testdb/sales_101.dbf,/u01/app/oradata/testdb/sales_201.dbf
ALTER TABLESPACE sales_1_tbs READ WRITE;
ALTER TABLESPACE sales_2_tbs READ WRITE;
本文来自博客园,作者:踏雪无痕2017,转载请注明原文链接:https://www.cnblogs.com/oradba/p/15704809.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)