create database link WZGL
connect to MMCSG_GX(用户名)
using '(description=(address_list=(address=(host=xx.xxx.xx.xxx(ip地址))(protocol=tcp)(port=端口号)))(connect_data=(service_name=实例名)))';

1、如果需要创建全局 DBLink,则需要先确定用户有创建 dblink 的权限:

  1. select * from user_sys_privs where privilege like upper('%DATABASE LINK%');

select * from user_sys_privs where privilege like upper('%DATABASE LINK%');

如果没有,则需要使用 sysdba 角色给用户赋权:

  1. grant create public database link to dbusername;

grant create public database link to dbusername;

2、使用该用户登录 PL/SQL,使用命令:

  1. -- 第一种方法:要求数据库服务器 A 上 tnsnames.ora 中有 数据库 B 的映射
  2. -- -- create database link 数据库链接名 connect to 用户名 identified by 密码 using '本地配置的数据的实例名';

-- 第一种方法:要求数据库服务器 A 上 tnsnames.ora 中有 数据库 B 的映射
-- -- create database link 数据库链接名 connect to 用户名 identified by 密码 using '本地配置的数据的实例名';

采用图形配置界面则如下所示:

  1. -- 第二种方法:直接配置
  2. -- 如果创建全局 dblink,必须使用 systm 或 sys 用户,在 database 前加 public。
  3. create /* public */ database link dblink1
  4.   connect to dbusername identified by dbpassword
  5.   using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.0.1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';
  6. -- 数据库参数 global_name=true 时要求数据库链接名称跟远端数据库名称一样。数据库全局名称可以用以下命令查出
  7. -- select * from global_name;

-- 第二种方法:直接配置
-- 如果创建全局 dblink,必须使用 systm 或 sys 用户,在 database 前加 public。
create /* public */ database link dblink1
  connect to dbusername identified by dbpassword
  using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.0.1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';

-- 数据库参数 global_name=true 时要求数据库链接名称跟远端数据库名称一样。数据库全局名称可以用以下命令查出
-- select * from global_name;

3、查询数据:

  1. -- 查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@dblink服务器”而已。
  2. select xxx FROM 表名@数据库链接名;

-- 查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@dblink服务器”而已。
select xxx FROM 表名@数据库链接名;

4、删除 DBLink

  1. drop /* public */ database link dblink1;

drop /* public */ database link dblink1;

5、创建和删除同义词

  1. create or replace synonym 同义词名 for 表名;
  2. create or replace synonym 同义词名 for 用户.表名;
  3. create or replace synonym 同义词名 for 表名@数据库链接名;
  4. drop synonym 同义词名;

create or replace synonym 同义词名 for 表名;
create or replace synonym 同义词名 for 用户.表名;
create or replace synonym 同义词名 for 表名@数据库链接名;
drop synonym 同义词名;

6、创建和删除视图

  1. create or replace view 视图名 as (select 字段 from 用户.表名@dblink1);
  2. drop view 视图名;

create or replace view 视图名 as (select 字段 from 用户.表名@dblink1);
drop view 视图名;

7、注意:

创建 DBLink 很简单,但是在使用中后台却出现锁,查看这个锁的方法可以去 console 中看到或者查询数据库。每次使用dblink查询的时候,均会与远程数据库创建一个连接,dblink 应该不会自动释放这个连接,如果是大量使用 dblink 查询,会造成 web 项目的连接数不够,导致系统无法正常运行,导致系统无正常运行。

转载至http://blog.csdn.net/davidhsing/article/details/6408770

关于oracle dblink的知识。的更多相关文章

  1. 《oracle每日一练》Oracle DBLink连接数过多的问题(Ora-02020)

    本文转自Oracle DBLink连接数过多的问题(Ora-02020) 今天在处理资料同步问题,需要将其它几个DB Server的资料同步到一个目地资料库,采用的方式是:DBLink+Job ,然而 ...

  2. ORACLE FLASHBACK DATABASE 知识整理

    1.知识储备 1)    只有SYSDBA有权执行,闪回前一定要记录当前SCN 2)    需要停机,并要求处于ARCHIVELOG模式中 3)    闪回日志不能被复用和归档,是自动管理的.RVWR ...

  3. oracle dblink 查询 tns:无法解析指定的连接标识符

    问题情景是这样的:我在数据库服务器(windows server 2008r2 ,64bit)oracle(11gr2,64bit)中通过dblink连接到另外一台服务器(hp-ux)的oracle( ...

  4. 用mysql实现类似于oracle dblink的功能

      用mysql实现类似于oracle dblink的功能 首先看看有没有federated 引擎. mysql> show engines; +------------+----------+ ...

  5. Oracle DBLINK的相关知识整理

    一.DBLINK(Database Link)概念 dblink,顾名思义就是数据库的链接.当我们要跨本地数据库访问另一个数据库中的表的数据时,在本地数据库中就必须要创建远程数据库的dblink,通过 ...

  6. Oracle数据库零散知识09 -- DBLink的创建(转)

    通过创建database link实现Oracle跨数据库查询的方法 在Oracle本地数据库端执行赋权dbuser帐号 SQL> grant create database link to d ...

  7. oracle dblink造成远程数据库session过多

    现场报网公司数据库连不上,先检查了下数据库processes=1500,session=2200.我认为非常大啊.这个数据库没有几个人用. 查看v$session中的session最多是哪个machi ...

  8. Oracle数据库基础知识

    oracle数据库plsql developer   目录(?)[-] 一     SQL基础知识 创建删除数据库 创建删除修改表 添加修改删除列 oracle cascade用法 添加删除约束主键外 ...

  9. Oracle DBLINK 抽数以及DDL、DML操作

    DB :  11.2.0.3.0 原库实例orcl:SQL> select instance_name from v$instance; INSTANCE_NAME--------------- ...

随机推荐

  1. jquery 导航栏目

    JS 文件<script type="text/javascript"> $(document).ready(function(){ $(".level1 & ...

  2. django HttpRequest

    request.path 除域名以外的请求路径,以正斜杠开头 "/hello/" request.get_host() 主机名(比如,通常所说的域名) "127.0.0. ...

  3. iOS开发——OC篇&特殊数据类型

    一些特殊的数据类型 id.nil.Nil.SEL ,IMP Objective-C中有一些很有趣的数据类型经常会被错误地理解.他们中的大多数都可以在/usr/include/objc/objc.h或者 ...

  4. The first time

    早上起来发现昨晚申请的博客开通了,\(^o^)/~纪念下,就像刚打代码学的hello world一样,用c,c++写一个程序纪念下.O(∩_∩)O~哈哈哈哈哈. /*C hello world程序*/ ...

  5. 【HDOJ】4628 Pieces

    最开始的想法是搜索,发现不对,后来发现数据量很小,可以状态压缩+DP. /* 4628 */ #include <cstdio> #include <cstring> #inc ...

  6. UVA253 Cube painting(数学)

    题目链接. 分析: 用的<训练指南>上的方法.详见P17. 从6个面中选一个做顶面,再从剩下的4个面中选1个做正面,则此正方体唯一确定. 需要枚举共6*4=24种. #include &l ...

  7. BZOJ1754: [Usaco2005 qua]Bull Math

    1754: [Usaco2005 qua]Bull Math Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 374  Solved: 227[Submit ...

  8. 2013.11.7-21:15_My first Java program

  9. HTTP学习笔记3-响应结构

    HTTP响应: 13,在接收和解释请求消息后,服务器会返回一个HTTP响应消息. 14,与HTTP请求类似,HTTP响应也是由三个部分组成,分别是:状态行.消息报头.响应正文. 15,状态行由协议版本 ...

  10. SKTransition类

    继承自 NSObject 符合 NSObject(NSObject) 框架  /System/Library/Frameworks/SpriteKit.framework 可用性 可用于iOS 7.0 ...