oracle impdp network_link参数使用介绍
程序员文章站
2023-11-05 16:25:40
一、环境说明 源数据库: ip地址:192.168.137.100 sid:catalog 用户名:rman 密码:rman 目标数据库: ip地址:192.168.137...
一、环境说明
源数据库:
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 <database link name> connect to <remote database user name> identified by <remote database password> using '<tnsname connect to remote>'
用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的步骤.
源数据库:
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 <database link name> connect to <remote database user name> identified by <remote database password> using '<tnsname connect to remote>'
用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的步骤.
上一篇: 曾经的一切如今只有回忆
下一篇: 请相信,跑道上还会有我们