• Oracle DBLink 介绍


    1。基本概念:

      数据库连接串主要用于建立对远程数据库的访问方法,可以直接读取远程Oracle的数据,或者直接修改。数据库连接串可以是公用连接PUBLIC或者私有连接PRIVATE。这一点和同义词很相像。

      1。创建语法:

      CREATE DATABASE LINK TEST CONNECT TO USERNAME IDENTIFIED BY PASSWORD

      USING 'CONNECT_STRING';

      解释:TEST是数据库连接串的名字。以后就通过这个名字来进行调用远程数据库的内容。

      USERNAME是用来连接到远程数据库的合法Oracle用户名。PASSWORD为该用户连接到Oracle时候的合法密码。

      CONNECT_STRING为该Oracle数据库所在的主机上的tnsnames.ora文件里边定义的数据库连接串。

      2。使用方法:

      SELECT COUNT(*) FROM TABLE_NAME@DB_LINK WHERE WHERE_CLAUSE;//查阅远程数据库的内容。

      UPDATE TEST.TEST@DB_LINK SET SO_NBR=NEW_SO_NBR

      WHERE WHERE_CLAUSE;//修改远程数据库的内容。

      在实际使用过程中,还可以通过为这个远程表建立一个同义词来进一步增加透明性,使该数据库连接串对于程序和开发人员来讲完全透明。

      CREATE SYNONYM TABLE_NAME FOR TABLE_NAME@DB_LINK ;

      3。数据库连接的管理:

      1。如何知道当前用户、当前系统中有哪些数据库连接串?

      SELECT * FROM USER_DB_LINKS;

      这个查询会给出当前用户的数据库联接的名字、联接用户名、联接密码、要连接的主机以及创建时期。

      SELECT * FROM DBA_DB_LINKS;

      这个查询会给出当前系统中所有的数据库联接的创建用户、联接用户名、要连接的主机以及创建时期。

      SELECT * FROM V$DBLINK;

      这个查询会给出当前打开的数据库联接。

      4。常见错误处理:

      ////////////////////////////////////////////////////////////////

      1。不能分解服务名:

      登录到远程服务器上的结果:

      net97>show parameters global_name

      NAME TYPE VALUE

      ------------------------------------ ------- ------------------------------

      global_names boolean FALSE

      net97>

      net97>drop database link jinhua;

      数据库链接已丢弃。

      net97>create database link jinhua

      2 connect to username identified by password

      3 using 'jinhua';

      数据库链接已创建。

      net97>select * from so@jinhua ;

      select * from so@jinhua

      *

      ERROR 位于第 1 行:

      ORA-12154: TNS:不能分解服务名称.

      net97>conn username/password@jinhua ;

      已连接。

      net97>

      这是因为在Oracle数据库所在的Unix主机上面的tnsnames.ora文件里边没有对jinhua这个服务名的定义。所以不能分解服务名。

  • 相关阅读:
    【转】Intellij IDEA常用配置详解
    scala(一)
    scala(三)
    Scrapy学习篇(六)之Selector选择器
    Scrapy学习篇(五)之Spiders
    Scrapy学习篇(四)之数据存储
    Scrapy学习篇(三)之创建项目
    Scrapy学习篇(二)之常用命令行工具
    Scrapy学习篇(一)之框架
    git实现github仓库和本地仓库同步
  • 原文地址:https://www.cnblogs.com/fhuafeng/p/2205349.html
Copyright © 2020-2023  润新知