1、查询用户是否具有创建 dblink 权限
select * from user_sys_privs where privilege like upper('%DATABASE LINK%');
2、分配权限
--NAME 用户名
GRANT CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK TO "NAME";
3、创建 dblink
CREATE database link dblink_name CONNECT TO "username" IDENTIFIED BY "possword" using
'(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xx)(PORT = xxxx))
)
(CONNECT_DATA =
(SERVICE_NAME = server_name)
)
)';
dblink_name:创建的dblink名称
username:连接的数据库用户名
possword:连接的数据库密码
host:数据库地址
port:端口号
service_name:服务名
4、查询dblink是否创建成功
select * from ALL_DB_LINKS;
5、查询数据
SELECT * from dual@dblink_name
6、删除dblink
drop database link dblink_name;
问题:
--出现用户或密码不正确,但又可以直接连接。
--查询数据库版本号
SELECT * from v$version
--Oracle 11g 会自动将 username 和 password 转换成大写,添加""号可以避免自动转换