iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Oracle 12C如何实现跨网络传输数据库
  • 310
分享到

Oracle 12C如何实现跨网络传输数据库

2024-04-02 19:04:59 310人浏览 独家记忆
摘要

这篇文章主要为大家展示了“oracle 12C如何实现跨网络传输数据库”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle 12C如何实现跨网络传输数据库

这篇文章主要为大家展示了“oracle 12C如何实现跨网络传输数据库”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle 12C如何实现跨网络传输数据库”这篇文章吧。

前言

跨网络传输数据库,可以通过使用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如何实现跨网络传输数据库”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: Oracle 12C如何实现跨网络传输数据库

本文链接: https://www.lsjlt.com/news/56537.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Oracle 12C如何实现跨网络传输数据库
    这篇文章主要为大家展示了“Oracle 12C如何实现跨网络传输数据库”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle 12C如何实现跨网络传输数据库...
    99+
    2024-04-02
  • Oracle中怎么实现跨平台数据传输
    在Oracle中实现跨平台数据传输通常可以通过以下几种方式: 使用Oracle Data Pump:Oracle Data Pu...
    99+
    2024-04-19
    Oracle
  • C++ 函数在网络编程中如何实现数据传输?
    c++++ 的网络数据传输函数包括 recv() 和 send(),用于服务器端接收和发送数据。以下步骤演示了使用 recv() 和 send() 创建回显服务器的过程:1. 创建套接字...
    99+
    2024-04-27
    网络编程 数据传输 c++
  • JS跨域之window.name实现的跨域数据传输
    一、 window.name的性质 window.name有一个奇妙的性质,页面如果设置了window.name,那么在不关闭页面的情况下,即使进行了页面跳转location.hre...
    99+
    2024-04-02
  • PHP开发中如何优化网络传输和数据传输
    在进行PHP开发时,网络传输和数据传输是非常关键的部分。优化网络传输和数据传输可以提高网站的性能、减少资源的占用和加快用户的访问速度。本文将介绍一些优化网络传输和数据传输的方法,并提供具体的代码示例。一、优化网络传输使用HTTP缓存机制HT...
    99+
    2023-10-21
    缓存 压缩 分块传输
  • 阿里云数据库跨区域内网实现数据的高效传输和管理
    随着互联网技术的发展,数据的传输和管理已经成为企业运营中的重要一环。阿里云数据库跨区域内网,就是一种实现数据高效传输和管理的技术,它可以帮助企业在不同地理位置的服务器之间快速、安全地传输数据。本文将详细介绍阿里云数据库跨区域内网的工作原理和...
    99+
    2023-12-18
    高效 阿里 域内
  • 数据库中如何实现表空间传输
    这篇文章主要为大家展示了“数据库中如何实现表空间传输”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“数据库中如何实现表空间传输”这篇文章吧。 ...
    99+
    2024-04-02
  • win11如何关闭跨境传输数据
    要关闭Windows 11中的跨境数据传输,您可以按照以下步骤操作:1. 打开“设置”:点击任务栏中的“开始”按钮,然后点击“设置”...
    99+
    2023-08-21
    win11
  • 如何部署Oracle 12c企业版数据库
    这篇文章主要介绍了如何部署Oracle 12c企业版数据库,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在计算机信息安全领域中,数据库系统无...
    99+
    2024-04-02
  • Oracle 12C如何使用备份集执行只读表空间的跨平台传输
    这篇文章主要介绍Oracle 12C如何使用备份集执行只读表空间的跨平台传输,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用带用for transport或to platform子...
    99+
    2024-04-02
  • oracle 12c如何检查pdb数据库状态
    这篇文章主要为大家展示了“oracle 12c如何检查pdb数据库状态”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“oracle 12c如何检查pdb数据库状态...
    99+
    2024-04-02
  • oracle如何实现跨库查询
    这篇文章主要为大家展示了“oracle如何实现跨库查询”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“oracle如何实现跨库查询”这篇文章吧。在Oracle本地...
    99+
    2024-04-02
  • 如何使用备份集跨平台传输整个CDB数据库
    本篇内容主要讲解“如何使用备份集跨平台传输整个CDB数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用备份集跨平台传输整...
    99+
    2024-04-02
  • 怎么用JS中的window.name实现跨域数据传输
    这篇文章主要讲解了“怎么用JS中的window.name实现跨域数据传输”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用JS中的window.name实现跨域数据传输”吧!一、 wind...
    99+
    2023-06-29
  • 在Oracle数据库中如何实现跨平台数据迁移和升级
    在Oracle数据库中,可以使用以下方法实现跨平台数据迁移和升级: 使用Oracle Data Pump工具:Oracle Da...
    99+
    2024-03-02
    Oracle
  • 利用PHP网络函数实现远程请求和数据传输功能
    利用PHP网络函数实现远程请求和数据传输功能随着互联网的快速发展,远程请求和数据传输成为了各个应用程序不可或缺的一部分。PHP作为一种流行的服务器端脚本语言,具有丰富的网络函数库,可以方便地进行远程请求和数据传输操作。本文将介绍如何利用PH...
    99+
    2023-11-20
    PHP网络函数 远程请求 数据传输功能
  • 如何在 ASP Shell 中实现实时数据传输?
    ASP Shell是一种流行的Web应用程序,它允许用户在Web浏览器中执行命令和脚本。与传统的Web应用程序不同,ASP Shell允许用户与服务器进行实时交互,这使得它成为一个非常强大的工具,可以用于各种不同的用途,包括实时数据传输。在...
    99+
    2023-08-01
    shell 分布式 实时
  • h5如何实现数据安全加密传输
    h5利用api接口实现数据加密传输,具体方法如下:function CurlPost($url, $param = null, $timeout = 10){//初始化curl$curl = curl_init();curl_setopt(...
    99+
    2024-04-02
  • Sqoop怎么实现关系型数据库的数据传输
    Sqoop是一个用于在关系型数据库和Hadoop之间传输数据的工具,它可以将数据从关系型数据库中导入到Hadoop中,也可以将数据从...
    99+
    2024-04-02
  • JAVA-4NIO中如何实现Channel的数据传输
    JAVA-4NIO中如何实现Channel的数据传输?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直...
    99+
    2023-05-31
    channel java- java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作