登录数据库管理员权限
查看当前数据库中的DB_LINK
1)select * from dba_db_links
3. 创建需要的DB_LINK
前提:创建dblink的用户有对应的数据库权限:create public database link 或者create database link 可以使用以下语句来对需要创建DB_LINK的用户进行赋权:
grant create public database link,create database link to myAccount(需进行创建DB_LINK *** 作的数据库账户)
通过以下语句进行DB_LINK的创建:
create public(去掉public则创建的是私有DB_LINK) database link dblinkname(建议取名为需要取数据的库名) connect to username identified by password
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = database_ip)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME =servicename)
)
)'
create public database link dblinkname(建议取名为需要取数据的库名)
connect to username identified by password
using '取数库监听配置'
黑色斜体部分是需要你根据自己的需求修改的,比如数据链的名称,以及要链接的数据库的账号密码等
补充:如何确定数据库的servicename:
(1)Plsql中使用:select name,value from v$parameter where name='service_names'
(2)在sqlplus中使用:show parameter[s] service_names
DBLINK可以理解为一座桥,把两个数据库连接起来。所以,正常的DBLINK都是连接状态,但是并不会消耗两个数据库的任何资源,只有当你提交一个SQL语句到远程数据库执行时,这条SQL语句才会通过这座桥发送到远程数据库,远程数据库会自动分配一个SESSION来处理这条SQL语句查看DBLINK的判断连接状态是没有的。
--关闭dblink连接
alter session close database link 'dblink_name'
这个只是关闭当前SESSION对于DBLINK的连接,其他SESSION还是可以通过DBLINK查询数据。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)