实现结果:在一个数据库中某个用户下编写一个存储过程,在存储过程中使用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');

八. 参考资料:

http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14231/ds_admin.htm#i1008271

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

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

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

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

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

  3. ACCESS-如何多数据库查询(跨库查询)

    测试通过:ACCESSselect * from F:\MYk.mdb.tablename说明:1.查询语句2.来原于哪(没有密码是个路径)3.查询的表名 ====================== ...

  4. mysql 跨库查询问题

    MySQL实现跨服务器查询 https://blog.csdn.net/LYK_for_dba/article/details/78180444 mysql> create database l ...

  5. 如何使用SQL SERVER数据库跨库查询

    SQL Server中内置了数据库跨库查询功能,下面简要介绍一下SQL Server跨库查询.首先打开数据源码:OPENDATASOURCE不使用链接的服务器名,而提供特殊的连接信息,并将其作为四部分 ...

  6. SqlServer跨库查询

    由于业务的拆分,数据库拆分为两种作用: 汇总数据库(Master,头节点数据库), 子节点数据库(Compute Node,计算子节点数据库) 这样,就设计到子节点访问头节点数据库中的某张汇总表,这种 ...

  7. Access数据库跨库查询及记录集区分

    医疗设备软件一般都是单机软件,如果是Windows平台,常会选择Access数据库存储结构化数据,因为他轻量,便于部署.然而随着医疗信息化的发展,医生希望对多台单机设备的数据进行管理,采用网络数据库当 ...

  8. EF 跨库查询

    原因:最近公司项目,遇到一个ef跨库查询的问题.(只是跨库,并不是跨服务器哈) 主要我们的一些数据,譬如地址,城市需要查询公共资料库. 但是本身我的程序设计采用的是ef框架的.因此为这事花费了1天时间 ...

  9. SQL Server 跨库查询

    1. 开启Ad Hoc Distributed Queries组件,在sql查询编辑器中执行如下语句: reconfigure reconfigure 2. 跨库查询操作 select * from ...

随机推荐

  1. RavenDb学习(八)高级特性上半部分

    .事务支持 别的关系型数据库和RavenDb一起使用 using (var transaction = new TransactionScope()) { BlogPost entity = sess ...

  2. 递归 - 求 n 个球中取 m 个不同的球,有多少种取法?

    代码: #include <iostream> using namespace std; int F(int _n, int _m) { if(_n < _m) return 0; ...

  3. 小程序的tab标签实现效果

    swiper制作tab切换 index.html ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <view class="swiper-tab&qu ...

  4. 安卓程序代写 网上程序代写[原]ViewGroup(容器组件)详解(API解析)

    一. ViewGroup简介 1.View和ViewGroup关系 UI组件在Android中的位置 : Android中的UI组件大部分都放在android.widget 或者 android.vi ...

  5. Golang (Go语言) Mac OS X下环境搭建 环境变量配置 开发工具配置 Sublime Text 2 【转】

    一.安装Golang的SDK 在官网 http://golang.org/ 直接下载安装包安装即可.下载pkg格式的最新安装包,直接双击运行,一路按照提示操作即可完成安装. 安装完成后,打开终端,输入 ...

  6. python进行数据分析----线性回归

    线性回归分析: 方法: import statsmodels.api as sm import pandas as pd from patsy.highlevel import dmatrices - ...

  7. Android 8 声音调整过程

    记录Android 8声音调整过程. frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.j ...

  8. C# 初学

    突然对C#充满了兴趣,于是兴致勃勃的折腾起来. 下面是折腾的过程: IDE,我选择了vs2017,不过这货的安装选项略多,对于新手来说各种坑.无论如何,选择”.NET桌面开发”即可,其他的全部留空. ...

  9. e834. 设置JTabbedPane中卡片的位置

    The tabs of a tabbed pane can be placed on one of the four edges of its container. By default, when ...

  10. 嵌入式开发之zynq---Zynq PS侧DMA驱动

    http://xilinx.eetrend.com/blog/10760 http://xilinx.eetrend.com/blog/10787