zoukankan      html  css  js  c++  java
  • 使用Oracle DBLink进行数据库之间对象的訪问操作

    Oracle中自带了DBLink功能,它的作用是将多个oracle数据库逻辑上看成一个数据库,也就是说在一个数据库中能够操作还有一个数据库中的对象,比如我们新建了一个数据database1。我们须要操作数据库database2中的表,或者我们须要操作远程机器上数据库database3中的表。我们就能够使用dblink这个强大的功能!

    1、我们假设要创建全局的DBLink。就是说不管什么角色都能够使用,那么我们须要先确定用户是否有DBLink权限,假设没有则须要使用sysdba角色给用户授权:

    查看用户是有有DBLink权限:

    select * from user_sys_privs where privilege like upper('%DATABASE LINK%');  
    没有,则使用sysdba授权:

    grant create public database link to dbusername; 

    2、使用语句创建DBLink:

    create database link 要创建的dblink名称
    connect to 要连接数据库的username identified by 要连接数据的password
    using '(DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 连接数据库主机IP地址)(PORT = port号))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = 连接数据库服务名)
        )
    )';
    假设创建全局 dblink,必须使用 systm 或 sys 用户,在 database 前加 public:

    create public database....
    比如,在testdb2中创建test_dblink,来操作主机192.168.1.254中testdb1数据库:

    create database link tset_dblink
    connect to username identified by password1
    using '(DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.254)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = testdb1)
        )
    )';

    3、使用DBLink:

    查询还有一个数据库中的数据。其它改动、删除是一样的使用,都是还有一个数据库表名@本数据库创建dblink名称:

    select xxx FROM 表名@dblink名称; 

    比如我们在testdb2中使用dblink查看testdb1中tb_user表中的数据:

    select * from tb_user@tset_dblink;

    查看数据中创建的dblink:

    select owner,object_name from dba_objects where object_type='DATABASE LINK';
    select * from dba_db_links;
    删除对应的dblink:

    drop database link dblink名称;
    关闭dblink连接:

    alter session close database link 'dblink_name'
    创建和删除视图:

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

  • 相关阅读:
    python活力练习Day 31
    携程笔试题3--2020-09-08
    双指针应用
    华为笔试题之排序去重
    java架构师学习路线-Mybatis一级缓存源码分析
    java架构师学习之spring boot对比spring mvc有什么区别
    spring Cloud 开发内存占用过高时java架构师该如何解决
    java高级架构师教程-使用Maven配置Spring
    java高级架构师教程-Spring Boot快速入门
    java高级架构师教程-使用Java编程引导JPA
  • 原文地址:https://www.cnblogs.com/yxwkf/p/5408826.html
Copyright © 2011-2022 走看看