PLSQL创建DBLINK

Posted mvpbang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PLSQL创建DBLINK相关的知识,希望对你有一定的参考价值。

  Oracle创建dblink,多用于数据的同步机制。不建议直接用dblink对数据库频繁的操作。。。

00、查看创建dblink权限

select * from user_sys_privs t where t.privilege like upper(\'%link%\');

--dblink权限

CREATE DATABASE LINK       --数据库用户创建dblink

DROP PUBLIC DATABASE LINK

CREATE PUBLIC DATABASE LINK

--授权dblink  sys

grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK  to scott;

01、用户登录本地数据库创建dblink

1.创建dblink的第一种方式,是在本地数据库tnsnames.ora文件中配置了要远程访问的数据库

create public database link dblink_name connect to username identified by password using \'bylw\';

注释 :

  dblink_name dblink名字

  username源库的用户 password    源库的密码

其中to_bylw是你创建的dblink名字,bylw是远程数据库的(名字),scott/tiger是登录到远程数据库的用户/密码

第一种情况tnsnames.ora文件中信息如下:
bylw =

(DESCRIPTION =

  (ADDRESS_LIST =

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

  (CONNECT_DATA =

  (SERVER = DEDICATED)

  (SERVICE_NAME = bylw))

)

--通过dblink查询表信息

select * from scott.tb_test@to_bylw;

2.创建dblink的第二种方式,是在本地数据库tnsnames.ora文件中没有配置要访问的远程数据库,

create public database link to_test   connect to scott identified by tiger
using \'(DESCRIPTION = (ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = bylw)))\';

第二种是把第一种配置在tnsnames.ora文件中的信息,直接放在创建dblink语句后面。

删除dblink
drop database link "dblink_name";

--table_name 目标库的表 dblink_name连接名字
select * from table_name@dblink_name;

select db_link,owner from dba_db_links;

连接到dblink的owner用户下再次尝试drop操作

drop database link prod;
drop public database link prod;

 02、在PLSQL便捷添加DBLINK

以上是关于PLSQL创建DBLINK的主要内容,如果未能解决你的问题,请参考以下文章

如何查看dblink 的详细信息

为啥不能通过 DBLink 发送 Oracle XMLType?

如何解决dblink过多的问题

oracle sys下执行私有dblink删除

PCB SQL Server 代码创建DbLink

plsql例子