ORACLE创建dblink的方法

ORACLE创建dblink方法
1、dblink的作用
dblink数据库链接顾名思义就是数据库的链接,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。


2、查看是否有创建dblink的权限
nsy_scm@ORCL> select * from user_sys_privs where privilege like upper('%DATABASE LINK%');
no rows selected

若查看为空,则需要赋予相关的权限
这里赋予了两种权限,CREATE PUBLIC DATABASE LINK跟DROP PUBLIC DATABASE LINK,
public表示所创建的dblink所有用户都可以使用

GRANT  CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to username; 
GRANT  CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to NSY_SCM;

再次进行权限查看,可以看到相关权限已经赋权
sys@ORCL> select * from dba_sys_privs where grantee='NSY_SCM';
GRANTEE         PRIVILEGE                            ADM
--------------- ----------------------------------- ---
NSY_SCM         DROP PUBLIC DATABASE LINK            NO
NSY_SCM         CREATE PUBLIC DATABASE LINK            NO
NSY_SCM         UNLIMITED TABLESPACE                    NO


3、创建dblink
①第一种方式——已经在本地数据库tnsnames.ora文件中配置了要远程访问的数据库

create public database link dblink_name connect to user identified by password using '远程数据库的实例名';

#dblink_name:要创建的dblink名称
#user/password:需要在本地登录到远程数据库的用户名/密码


②第二种方式——没有在本地数据库tnsnames.ora文件中配置要远程访问的数据库

create public database link dblink_name   
connect to user identified by password
using
'(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =远程数据库的ip)(PORT = 远程数据库的端口号))
(CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = 远程数据库的实例名))
  )';


#dblink_name:要创建的dblink名称
#user/password:需要在本地登录到远程数据库的用户名/密码
如下:
create public database link   link_from_nsy_product_to_nsy_scm
connect to nsy_product identified by nsy_product
using
'(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =172.16.1.139)(PORT = 1521))
(CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = orcl))
  )';
可以看到database link已经创建成功

4、查询数据
select * from schema.table_name@dblink_name; 
nsy_scm@ORCL> select COUNT(*) from NSY_PRODUCT.CONFIG_PRODUCT_SKU@link_from_nsy_product_to_nsy_scm;

  COUNT(*)
----------
    88646


1 row selected.


5、删除dblink
drop public database link dblink_name;
sys@ORCL> drop public database link link_from_nsy_product_to_nsy_scm;


Database link dropped.


分割线
感谢打赏
江西数库信息技术有限公司
YWSOS.COM 平台代运维解决方案
 评论
 发表评论
姓   名:

Powered by AKCMS