Oracle:DBlink 骑猪看日落 2021-11-23 01:16 254阅读 0赞 ## 一、作用 ## 开发过程中,经常会碰到需要从数据库A中查询另一个数据库B的某张表的数据,这是时候我们可以使用dblink来连接数据B进行数据查询等。 ## 二、创建 ## 两台数据库服务器(本地)和(远程192.168.1.59),本地用户orcl需要访问到远程服务器下mars的数据。 ### 1、确定用户是否有创建DBLink的权限 ### select * from user_sys_privs where privilege like upper('%DATABASE LINK%'); ### **2、sys登陆,为orcl赋予权限** ### grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to orcl; 注意问题: 1. dblink有三种权限: `CREATE DATABASE LINK`(所创建的dblink只能是创建者能使用,别的用户使用不了) `CREATE PUBLIC DATABASE LINK`(public表示所创建的dblink所有用户都可以使用) `DROP PUBLIC DATABASE LINK`(删除dblink) 2. 最后的`orcl`是本地数据库的用户名。 ### 3、orcl用户创建DBLink ### create public database link etl59 connect to mars identified by mars的密码 using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP) (HOST = 192.168.1.59)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = xxxx)))'; 说明:`etl59`为你创建的dblink的名字;`mars`为远程数据库用户的用户名;后边是mars对应的密码;`Host=`后边是服务器的地址;`SERVICE_NAME=`后边是远程数据库的名称。 ## 三、操作 ## ### 1、使用DBLink ### 查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成`表名@dblink的名字`。 select * from T_CLOB@etl59 ### 2、删除DBLink ### drop public database link etl59 ### 3、查看DBLink ### select * from dba_db_links
相关 oracle通过dblink导表,利用OracleDBLink进展表同步 利用OracleDBLink进行表同步 场景:从ORACLE A 同步表到ORACLE B 一、创建database link(B端) create public da 客官°小女子只卖身不卖艺/ 2022年10月21日 04:56/ 0 赞/ 160 阅读
还没有评论,来说两句吧...