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博客。
目录
相关文章
|
10天前
|
DataWorks Oracle 关系型数据库
DataWorks操作报错合集之尝试从Oracle数据库同步数据到TDSQL的PG版本,并遇到了与RAW字段相关的语法错误,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
37 0
|
8月前
|
SQL Oracle 关系型数据库
Polar DB-O (兼容 Oracle 语法版本)和Polar DB PostgreSQL 版本概述(二)
Polar DB-O (兼容 Oracle 语法版本)和Polar DB PostgreSQL 版本概述(二)
827 0
|
9月前
|
Oracle 关系型数据库 数据库
一篇文章教你学会使用Oracle 数据库中、WITH 临时表名 AS ()语法
一篇文章教你学会使用Oracle 数据库中、WITH 临时表名 AS ()语法
86 0
|
9月前
|
Oracle 关系型数据库 数据库
一篇文章带你了解Oracle 数据库中 CROSS JOIN(cross join) 语法的作用
一篇文章带你了解Oracle 数据库中 CROSS JOIN(cross join) 语法的作用
393 0
|
9月前
|
SQL Oracle 关系型数据库
Oracle 数据库 常见SQL语法
Oracle 数据库 常见SQL语法
130 0
|
11月前
|
存储 SQL Oracle
Oracle存储过程~基本语法
Oracle存储过程~基本语法
|
SQL Oracle 关系型数据库
在Oracle中,什么是Quote(q) Q语法?
在Oracle中,什么是Quote(q) Q语法?
165 0
|
Oracle 关系型数据库
oracle学习58-plsql轻量版基本语法
oracle学习58-plsql轻量版基本语法
146 0
oracle学习58-plsql轻量版基本语法
|
存储 SQL Oracle
Oracle触发器语法及实例
触发器是特定事件出现的时候,自动执行的代码块。类似于存储过程,触发器与存储过程的区别在于:存储过程是由用户或应用程序显式调用的,而触发器是不能被直接调用的。
146 0
|
存储 Oracle 关系型数据库
Oracle存储过程迁移ODPS-03(专有云):ODPS1.0支持exists语法
专有云目前还有不少ODPS1.0版本,主要是应对V3之前的平台版本。这个版本的ODPS不支持exists语法,如何换种写法实现。
2978 0