oracle DB_LINK 语法说明

简介: <div id="content" class="bigfont mycontent" style="zoom:1; line-height:23px; font-size:14px; margin:18px 28px; font-family:'lucida Grande',Verdana,'Microsoft YaHei'; clear:both; min-height:200px;

创建DB_LINK的语法及说明

建立:

create  public database link oradb(db_link名) connect to username(远程数据库用户名) identified by password(远程数据库用户密码) using 'oradb';


如果省略public,则创建的是private的数据库连接,private的连接只能是当前创建DB_LINK的用户可以使用这个db_link,public表示数据库中所有的用户都可以使用这个db_link。


使用connect to username(远程数据库用户名) identified by password(远程数据库用户密码),表示通过dblink访问远程数据库时所使用的用户及密码。


oradb指的是database link的名字,如果本地数据库的global_names=true,则这个名字一定要使用远程数据库的global_name(可以在远程数据库上执行select * from global_name;得到)。否则在建立db_link的时候不会报错,而在执行查询时会报错,ORA-02085: database link oradb connects to oradb.REGRESS.RDBMS.DEV.US.ORACLE.COM。

'oradb'指的是在本地数据库设置连接的远程数据库的tnsname(即tnsnames.ora设置的连接远程数据库的服务名)

 

db_link使用说明
<1>、当数据库参数global_name=false时,就不要求数据库链接名(db_link名)跟远端数据库的global_name名一样。
当用命令alter database rename global_name to oradb;进行域名修改时,修改的global_name(oradb)不会带默认的域名REGRESS.RDBMS.DEV.US.ORACLE.COM。

<2>、当数据库参数global_name=true时,那就要求数据库链接名(db_link名)跟远端数据库的global_name名一样,
当用命令alter database rename global_name to oradb;进行域名修改时,修改的global_name(oradb)是会带上默认的域名REGRESS.RDBMS.DEV.US.ORACLE.COM,在参数global_name=true情况下如果不需要带默认的域名,则可以执行下面语句进行解决
update props$ set value$ = 'oradb' where name = 'GLOBAL_DB_NAME';  commit;
或update global_name set global_name='oradb';  commit;

<3>、查询当前数据库中所创建的db_link可以通过如下命令实现:select * from dba_db_links;如果要删除建立的db_link,则可以通过如下命令实现:drop database link oradb(db_link名);

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
7月前
|
SQL Oracle 关系型数据库
Polar DB-O (兼容 Oracle 语法版本)和Polar DB PostgreSQL 版本概述(二)
Polar DB-O (兼容 Oracle 语法版本)和Polar DB PostgreSQL 版本概述(二)
713 0
|
8月前
|
Oracle 关系型数据库 数据库
一篇文章教你学会使用Oracle 数据库中、WITH 临时表名 AS ()语法
一篇文章教你学会使用Oracle 数据库中、WITH 临时表名 AS ()语法
75 0
|
8月前
|
Oracle 关系型数据库 数据库
一篇文章带你了解Oracle 数据库中 CROSS JOIN(cross join) 语法的作用
一篇文章带你了解Oracle 数据库中 CROSS JOIN(cross join) 语法的作用
318 0
|
8月前
|
SQL Oracle 关系型数据库
Oracle 数据库 常见SQL语法
Oracle 数据库 常见SQL语法
126 0
|
10月前
|
存储 SQL Oracle
Oracle存储过程~基本语法
Oracle存储过程~基本语法
|
SQL Oracle 关系型数据库
在Oracle中,什么是Quote(q) Q语法?
在Oracle中,什么是Quote(q) Q语法?
151 0
|
Oracle 关系型数据库
oracle学习58-plsql轻量版基本语法
oracle学习58-plsql轻量版基本语法
144 0
oracle学习58-plsql轻量版基本语法
|
存储 SQL Oracle
Oracle触发器语法及实例
触发器是特定事件出现的时候,自动执行的代码块。类似于存储过程,触发器与存储过程的区别在于:存储过程是由用户或应用程序显式调用的,而触发器是不能被直接调用的。
141 0
|
存储 Oracle 关系型数据库
Oracle存储过程迁移ODPS-03(专有云):ODPS1.0支持exists语法
专有云目前还有不少ODPS1.0版本,主要是应对V3之前的平台版本。这个版本的ODPS不支持exists语法,如何换种写法实现。
2971 0