`
dacoolbaby
  • 浏览: 1267311 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[转载]Oracle DBLink 创建及其使用和使用中问题解决

阅读更多
转载于http://jadethao.iteye.com/blog/1576545
1.创建dblink的语法:
CREATE [PUBLIC] DATABASE LINK link  
CONNECT TO username IDENTIFIED BY password 
USING ‘connectstring’ 

2.说明:
1)权限:创建数据库链接的帐号必须有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK的系统权限,用来登录到远程数据库的帐号必须有CREATE SESSION权限。这两种权限都包含在CONNECT角色中(CREATE PUBLIC DATABASE LINK权限在DBA中)。
如果省略public,则创建的是private的数据库连接,private的连接只能是当前创建DB_LINK的用户可以使用这个db_link,public表示数据库中所有的用户都可以使用这个db_link。
2)link :  当GLOBAL_NAME=TRUE时,link名必须与远程数据库的全局数据库名global_name相同(global_name可以在远程数据库上执行select * from global_name;得到); 当GLOBAL_NAME=TRUE时,可以任意命名。
3)connectstring:连接字符串,tnsnames.ora中定义远程数据库的连接串。
4)username、password:远程数据库的用户名,口令。如果不指定,则使用当前的用户名和口令登录到远程数据库。

3.删除数据库链接的语句:
DROP [PUBLIC] DATABASE LINK zrhs_link 

4.查看已创建的dblink
select owner,object_name from dba_objects where object_type='DATABASE LINK'; 
select * from dba_db_links; 


5.修改GLOBAL_NAME的方法:
方法一、在数据库的init.ora文件中将global_names设为true/false。
方法二、语句:ALTER SYSTEM SET GLOBAL_NAME=TRUE/FALSE;
修改后重新启动数据库设置才能生效。
注:数据库全局名称可以用以下命令查出:SELECT * FROM GLOBAL_NAME;

6.dblink的创建和使用:
--GLOBAL_NAME为false 
alter system set global_names=false; 

数据库链接名(db_link名)任意取名:
创建:
方法一:
create public database link USER 
  connect to jade identified by jade 
  using '(DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
      (SERVICE_NAME = orcl) 
    ) 
  )'; 

方法二:
create public database link user connect to epm2 identified by epm2 using 'orcl'; 
--使用:
select * from pm_t_kpi_data@user; 
--GLOBAL_NAME为true 
alter   system   set   global_names=true; 

要求数据库链接名(db_link名)跟远端数据库的global_name名一样
错误创建和使用:
create public database link user connect to epm2 identified by epm2 using 'orcl'; 
select * from pm_t_kpi_data@user; 

ORA-02085:数据库链接:USER.REGRESS.RDBMS.DEV.US.ORCLE.COM 连接 ORCL
正确创建和使用:
创建一个和使用:
create public database link orcl  connect to epm2 identified by epm2 using 'ORCL'; 
select * from pm_t_kpi_data@orcl@al; 

创建多个和使用:注:al可以任意取名
create public database link orcl@al  connect to epm2 identified by epm2 using 'ORCL'; 
select * from pm_t_kpi_data@orcl@al; 

7、取消REGRESS.RDBMS.DEV.US.ORACLE.COM后缀:
global_name(oradb)带上默认的域名REGRESS.RDBMS.DEV.US.ORACLE.COM后缀,则可以执行下面语句进行解决
update global_name set global_name='orcl';
-- (本地服务器上执行)
 commit; 

或者
update props$ set value$ = 'orcl' where name = 'GLOBAL_DB_NAME';  commit; 

之后重启。重新建立的就没有后缀名了。
8、为dblink创建同义词
create or replace synonym student   for student_a@USER; 

注:student为同义词名,student_a为dblink链接的表
查询:
select *from student_a@USER 

等价于
select * from student 
分享到:
评论

相关推荐

    oracle dblink 创建过程

    ### Oracle DBLink创建过程及快照同步方法 #### 一、Oracle DBLink概念与创建步骤 DBLink(Database Link)是Oracle提供的一种机制,用于在不同的Oracle数据库实例之间建立连接,实现跨数据库查询、更新等功能。它...

    oracle通过DBlink连接mysql搭建过程

    使用 DBlink 连接 Oracle 和 MySQL 数据库 Oracle 通过 DBlink 连接 MySQL 搭建过程是一个复杂的过程,需要安装和配置多个组件,包括 unixODBC、mysql-connector-odbc 和 Oracle 环境变量。本文将详细说明这个过程...

    在oracle下创建dblink

    ### 在Oracle下创建...通过以上内容的学习,我们对Oracle中的DBLink有了更深入的理解,包括其基本概念、创建方法以及相关的权限管理等内容。这对于实际工作中处理多数据库环境下的数据交互问题具有重要的指导意义。

    Oracle DBLink建立连接

    通常只有特定的用户或者角色才应该被授予创建和使用DBLink的权限。 - **安全性增强**:为了进一步提高安全性,可以在创建DBLink时指定使用SSL加密传输数据,确保数据在传输过程中的安全。 - **定期审查**:建议定期...

    关于创建oracle dblink 过程的几点心得

    使用 DB Link 可以查询、删除和插入远程数据库中的数据,方法与操作本地数据库相同,只需要在表名后添加 @dblink 服务器。 DB Link 的优点 使用 DB Link 可以实现不同的数据库服务器之间的数据共享和交换,提高了...

    oracle通过dblink链接 mysql和mssql例子

    Oracle数据库提供了异构服务的功能,允许从Oracle数据库实例访问其他数据库系统的数据,例如MySQL...DBLink的使用大大扩展了Oracle数据库的数据处理能力,使用户能够在单个数据库操作环境中访问和操作多个异构数据源。

    Oracle之dblink的配置

    Oracle之dblink的配置 Oracle之dblink的配置 Oracle之dblink的配置 Oracle之dblink的配置

    oracle dblink 的应用

    Oracle dblink 是 Oracle 数据库中用于连接不同数据库实例的工具,允许用户在多个数据库之间进行数据查询、更新和传输。它的主要应用场景是在分布式环境中,当需要从一个数据库访问另一个远程数据库的数据时。以下是...

    oracle DBLink

    在《Oracle与MSSql对接通讯配置_20100906.docx》文档中,可能详细介绍了如何配置Oracle DBLink与MSSQL Server之间的通信,包括设置网络配置、数据库用户权限、DBLink创建过程以及可能遇到的问题和解决策略。...

    oracle dblink的建立说明

    Oracle DBLink(数据库链接)是Oracle数据库提供的一种特性,它允许用户在不同的Oracle数据库实例间进行数据查询和操作,仿佛这些数据库都在同一个实例内。DBLink使得分布式数据库系统的交互变得简单,无需复杂的...

    oracle 存储过程 函数 dblink

    本文主要介绍了Oracle存储过程的概念、创建和调用方法,以及如何使用DBLink实现跨库操作。存储过程提供了强大的数据库处理能力,而DBLink则使得不同数据库实例之间的交互变得更加方便和高效。掌握这些技术对于提高...

    dblink创建语句(Oracle

    Oracle数据库下创建dblink的sql语句,附带解释说明

    Oracle DATABASE LINK(DBLINK)创建与删除方法

    DBLINK可以不指定远程用户的用户名和密码,此时Oracle会使用创建DBLINK时的当前用户凭据来连接远程数据库。如: ```sql CREATE PUBLIC DATABASE LINK zrhs_link USING 'zrhs'; ``` 在引用DBLINK时,可以在SQL语句...

    DBLink的创建和使用

    在本文中,我们将深入探讨DBLink的创建和使用方法。 首先,创建DBLink的先决条件是本地数据库用户必须拥有相应的权限。有三种与DBLink相关的权限: 1. CREATE DATABASE LINK:仅创建者可以使用的私有DBLink。 2. ...

    oracle 使用dblink方式 连接远程数据库,内有详细描述,亲测可以

    本文详细介绍了如何在Oracle中使用DBLink连接远程数据库,包括必要的准备工作、创建过程以及注意事项等内容。正确配置和使用DBLink可以帮助我们轻松地实现跨数据库操作,提高开发效率和系统灵活性。在实际应用过程中...

    Oracle-不同数据库DBLINK导数据使用说明

    本文将围绕“Oracle-不同数据库DBLINK导数据使用说明”这一主题,深入探讨DBLINK的创建与使用,以及在处理特定数据类型(如BLOB)时可能遇到的挑战与解决方案。 ### 一、创建数据库链接(DBLINK) 数据库链接...

    oracle使用dblink高速复制表数据的动态存储过程

    本程序不同步blob和clob字段,玩oracle的人都懂,用sql同步此类数据,速度上不去,此类数据应该要用导出导入的方式提升速度。 具体请参阅程序,可根据自已需要进行修改。 参数说明: CREATE OR REPLACE PROCEDURE ...

    oracle10g或11g通过dblink访问sql server数据库

    本文档详细介绍了如何在Oracle 10g或11g环境中使用DBLink来访问SQL Server数据库的方法。这种方法对于那些习惯于使用Oracle进行数据库操作的开发人员来说尤其有用,因为它提供了一种在不同类型的数据库之间无缝切换...

    oracle 创建dblink

    oracle创建dblink 连接远程服务器,创建连接。

    Linux下ORACLE 使用dblink连接mysql_lijilinjy的专栏-CSDN博客.mhtml

    Linux下ORACLE 使用dblink连接mysql_lijilinjy的专栏-CSDN博客.mhtml

Global site tag (gtag.js) - Google Analytics