当在两个数据库之间进行数据同步时,可在A数据库创建B数据库的DBlink,如此使用dblink即可访问B数据库。

1、在A数据库中创建连接B数据库的dblink:

-- Create database link 
create database link your_dblink_name
  connect to username identified BY "password"
  using '(DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.com)(PORT = 1521))
  )
  (CONNECT_DATA =
    (SERVICE_NAME = orauat)
  )
)';
注意:直接拷贝上述语句创建,其中 :

your_dblink_name:创建的dblink的名称,可以随便命令,但要有意义即可;

username :目标数据库的用户名,无需使用引号括起来。

password:目标数据库的密码,需要使用双引号括起来。

ps:using后的面语句的格式需要注意,注意其中的空格,单个空格键,错误的空格会导致创建的dblink无效。

2、创建成功之后,可在数据库中查询:

select * from dba_db_links
查询结果是:

创建成功的的 db_link_name是全部大写,即使your_dblink_name 你的写的是小写的,也会自动全部转成大写的。

因此在使用时,你需要使用大写的dblinkname,如下所示:

select * from gt_user@LINK_V5_AUTO_TEST_NEW
LINK_V5_AUTO_TEST_NEW 全部大写,需要和dba_db_links中的DB_LINK保持一致;

3、DBLINK的使用

表名@DB_LINK名称

例如:

--将目标数据库表中的数据在当前数据库中进行备份:
create table gt_user_bak as SELECT * FROM GT_USER@LINK_V5_AUTO_TEST_NEW
--查询目标数据库中的gt_user表数据:
select * from gt_user@LINK_V5_AUTO_TEST_NEW
 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐