前言

跨网络传输数据库,可以通过使用network_link参数来执行导入操作,导入操作将使用数据库链路,不需要生成dump文件。
操作步骤如下:
1、在目标数据库中创建链接到源数据库的数据链路。执行导入操作的用户必须要有datapump_imp_full_database权限,并且连接到源数据库的数据链路也必须连接到一个有datapump_exp_full_database角色的用户。在源数据库中用户不能有sysdba管理权限。
2、在源数据库上将所有用户表空间置为只读模式
3、将源数据库中所有用户表空间相关的数据文件传输到目标数据库。如果源平台与目标平台的字节编码不同,那么查询v$transportable_platform视图来进行查看。并且将可以使用以下一种方法来转换数据文件:
.使用dbms_file_transfer包中的get_file或put_file过程来传输数据文件。这些过程会自动将数据文件的字节编码转换为目标平台的字节编码。
.使用rman的convert命令来将数据文件的字节编码转换为目标平台的字节编码。
4、在目标数据库上执行导入操作。使用Data Pump工具来导入所有用户表空间的元数据与管理表空间的元数据与真实数据。
确保以下参数正确设置:
.transportable=always .transport_datafiles=list_of_datafiles .full=y .network_link=database_link .version=12
如果源数据库为11.2.0.3或11g之后的版本,那么必须设置version=12。如果源数据库与目标数据库都是12c,那么version参数不用设置。
如果源数据库包含任何加密表空间或表空间包含加密列,那么你必须指定encryption_pwd_prompt=yes或指定encryption_password参数。
Data Pump跨网络导入将会复制所有用户表空间所存储对象的元数据与管理表空间中的元与用户对象的真实数据。当导入完成后,用户表空间将会置于读写模式。
5、可选操作将源数据库中的所有用户表空间置为读写模式。
下面的例子是将源数据库jyrac传输到目标数据库jypdb
1.在目标数据库中以sys用户来创建链接到源数据库的数据链路。源数据库中的用户为jy
SQL> conn sys/xxzx7817600@jypdb as sysdba Connected. SQL> create public database link jyrac_link 2 connect to jy identified by "jy" 3 using '(DESCRIPTION = 4 (ADDRESS_LIST = 5 (ADDRESS = (PROTOCOL = TCP)(HOST =10.138.130.153)(PORT = 1521)) 6 ) 7 (CONNECT_DATA = 8 (SERVER = DEDICATED) 9 (SERVICE_NAME =jyrac) 10 ) 11 )'; Database link created.
2.在源数据库上将所有用户表空间置为只读模式
SQL> select tablespace_name,status from dba_tablespaces; TABLESPACE_NAME STATUS ------------------------------ --------- SYSTEM ONLINE SYSAUX ONLINE UNDOTBS1 ONLINE TEMP ONLINE USERS ONLINE UNDOTBS2 ONLINE EXAMPLE ONLINE TEST ONLINE 8 rows selected. SQL> alter tablespace test read only; Tablespace altered. SQL> alter tablespace users read only; Tablespace altered. SQL> alter tablespace example read only; Tablespace altered. SQL> select tablespace_name,status from dba_tablespaces; TABLESPACE_NAME STATUS ------------------------------ --------- SYSTEM ONLINE SYSAUX ONLINE UNDOTBS1 ONLINE TEMP ONLINE USERS READ ONLY UNDOTBS2 ONLINE EXAMPLE READ ONLY TEST READ ONLY 8 rows selected.
3.在目标数据库中使用dbms_file_transfer包中的get_file过程将源数据库中所有用户表空间相关的数据文件传输到目标数据库上
在源数据库中创建目录tts_datafile(存储数据文件)
SQL> create or replace directory tts_datafile as '+datadg/jyrac/datafile/'; Directory created. SQL> grant execute,read,write on directory tts_datafile to public; Grant succeeded.
在目标数据库中创建目录tts_datafile(存储数据文件)
SQL> create or replace directory tts_datafile as '+DATA/JY/4B2C6373AE2547CCE053AB828A0A7CA3/DATAFILE/'; Directory created. SQL> grant execute,read,write on directory tts_datafile to public; Grant succeeded.
在目标数据库中执行dbms_file_transfer.get_file过程将源数据库中所有用户表空间所相关的数据文件传输到目标数据库中
SQL> exec dbms_file_transfer.get_file(source_directory_object =>'TTS_DATAFILE',source_file_name => 'test01.dbf',source_database =>'jyrac_link',destination_directory_object => 'TTS_DATAFILE',destination_file_name => 'test01.dbf'); PL/SQL procedure successfully completed. SQL> exec dbms_file_transfer.get_file(source_directory_object =>'TTS_DATAFILE',source_file_name => 'example.260.930413057',source_database =>'jyrac_link',destination_directory_object => 'TTS_DATAFILE',destination_file_name => 'example01.dbf'); PL/SQL procedure successfully completed. SQL> exec dbms_file_transfer.get_file(source_directory_object =>'TTS_DATAFILE',source_file_name => 'users.263.930413057',source_database =>'jyrac_link',destination_directory_object => 'TTS_DATAFILE',destination_file_name => 'users01.dbf'); PL/SQL procedure successfully completed.
ASMCMD [+data/jy/4B2C6373AE2547CCE053AB828A0A7CA3/datafile] > ls -lt Type Redund Striped Time Sys Name DATAFILE UNPROT COARSE JUN 02 16:00:00 N users01.dbf => +DATA/jy/4B2C6373AE2547CCE053AB828A0A7CA3/DATAFILE/FILE_TRANSFER.298.945620417 DATAFILE UNPROT COARSE JUN 02 16:00:00 N test01.dbf => +DATA/jy/4B2C6373AE2547CCE053AB828A0A7CA3/DATAFILE/FILE_TRANSFER.300.945620337 DATAFILE UNPROT COARSE JUN 02 16:00:00 N example01.dbf => +DATA/jy/4B2C6373AE2547CCE053AB828A0A7CA3/DATAFILE/FILE_TRANSFER.299.945620391 DATAFILE UNPROT COARSE JUN 02 16:00:00 Y FILE_TRANSFER.300.945620337 DATAFILE UNPROT COARSE JUN 02 16:00:00 Y FILE_TRANSFER.299.945620391 DATAFILE UNPROT COARSE JUN 02 16:00:00 Y FILE_TRANSFER.298.945620417 DATAFILE UNPROT COARSE JUN 02 00:00:00 N testtb01.dbf => +DATA/jy/4B2C6373AE2547CCE053AB828A0A7CA3/DATAFILE/TESTTB.295.944828399 DATAFILE UNPROT COARSE JUN 02 00:00:00 Y UNDO_2.277.939167063 DATAFILE UNPROT COARSE JUN 02 00:00:00 Y UNDOTBS2.278.945029905 DATAFILE UNPROT COARSE JUN 02 00:00:00 Y UNDOTBS1.273.939167015 DATAFILE UNPROT COARSE JUN 02 00:00:00 Y TESTTB.295.944828399 DATAFILE UNPROT COARSE JUN 02 00:00:00 Y SYSTEM.274.939167015 DATAFILE UNPROT COARSE JUN 02 00:00:00 Y SYSAUX.275.939167015
4.在目标数据库上执行导入操作。使用Data Pump工具来导入所有用户表空间的元数据与管理表空间的元数据与真实数据。
[oracle@jytest1 tts]$ impdp system/xxzx7817600@JYPDB_175 full=y network_link=jyrac_link transportable=always transport_datafiles='+data/jy/4B2C6373AE2547CCE053AB828A0A7CA3/datafile/test01.dbf','+data/jy/4B2C6373AE2547CCE053AB828A0A7CA3/datafile/example01.dbf','+data/jy/4B2C6373AE2547CCE053AB828A0A7CA3/datafile/users01.dbf' version=12 directory=TTS_DUMP_LOG logfile=import.log Import: Release 12.2.0.1.0 - Production on Fri Jun 2 16:30:40 2017 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production Starting "SYSTEM"."SYS_IMPORT_FULL_01": system/********@JYPDB_175 full=y network_link=jyrac_link transportable=always transport_datafiles=+data/jy/4B2C6373AE2547CCE053AB828A0A7CA3/datafile/test01.dbf,+data/jy/4B2C6373AE2547CCE053AB828A0A7CA3/datafile/example01.dbf,+data/jy/4B2C6373AE2547CCE053AB828A0A7CA3/datafile/users01.dbf version=12 directory=TTS_DUMP_LOG logfile=import.log Estimate in progress using BLOCKS method... Processing object type DATABASE_EXPORT/PLUGTS_FULL/FULL/PLUGTS_TABLESPACE Processing object type DATABASE_EXPORT/PLUGTS_FULL/PLUGTS_BLK Processing object type DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLE_DATA Processing object type DATABASE_EXPORT/NORMAL_OPTIONS/TABLE_DATA Processing object type DATABASE_EXPORT/NORMAL_OPTIONS/VIEWS_AS_TABLES/TABLE_DATA ....... Processing object type DATABASE_EXPORT/SCHEMA/DIMENSION Processing object type DATABASE_EXPORT/END_PLUGTS_BLK Processing object type DATABASE_EXPORT/FINAL_POST_INSTANCE_IMPCALLOUT/MARKER Processing object type DATABASE_EXPORT/SCHEMA/TABLE/POST_INSTANCE/PROCACT_INSTANCE Processing object type DATABASE_EXPORT/SCHEMA/TABLE/POST_INSTANCE/PROCDEPOBJ Processing object type DATABASE_EXPORT/SCHEMA/POST_SCHEMA/PROCOBJ Processing object type DATABASE_EXPORT/SCHEMA/POST_SCHEMA/PROCACT_SCHEMA Processing object type DATABASE_EXPORT/AUDIT Processing object type DATABASE_EXPORT/POST_SYSTEM_IMPCALLOUT/MARKER ORA-39082: Object type PROCEDURE:"APEX_030200"."F" created with compilation warnings ORA-39082: Object type PROCEDURE:"APEX_030200"."APEX_ADMIN" created with compilation warnings ORA-39082: Object type PROCEDURE:"APEX_030200"."HTMLDB_ADMIN" created with compilation warnings Job "SYSTEM"."SYS_IMPORT_FULL_01" completed with 1689 error(s) at Fri Jun 2 16:43:47 2017 elapsed 0 00:13:03
传输完成后我们抽查用户jy的dba_tables表的数据在传输后是否与源数据库中的数据一致。
源数据库
SQL> conn sys/xxzx7817600@jyrac as sysdba Connected. SQL> select count(*) from jy.dba_tables; COUNT(*) ---------- 2141
目标数据库
SQL> conn sys/xxzx7817600@jypdb as sysdba Connected. SQL> select count(*) from jy.dba_tables; COUNT(*) ---------- 2141
查询传输后用户表空间的状态是否为online,可以看到test,example,users表空间状态为online
SQL> select tablespace_name,status from dba_tablespaces; TABLESPACE_NAME STATUS ------------------------------ --------- SYSTEM ONLINE SYSAUX ONLINE UNDOTBS1 ONLINE TEMP ONLINE UNDO_2 ONLINE USERS ONLINE TESTTB ONLINE TEMP2 ONLINE TEMP3 ONLINE EXAMPLE ONLINE TEST ONLINE UNDOTBS2 ONLINE 12 rows selected.
5.将源数据库中的所有用户表空间设置为读写模式
SQL> alter tablespace test read write; Tablespace altered. SQL> alter tablespace example read write; Tablespace altered. SQL> alter tablespace users read write; Tablespace altered. SQL> select tablespace_name,status from dba_tablespaces; TABLESPACE_NAME STATUS ------------------------------ --------- SYSTEM ONLINE SYSAUX ONLINE UNDOTBS1 ONLINE TEMP ONLINE USERS ONLINE UNDOTBS2 ONLINE EXAMPLE ONLINE TEST ONLINE 8 rows selected.
到此通过网络执行完整数据库传输的操作就完成了。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# oracle
# 12c
# 12c使用教程
# oracle数据传输
# PLSQL Developer连接oracle数据库配置教程
# PLSQL Developer登录的默认密码介绍
# Plsql Developer连接Oracle时出现Could not initialize oci
# Windows 64位下装安装Oracle 11g
# PLSQL Developer的配置问题
# 数据库显示空白的完美解决方案(图文教程)
# 通过PLSQL Developer创建Database link
# DBMS_Job
# Procedure
# 实现Oracle跨库传输数据的方法(推荐)
# 数据库中
# 链路
# 将会
# 文件传输
# 转换为
# 连接到
# 都是
# 包中
# 完成后
# 不需要
# 要有
# 可以通过
# 能有
# 可以看到
# 可以使用
# 可选
# 这篇文章
# 谢谢大家
# 你必须
# 到此
相关文章:
如何通过服务器快速搭建网站?完整步骤解析
北京建设网站制作公司,北京古代建筑博物馆预约官网?
如何配置WinSCP新建站点的密钥验证步骤?
动图在线制作网站有哪些,滑动动图图集怎么做?
教程网站设计制作软件,怎么创建自己的一个网站?
制作宣传网站的软件,小红书可以宣传网站吗?
招贴海报怎么做,什么是海报招贴?
如何在万网ECS上快速搭建专属网站?
如何通过建站之星自助学习解决操作问题?
建站之星如何通过成品分离优化网站效率?
义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?
微信推文制作网站有哪些,怎么做微信推文,急?
制作网站的基本流程,设计网站的软件是什么?
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
如何用免费手机建站系统零基础打造专业网站?
如何选择适合PHP云建站的开源框架?
如何自定义建站之星网站的导航菜单样式?
建站主机是否等同于虚拟主机?
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
高防服务器如何保障网站安全无虞?
广州建站公司哪家好?十大优质服务商推荐
制作营销网站公司,淘特是干什么用的?
建站主机选购指南:核心配置优化与品牌推荐方案
网站设计制作企业有哪些,抖音官网主页怎么设置?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
如何通过老薛主机一键快速建站?
如何在宝塔面板中创建新站点?
济南网站制作的价格,历城一职专官方网站?
如何用y主机助手快速搭建网站?
网站企业制作流程,用什么语言做企业网站比较好?
建站主机如何选?性能与价格怎样平衡?
定制建站方案优化指南:企业官网开发与建站费用解析
制作网站怎么制作,*游戏网站怎么搭建?
一键制作网站软件下载安装,一键自动采集网页文档制作步骤?
网站建设制作、微信公众号,公明人民医院怎么在网上预约?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?
临沂网站制作企业,临沂第三中学官方网站?
,柠檬视频怎样兑换vip?
制作国外网站的软件,国外有哪些比较优质的网站推荐?
如何在Windows 2008云服务器安全搭建网站?
在线教育网站制作平台,山西立德教育官网?
如何正确选择百度移动适配建站域名?
如何快速搭建高效香港服务器网站?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
宝塔Windows建站如何避免显示默认IIS页面?
免费ppt制作网站,有没有值得推荐的免费PPT网站?
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
企业网站制作公司网页,推荐几家专业的天津网站制作公司?
*请认真填写需求信息,我们会在24小时内与您取得联系。