当前位置:  数据库>oracle

Oracle如何实现跨库查询

    来源: 互联网  发布时间:2017-04-21

    本文导语: 实现结果:在一个数据库中某个用户下编写一个存储过程,在存储过程中使用DBLINK连接另一个数据库,从此数据库中的一个用户下取数,然后插入当前的数据库中的一个表中。 二. 实现方法步骤: 1. 创建存储过程 2. 在存储过程...

实现结果:在一个数据库中某个用户下编写一个存储过程,在存储过程中使用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却还要在redhat8.0下用jdbc连接oracle如何实现?
  • 那位高手知道怎样实现用JSP跟ORACLE连上?
  • oracle定时备份压缩的实现步骤
  • oracle增加表空间大小两种实现方法
  • MySQL实现类似Oracle中的decode()函数的功能
  • 请问在 Linux 下如何用代码实现连接oracle数据库 并 执行 SQL 语句?
  • 老大们,虚拟机上系统os是linux,我想在它安装oracle,怎么实现?
  • 用oracle pl/sql 从A unix机器,去读取B unix机器上的一个文件,怎么实现?
  • linux上安装oracle 数据库后,是否能写shell程序实现数据库的自动启动。
  • 通过Oracle发送Email的实现方法
  • 如何实现将客户机上的word文件,以B/S方式最终存入oracle数据库?
  • oracle列合并的实现方法
  • 用java怎样实现oracle数据库表和excel数据表的转换
  • Oracle中字符串连接的实现方法
  • linux下用什么办法连接oracle数据库并且读取数据呢?(用c++代码实现时)
  • 成功实现应用程序和Oracle客户端一起打包
  • Oracle与SQLServer的实现互连
  • 实现Oracle数据库的逐渐自增
  • 读一个10M的txt文件到Oracle数据库中,用C实现,请问有什么好的方法吗?即不怎么占内存,又不怎么占Cpu!
  • 利用windows任务计划实现oracle的定期备份
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • Oracle查询出现异常
  • Oracle将查询的结果放入一张自定义表中并再查询数据
  • oracle+jsp 多用户查询系统讨论:
  • Oracle查询表、视图、序列等信息查询
  • 关于Oracle的查询问题
  • Oracle用什么语句查询字段?
  • Oracle 查询指定表名的columns
  • linux下通过对文件读取方式查询oracle的版本信息
  • Oracle的大数据量查询结果显示问题。(高手帮忙)
  • Oracle对两个数据表交集的查询
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • 虚拟机装Oracle R12与Oracle10g
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle 数据库开发工具 Oracle SQL Developer
  • Oracle 10g和Oracle 11g网格技术介绍
  • Oracle EBS R12 支持 Oracle Database 11g
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • Oracle 数据库(oracle Database)性能调优技术详解
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • ORACLE日期相关操作
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE数据库常用字段数据类型介绍
  • Linux系统下Oracle的启动与Oracle监听的启动
  • Oracle 12c的九大最新技术特性介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • ORACLE中DBMS_RANDOM随机数生成包
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3