时间:2022-06-13 10:13:00 | 栏目:Oracle | 点击:次
--查看全部用户 SELECT OWNER,OBJECT_NAME FROM DBA_OBJECTS WHERE OBJECT_TYPE='DATABASE LINK'; --查看全部用户 SELECT * FROM DBA_DB_LINKS; --查看本用户 SELECT * FROM USER_DB_LINKS;
1.如果没有权限的话给权限(有权限的话省略)
给scoot用户权限 GRANT CREATE PUBLIC DATABASE LINK, CREATE DATABASE LINK TO scoot;
2.创建dblink
-- (connection为dblink名字,scott为数据库用户名,tiger为用户名密码,引号内容为远程数据库下tnsnames.ora文件内容) create database link connection connect to scott identified by "tiger" using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.52)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) ';
3.使用dblink
SELECT * FROM DEPT@connection;
drop database link connection;
通过database link 方式 Oracle数据库可以跨不同的数据库实例访问。有时候,我们需要在视图、函数、存储过程中使用dblink。要获取这些信息可以通过下述方式实现。
select d.* from dba_dependencies d where d.referenced_link_name='XXX'
其中 xxx 为定义的dblink名称。
通过上述脚本,能够获取所有数据库中引用到dblink的对象名称。