- 浏览: 213779 次
- 性别:
- 来自: 天津
文章分类
最新评论
-
sun.zhang:
这个文章不错,怎么没人顶?
servlet 输出中文显示为问号"??"的解决办法 -
freeskywcy:
happy90 写道Keep-Alive 模式只要设置一下就行 ...
有关http Keep-Alive 的详细解释 -
happy90:
Keep-Alive 模式只要设置一下就行吗? 那编程的时候要 ...
有关http Keep-Alive 的详细解释
Oracle数据库链接(Database Link)
物理上存放于网络的多个ORACLE数据库,逻辑上可以看成一个单一的大型数据库。用户可以通过网络对异地数据库中的数据进行存取,而服务器之间的协同处理对于工作站用户及应用程序而言是完全透明的,开发人员无需关心网络的链接细节、数据在网络节点中的具体分布情况和服务器间的协调工作过程。
数据库之间的链接建立在DATABASE LINK上。数据库链接定义从一个Oracle数据库到另一个数据库的单行通信通道。要创建一个DATABASE LINK,必须首先在建立链接的数据库上设置链接字符串,即配置一个远程数据库的本地网络服务名。
1.数据库链接的类型
Oracle数据库支持3种数据库链接:
(1) private:由创建该链接的用户拥有,且仅对创建者可用。
(2) public:由PUBLIC用户拥有,数据库中的所有用户都可以使用它。
(3) global:由PUBLIC用户拥有。当Oracle网络使用目录服务器时,目录服务器为网络中的每个数据库自动创建和管理global数据库链接(作为网络服务名)。数据库中的所有用户都可以使用它。
2.数据库链接的用户
创建数据库链接时,应该确定哪个用户连接到远程数据库访问数据。
与数据库链接有关的用户有3类:
(1)Connected user
访问数据库链接(链接定义中没有固定的用户名和口令)的本地用户。例如,如果system在查询中使用了public链接,那么connected user为system,且它访问远程数据库的system模式。
注意:一个connected user不必是链接的创建者,它可以是能够使用该链接的任何用户。
例:
SQL> create public database link hq using 'hq';
(2)Current user
一个current_user数据库链接的global user。global user必须使用X.509证书进行认证(SSL认证的企业用户),或者使用口令进行认证(口令认证的企业用户),并且是涉及该数据库链接的两个数据库中的用户。
SQL> create public database link hq connect to current_user using 'hq';
(3)Fixed user
用户名和口令是数据库链接定义中一部分的用户。如果链接中包含fixed用户,在使用该fixed用户的用户名和口令连接远程数据库。
SQL> create public database link hq connect to jane identified by doe using hq;
这样,当本地数据库上的scott用户使用链接hq时,他将作为jane用户连接到网络服务名为hq的数据库。
3.数据库链接的命名
数据库链接的命名与远程数据库的初始化参数global_names的值有关:
如果global_names=true,则要求数据库链接的名字与远程数据库的全局数据库名相同。
如果global_names=false,则不要求数据库链接的名字与远程数据库的全局数据库名相同。
4.创建数据库链接
使用create database link语句创建数据库链接。创建数据库链接的帐号必须有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK的系统权限,用来登录到远程数据库的帐号必须有CREATE SESSION权限。
CREATE DATABASE LINK和CREATE SESSION这两种权限都包含在CONNECT角色中,而CREATE PUBLIC DATABASE LINK权限在DBA中。
设远程数据库的全局数据库名为sales.acme.com。
例1:Private connected use
SQL> create database link sales.acme.com using 'sales_us';
例2:Private global current user
SQL> create database link foo connect to current_user using 'am_sls';
例3:Private fixed user
SQL> create database link sales.acme.com connect to scott identified by tiger using 'sales_us';
例4:Public fixed user
SQL> create public database link sales connect to scott identified by tiger using 'rev';
例5: Shared public fixed user
SQL> create shared public database link sales.acme.com connect to scott identified by tiger authenticated by anupam identified by bhide using 'sales';
共享数据库链接:
每个应用使用一个数据库链接访问远程数据库。当多个用户同时运行应用时,将在本地和远程数据库之间造成大量的连接。共享数据库链接可以限制网络连接的数量。
5.使用数据库链接
SQL> select * from emp@sales;
对于经常使用的数据库链接,可以建立一个本地的同义词,方便使用:
SQL> create synonym sales_emp for emp@sales;
还可以建立一个本地的远程视图,方便使用:
SQL> create view sales_emp_view as select * from emp@sales;
现在本视图可与本地数据库中的任何其它视图一样对待,也可以授权给其它用户,访问此视图,但该用户必须有访问数据库链接的权限。
6.管理数据库链接
(1)关闭数据库链接
如果用户在会话中访问数据库链接,那么直到会话结束时,该链接将一直保持打开。
手工关闭数据库链接:
alter session close database link dblink;
(2)删除数据库链接:
drop [public] database link dblink;
7.查看数据库链接的信息
(1)查看有哪些数据库链接
三个数据字典视图:dba_db_links、all_db_links、user_db_links。
SQL> select * from dba_db_links;
desc dba_db_links:可以查看各字段的含义
(2)查看哪些数据库链接是打开的
使用动态性能视图v$dblink和gv$dblink(RAC中有用),可以查询当前会话中打开的数据库链接的信息
SQL> select * from v$dblink;
发表评论
-
Oracle的EM(OracleDBConsoleorcl服务)无法启动的问题解决
2012-03-14 09:26 2815Oracle的EM(OracleDBConsoleorcl ... -
解决OracleDBConsoleorcl服务无法启动问题
2012-03-07 14:25 0Windows 不能在 本地计算机 启动 OracleDBCo ... -
oracle中的exists和not exists和in用法详解
2012-02-22 15:55 886有两个简单例子,以说明 “exists”和“in”的效率 ... -
Oracle分页,Oracle中rownum与rowid的理解
2012-02-16 15:02 1454一、 Oracle中 rownum与rowid的理解 ... -
ORACLE中字符串比较
2012-02-15 10:34 1842在oracle中,将空字符串 ... -
oracle 重复数据的分情况删除
2012-02-14 10:21 845Oracle认证:数据库重 ... -
char varchar varchar2 的区别
2011-12-26 16:04 912char varchar varchar2 的区别 ... -
ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法
2011-12-23 12:26 1005早上同事用PL/SQL连接 ... -
详解查看Oracle用户权限的七种方法
2011-12-23 11:32 758查看Oracle用户权限一般要通过一些实际 ... -
Oracle中TO_DATE格式
2011-12-09 08:57 667TO_DATE格式(以时间:2007-1 ... -
Oracle sys和system用户、sysdba 和sysoper系统权限、sysdba和dba角色的区别
2011-12-07 16:14 969转自:http://blog.csdn.net/wh62 ... -
一个修改Oracle用户密码的小诀窍
2011-12-03 16:34 1648有时候我们可能不知道一个用户的密码,但是又需要以这个用户做一 ... -
(oracle)只有 DBA 才能导入由其他 DBA 导出的文件
2011-11-29 14:29 1557连接到: Oracle Database 10g Enterp ... -
oracle定时任务(dbms_job)
2011-11-15 08:57 750原文地址:http://publish.it168.com/2 ... -
oracle中的tnsname.ora 参数解释
2011-10-20 09:36 1622可以在客户端机器上使 ... -
不安装Oracle客户端远程连接Orcale数据库
2011-10-20 09:36 1826第一种方法: 最近有 ... -
PLSQL 连接远程的ORACLE数据库解决方案
2011-10-20 09:36 1105PLSQL Developer连接远程的ORACLE数 ... -
oracle 常用函数nvl decode userenv greatest least
2011-10-10 15:04 1399如下3个函数,分别用新内容代替字段的空值://比如说用其他 ... -
to_char 和to_date的说明
2011-10-10 15:05 851to_char DATE 类型转换为 VARCHAR2 t ... -
To_Date函数用法
2011-10-09 15:11 1368To_Date函数用法 spl>select ...
相关推荐
Oracle数据库如何创建DATABASE LINK
ORACLE数据库-TNS协议分析详解ORACLE数据库-TNS协议分析详解ORACLE数据库-TNS协议分析详解ORACLE数据库-TNS协议分析详解
Oracle数据库课程设计医院系统数据库源代码。包含Java代码和SQL语句。源码中默认使用的数据库为运行的Oracle数据库 如需修改,在java源码/database.propertie中修改即可!Oracle数据库课程设计医院系统数据库源代码...
Oracle数据库链Database links
oracle数据库的导入导出详解,一条命令即可
简单好用的Oracle 数据库导出导入命令及详解
ORACLE数据库备份与恢复详解.pdf
Oracle数据库rman环境配置详解,详解介绍了rman备份
数据库(Database, DB) 数据库管理系统(Database Management System, DBMS) 数据库管理员( Database Administrator, DBA) 数据库系统( Database System, DBS ) 关系型数据库 E-R 模型(Entry-Relation)
Oracle数据库Sql语句详解大全,提供给大家快速查询复习哦!
Oracle数据库优化经典之作,全文集合了经验丰富的DBA对于Oracle数据库优化的真知灼见,让很多人受益匪浅,Oracle数据库自9i版本以后,10g,11g版本推荐使用CBO优化器,所以,本文主要结合一系列实例,详细讲解如何在...
ORACLE数据库备份与恢复详解(20211114142015).pdf
此文档中详解介绍了oracle数据库中关于RMAN命令的详细及其注意事项
oracle数据库基础_必备技能详解
清楚的记载了Oracle数据库的操作,带有截图,oracle数据库语句
资源名称:ORACLE数据库技术实用详解资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
ORACLE数据库备份与恢复详解.docx
Oracle数据库闪回技术详解.pdf
Oracle数据库备份恢复技术详解.pptx
Oracle数据库备份恢复技术详解.pdf