一、授权(本地客户器端授权当前用户)
grant create database link to szfile
第一种连接方法:配置本地数据库服务器的tnsnames.ora文件
SZFILE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 80))
)
(CONNECT_DATA =
(SERVICE_NAME = szfile)
)
)
第二种方法:创建dblink
方法一:通过编写SQL语句
-- Drop existing database link
drop database link ERP;
-- Create database link
create database link ERP
connect to KTC
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 80))
)
(CONNECT_DATA =
(SERVICE_NAME = test)
)
)';
也可以为这个表创建一个同义词
create synonym aaa for table_name@MEDIADB ;
如下语句的效果和3.1中的一样
select * from aaa;
删除同义词的语句为
drop synonym aaa;
方法二:手动添加
1、Oracle对象集中找到Database Link
2、新建
3、填写配置信息
注:
所有者:选择当前数据库
名称:按需求命名
连接到(目标数据库):输入用户名、口令和连接字符串
鉴定者一栏可不填
公共那块可以选择为公共连接
4、删除dblink
Drop database link SZFILE;
5、跨库连接实例
1.select * from usr_mstr@szfile
/*
注:blog、clob无法直接通过远程连接获取,当表中存在这两个类型的字段时,应避开这两个大数据类型的字段
*/
2. 在当前数据库下查看所有的DBLINK的方法:
1. select * from dba_db_links;
3. 删除当前数据库下的一个指定的DBLINK的方法:
1. 如果创建的是一个public的DBLINK,删除时需要用
drop public database link dblink;
2. 如果创建的是一个private的DBLINK,删除时需要用
drop database link dblink;
说明:drop public database link DBLINK名字;
4. 查看当前数据库的全局数据库名的方法:
1. select * from global_name;
5. 查看当前用户具有哪些针对DBLINK的权限的方法:
1. SELECT DISTINCT PRIVILEGE AS "Database Link Privileges"
FROM ROLE_SYS_PRIVS
WHERE PRIVILEGE IN ( 'CREATE SESSION','CREATE DATABASE LINK',
'CREATE PUBLIC DATABASE LINK');