转发:http://www.linuxidc.com/Linux/2012-02/53974.htm

实现结果:在一个数据库中某个用户下编写一个存储过程,在存储过程中使用DBLINK连接另一个数据库,从此数据库中的一个用户下取数,然后插入当前的数据库中的一个表中。

二. 实现方法步骤:

1. 创建存储过程

2. 在存储过程中先创建database link

3. 创建成功

4. 从另一个数据库取出数据插入到当前数据库中

5. 任务完成

三. 创建DBLINK的方法:

1. create public database link dblink

connect to totalplant identified by totalplant

using '(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = LOCALHOST)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = prd.gdc)

)

)';

语法解释:create public database link DBLINK名字(自己随便起)

connect to 用户名 identified by 密码

using '(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 要连接的数据库所在服务器的IP地址)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = 要连接的数据库的在本地的服务名(即要连接的数据库的SID))

)

)';

2. 如果创建private的DBLINK

create database link dblink

connect to totalplant identified by totalplant

using '(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = LOCALHOST)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = prd.gdc)

)

)';

四. 连接成功后从所连接的数据库中取数的方法:

1. select * from tbl_ost_notebook@dblink;

说明:只需在表名的后面加上"@DBLINK名字"即可。

五. 在当前数据库下查看所有的DBLINK的方法:

1. select * from dba_db_links;

六. 删除当前数据库下的一个指定的DBLINK的方法:

1. 如果创建的是一个public的DBLINK,删除时需要用

drop public database link dblink;

2. 如果创建的是一个private的DBLINK,删除时需要用

drop database link dblink;

说明:drop public database link DBLINK名字;

七. 查看当前数据库的全局数据库名的方法:

1. select * from global_name;

八. 查看当前用户具有哪些针对DBLINK的权限的方法:

1. SELECT DISTINCT PRIVILEGE AS "Database Link Privileges"

FROM ROLE_SYS_PRIVS

WHERE PRIVILEGE IN ( 'CREATE SESSION','CREATE DATABASE LINK',

'CREATE PUBLIC DATABASE LINK');

Oracle如何实现跨数据库查询的更多相关文章

  1. oracle 开发笔记“跨数据库查询复制”

    1.方法一:创建DBL(data base link) CREATE PUBLIC DATABASE LINK 数据链名称 CONNECT TO 登陆用户名 IDENTIFIED BY 密码 USIN ...

  2. oracle 跨分区查询效率,Oracle分区表做跨分区查询

    问:有一张大表,其中按时间字段(TIME_ID)进行表分区(按季度分区),但是如果业务人员做跨季度的大批量数据的查询时,未能走TIME_ID分区索引,导致全表扫描.此种情况该如何处理? 示例解析: 1 ...

  3. ORACLE跨数据库查询的方法

    原文地址:http://blog.csdn.net/huzhenwei/article/details/2533869 本文简述了通过创建database link实现Oracle跨数据库查询的方法 ...

  4. 不同SQL Server数据库之间的跨数据库查询

    --不同SQL Server数据库之间的跨数据库查询 EXEC sp_addlinkedserver @server=N'OldDatabase', --自己定义别名 @srvproduct=N'', ...

  5. 真相大白:为什么Entity Framework不能进行跨数据库查询(附解决方法)

    在上篇随笔中,我们发现Entity Framework在构建SQL语句时,将ToTable("CNBlogsTex.dbo.blog_PostBody")中的"CNBlo ...

  6. 如何使用JDBC Request跨数据库查询后引用查询的结果作为下一个JDBC Request的入参

    [前言] 今天来给大家介绍下如何使用JDBC Request跨数据库查询后引用查询的结果作为下一个JDBC Request的入参! 因为我现在所测的系统模块中部分表在不同的数据库中,所以在用JDBC ...

  7. SQL SERVER SP命令及实现跨数据库查询

    1.数据库: (1)sp_helpdb:报告有关指定数据库或所有数据库的信息. 例:sp_helpdb   --显示所有数据库信息(名称.大小等) 例:sp_helpdb Recruitment   ...

  8. oracle使用dblink跨库查询的例子

    本文介绍了oracle数据库使用dblink进行跨库查询的方法,oracle dblink跨库查询教程,需要的朋友参考下.   oracle dblink跨库查询 方法一:首先,创建数据库链接: 复制 ...

  9. Oracle分区表做跨分区查询

    问:有一张大表,其中按时间字段(TIME_ID)进行表分区(按季度分区),但是如果业务人员做跨季度的大批量数据的查询时,未能走TIME_ID分区索引,导致全表扫描.此种情况该如何处理? 示例解析: 1 ...

随机推荐

  1. UVALive 6709 - Mosaic 二维线段树

    题目链接 给一个n*n的方格, 每个方格有值. 每次询问, 给出三个数x, y, l, 求出以x, y为中心的边长为l的正方形内的最大值与最小值, 输出(maxx+minn)/2, 并将x, y这个格 ...

  2. python 之日期时间处理

    ##python时间操作一般使用time.datetime两个模块 对于time模块,时间的表示模式有3种1.时间戳:time.time()2.字符串: time.strftime('%Y%m%d') ...

  3. ios 加水印

    1.加文字   -(UIImage *)addText:(UIImage *)img text:(NSString *)text1  {           //get image width and ...

  4. .net mvc笔记3_Understanding Razor Syntax

    Understanding Razor Syntax MVC3新视图引擎的名字叫做Razor.ASP.NET视图引擎处理web页面,寻找包含在服务器端指令的特殊元素.正如我们前面已经提到的,标准的AS ...

  5. 繁简转换OpenCC,autogb 和 autob5,iconv,python的jianfan包

    OpenCC OpenCC 是跨平台.多语言的开放中文转换库,除了基本的简繁转换功能外,用户还可以选择对不同用词习惯和异体字的处理方式. OpenCC 还提供方便的网页转换界面. OpenOffice ...

  6. 也许有用(也谈VC中ModifyStyle&ModifyStyleEx无法改变控件的Style)

     一个View中用到了一个CListCtrl,在OnInitialUpdate函数里面他调用了m_listCtrl.ModifyStyleEx(0, LVS_EX_FULLROWSELECT);但是结 ...

  7. Kate Spade_百度百科

    Kate Spade_百度百科 Kate Spade

  8. poj 2406 Power Strings(KMP变形)

    Power Strings Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 28102   Accepted: 11755 D ...

  9. linux之多进程fork:进程通信

    ++++++++++++++++++信号机制+++++++++++++++++++ 接收信号 int signal(int sig,__sighandler_t handler); int func( ...

  10. CF# 260 A. Laptops

    One day Dima and Alex had an argument about the price and quality of laptops. Dima thinks that the m ...