Oracle dblink
Oracle-dblink
说明:dblink(Database Link,数据库链接) 用于在本地数据库中访问远程数据库的数据对象
链接类型
- 私有数据库链接(Private Database Links):只在当前用户下生效
- 公共数据库链接(Public Database Links):具有public权限的用户可以使用
- 全局数据库链接(Global Database Links):数据库的所有用户都可使用,全局生效。
创建DBlink
语法
create database link <link_name>
create public database link <link_name>创建私有DBlink
create database link <link_name>--使用当前数据库的用户名和密码登录远程数据库 create database link <link_name> connect to current_user using <server_name>--指定远程数据库用户密码 create database link <link_name> connect to <username> identified by <password> using <server_name>注意:
link_name链接名称可以任意指定,建议和远程数据库的全局数据库名称一致,方便对应联系。username/password远程数据库的用户名和密码server_name是在本机tnsnames.ora文件中配置的名称
示例:
create database link bjdbcore connect to admin iidentified by bjpassword using 'bjdbcore'#tnsnames.ora bjdbcore = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = bjdbcore) ) )
使用dblink查询数据
--在分校的数据库查询总校数据库中学号是666的学生信息 select * from student@shcoolcore where stu_id='6666'
创建共享DBlink(Shared Database Links)
场景:如果有很多应用同时使用DBlink,会导致本地数据库和远程服务器建立很多连接。共享DBlink可以限制本地服务器和远程服务器之间的网络连接数。
CREATE SHARED DATABASE LINK dblink_name create shared database link <dblink_name>
管理DBlink
查看
查看当前已有数据库链接(link)
--通过USER_DB_LINKS查看dblink信息 SELECT * FROM USER_DB_LINKS;DB_LINK:链接名称username:远程数据库用户名PASSWORD:远程数据库用户密码HOST:远程数据库CREATED
删除
drop [public|shared] database <link_name>断开会话中的dblink
dblink的打开状态随会话的状态变化,会话关闭,链接也随之关闭。
--立即中断一个处于会话中的链接
alter session close database link <link_name>
评论已关闭