• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Oracle 跨库 查询 复制表数据 分布式查询介绍
    POST TIME:2021-10-18 22:07

    方法一:

    在目前绝大部分数据库有分布式查询的需要。下面简单的介绍如何在oracle中配置实现跨库访问。
    比如现在有2个数据库服务器,安装了2个数据库。数据库server A和B。现在来实现在A库中访问B的数据库。

    第一步、配置A服务器端的tnsnames.ora文件(TNSNAMES.ORA Network Configuration File),该文件存放的位置为:

    $ORACLE_HOME/network/admin/tnsnames.ora

    添加如下行,其中DBLINK为连接名(可自定义),HOST和PORT为数据库侦听的IP及端口,SERVICE_NAME为数据库的SID,

    复制代码 代码如下:

    MEDIADBLINK =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.1)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = db)
        )
      )

    第二步、在A服务器的一个库中建立B的一个数据的DBLINK。

    语法如下:


    执行如下查询语句,其中MEDIADB为database link名(可自定义),MEDIADBLINK为先前在tnsnames.ora中定义的连接名,
      dbuser为用户名,password为密码

    复制代码 代码如下:

      -- Create database link
      create database link MEDIADB
      connect to dbuser identified by password
      using 'MEDIADBLINK';

    第三步.使用链接的数据库 
      
      3.1 查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@database link名”,如
     
      select * from table_name@MEDIADB ;
     
      3.2 也可以为这个表创建一个同义词
     
      create synonym aaa for table_name@MEDIADB ;
     
      如下语句的效果和3.1中的一样
     
      select * from aaa;
     
      删除同义词的语句为
     
      drop synonym aaa;

    select * from tabname@dcmdb where 1=1;

    方法二:

    首先创建数据库链接:

    复制代码 代码如下:

    CREATE PUBLIC DATABASE LINK 数据链名称 CONNECT TO 登陆用户名 IDENTIFIED BY 密码 USING '(DESCRIPTION =
         (ADDRESS_LIST =
           (ADDRESS = (PROTOCOL = TCP)(HOST = 对方Oracle服务器的IP地址)(PORT = 端口号))
         )
         (CONNECT_DATA =
    (SERVICE_NAME = 对方Oracle服务器服务名)
         )
       )'

    其中 数据链名称 为添加到本地Oracle数据库控制台(Oracle Enterprise Manager Console)树节点的服务名
    要查询对方数据库的表TableName语句如下:
    SELECT 字段名 FROM TableName@数据链名称;

    复制表数据:

    insert into 表名(字段名) (SELECT 字段名 FROM TableName@数据链名称);

    查看DBLINK:

    select owner, db_link from dba_db_links;

    删除:

    drop database link dblink名称
    drop public database link dblink名称

    Oracle密码的问题:

    SQL> CREATE USER AAA IDENTIFIED BY 1;
    CREATE USER AAA IDENTIFIED BY 1
                                  *
    ERROR 位于第 1 行:
    ORA-00988: 缺少或无效口令

    SQL> CREATE USER AAA IDENTIFIED BY"1";

    用户已创建

    您可能感兴趣的文章:
    • Oracle 查询死锁并解锁的终极处理方法
    • 在命令行下进行Oracle用户解锁的语句
    • oracle修改scott密码与解锁的方法详解
    • ORACLE 如何查询被锁定表及如何解锁释放session
    • oracle查询锁表与解锁情况提供解决方案
    • Oracle 添加用户并赋权,修改密码,解锁,删除用户的方法
    • oracle复制表结构和复制表数据语句分享
    • oracle 存储过程和触发器复制数据
    • Oracle数据库集复制方法浅议
    • oracle查询锁表及解锁,修改表字段名与复制表结构和数据的方法
    上一篇:Oracle中的MD5加密详解
    下一篇:ORACLE 修改表结构 之ALTER CONSTAINTS的使用
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信