2023年8月1日发(作者:)

oracle跨库查询dblink的⽤法实例详解本⽂实例讲述了oracle跨库查询dblink的⽤法。分享给⼤家供⼤家参考,具体如下:1.创建之前的⼯作在创建dblink之前,⾸先要查看⽤户是否有相应的权限。针对特定的⽤户,使⽤ sqlplus user/pwd登录后,执⾏如下语句:复制代码 代码如下:select * from user_sys_privs t where ege like upper('%link%');在sys⽤户下,显⽰结果为:SYS CREATE DATABASE LINK NOSYS DROP PUBLIC DATABASE LINK NOSYS CREATE PUBLIC DATABASE LINK NO可以看出在数据库中dblink有三种权限:CREATE DATABASE LINK--所创建的dblink只能是创建者能使⽤,别的⽤户使⽤不了 CREATE PUBLIC DATABASE LINK--public表⽰所创建的dblink所有⽤户都可以使⽤ DROP PUBLIC DATABASE LINK--删除指定dblink如果想要改变某个⽤户的权限,需要在sys⽤户下修改:复制代码 代码如下:grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to scott;查看dblink,有两种⽅式,分别如下:①.复制代码 代码如下:select owner,object_name from dba_objects where object_type='DATABASE LINK';②.复制代码 代码如下:select * from dba_db_links;2. 创建dblinkcreate public database link LINK_NAMEconnect to USRNAME identified by "PASSWORD"using

'(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = XXX)) )';注意:using后跟的是⼀个字符串,其中⼀定不要出现不必要的空格,否则会出错ORA-12514,在上⾯的代码中为了⽅便阅读其中进⾏了换⾏,可能会出现空格⽽导致错误,所以使⽤的时候将空格去掉就ok了。这⾥LINK_NAM为⾃定的名称;USERNAME和PASSWORD为指定的oracle数据库中的⽤户名和密码,SERVICE_NAME如果不确定的话,可以通过以下语句获得:复制代码 代码如下:show parameter service_names;或者复制代码 代码如下:select name,value from v$parameter where name='service_names'的使⽤dblink的使⽤相对⽐较简单,把⼀般访问本地表时的表名改为如下格式即可:[user.]table@link_name。复制代码 代码如下:select studentid from g@abc_ten;4.删除dblink确定要删除的dblink名字以后,可以通过drop命令直接将其删除:复制代码 代码如下:drop public database link abc_ten;希望本⽂所述对⼤家Oracle数据库程序设计有所帮助。

2023年8月1日发(作者:)

oracle跨库查询dblink的⽤法实例详解本⽂实例讲述了oracle跨库查询dblink的⽤法。分享给⼤家供⼤家参考,具体如下:1.创建之前的⼯作在创建dblink之前,⾸先要查看⽤户是否有相应的权限。针对特定的⽤户,使⽤ sqlplus user/pwd登录后,执⾏如下语句:复制代码 代码如下:select * from user_sys_privs t where ege like upper('%link%');在sys⽤户下,显⽰结果为:SYS CREATE DATABASE LINK NOSYS DROP PUBLIC DATABASE LINK NOSYS CREATE PUBLIC DATABASE LINK NO可以看出在数据库中dblink有三种权限:CREATE DATABASE LINK--所创建的dblink只能是创建者能使⽤,别的⽤户使⽤不了 CREATE PUBLIC DATABASE LINK--public表⽰所创建的dblink所有⽤户都可以使⽤ DROP PUBLIC DATABASE LINK--删除指定dblink如果想要改变某个⽤户的权限,需要在sys⽤户下修改:复制代码 代码如下:grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to scott;查看dblink,有两种⽅式,分别如下:①.复制代码 代码如下:select owner,object_name from dba_objects where object_type='DATABASE LINK';②.复制代码 代码如下:select * from dba_db_links;2. 创建dblinkcreate public database link LINK_NAMEconnect to USRNAME identified by "PASSWORD"using

'(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = XXX)) )';注意:using后跟的是⼀个字符串,其中⼀定不要出现不必要的空格,否则会出错ORA-12514,在上⾯的代码中为了⽅便阅读其中进⾏了换⾏,可能会出现空格⽽导致错误,所以使⽤的时候将空格去掉就ok了。这⾥LINK_NAM为⾃定的名称;USERNAME和PASSWORD为指定的oracle数据库中的⽤户名和密码,SERVICE_NAME如果不确定的话,可以通过以下语句获得:复制代码 代码如下:show parameter service_names;或者复制代码 代码如下:select name,value from v$parameter where name='service_names'的使⽤dblink的使⽤相对⽐较简单,把⼀般访问本地表时的表名改为如下格式即可:[user.]table@link_name。复制代码 代码如下:select studentid from g@abc_ten;4.删除dblink确定要删除的dblink名字以后,可以通过drop命令直接将其删除:复制代码 代码如下:drop public database link abc_ten;希望本⽂所述对⼤家Oracle数据库程序设计有所帮助。