一、环境说明

源数据库:

IP地址:192.168.137.100

sid:catalog

用户名:rman

密码:rman

目标数据库:

IP地址:192.168.137.101

sid:orcl

用户名:rman

密码:rman

二、在目标数据库上创建到源数据库的tnsname

用oracle用户登录目标数据库,修改 $ORACLE_HOME/network/admin/tnsnames.ora文件,增加如下内容

复制代码 代码如下:

catalog =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.137.100)(PORT = 1521))

)

(CONNECT_DATA =

(SID = catalog)

)

)

修改完这个文件之后,执行如下命令,测试创建的tnsname是否正确

$ tnsping catalog

如果返回结果的最后是 OK (0 msec),证明tnsname创建成功,执行下一步操作

三、创建 dblink

创建dblink的语句为

CREATE DATABASE LINK CONNECT TO IDENTIFIED BY USING ''

用oracle用户身份登录目标数据库服务器,执行如下操作

复制代码 代码如下:

$ sqlplus rman/rman

sql> CREATE DATABASE LINK dmp_link CONNECT TO rman IDENTIFIED BY rman USING 'catalog';

*************************************

如果出现

复制代码 代码如下:

ERROR at line 1:

ORA-01031: insufficient privileges

需要用sysdba身份,执行如下语句,将创建dblink的权限授予用户,然后再次执行上面创建dblink的语句

grant create database link to rman;

*************************************

然后执行如下语句,测试dblink是否创建成功,能返回结果证明dblink创建成功

复制代码 代码如下:

SQL> select tname from tab@dmp_link;

SQL> exit;

四、在目标数据库上创建directory对象

以oracle用户登录目标数据库

1、创建一个目录,假设为 /oracle/dmp,并保证这个目录oracle用户可读写

2、以sysdba身份登录数据库,创建directory对象,并给这个对象赋予读写权限

3、然后登录数据库,执行如下语句:

复制代码 代码如下:

$ sqlplus / as sysdba

sql> create or replace directory dmp_dir as '/oracle/dmp';

sql> grant read,write on directory dmp_dir to public;

sql> exit;

五、在目标数据库上执行impdp命令,导入数据

impdp rman/rman/orcl network_link=dmp_link remp_schema=source_schema:target:shcema remap_tablespace=source_tablespace:target:tablespace

如果想不生成dmp文件而直接导入一个数据库,直接使用impdp带network_link ,这样可以直接impdp,而绕过了expdp的步骤.

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐