Oracle

遠端數據庫對 Oracle 中的 DB 連結有什麼作用

  • June 30, 2016

在本地數據庫中,它必須通過CREATE DATABASE LINK.

  1. 遠端數據庫端呢,它有什麼用?
  2. 關於fixed user link,本地數據庫需要知道IDpassword設置。這ID是一個普通帳戶,有人可以在沒有 DB LINK 的情況下訪問遠端數據庫,ID還是僅用於DB LINK

遠端數據庫端呢,它有什麼用?

本地和遠端數據庫伺服器上都必須安裝 Oracle Net。並且正在使用的使用者應該CREATE SESSION對遠端數據庫具有系統權限。

在固定使用者連結上,本地數據庫需要知道 ID 和密碼設置。ID 是一個普通帳戶,某人可以在沒有 DB LINK 的情況下訪問遠端數據庫,還是 ID 僅用於 DB LINK?

您可以選擇連接到遠端數據庫的選項,一個是使用目前使用者,另一個是固定使用者,可以在CONNECT TO子句後顯式定義。該使用者是遠端使用者,必須存在於遠端數據庫伺服器上並且必須具有CREATE SESSION權限。如果您省略它,則目前登錄的使用者用於訪問遠端伺服器上的表。

[oracle@localhost admin]$ sqlplus scott/scott

SQL*Plus: Release 11.2.0.4.0 Production on Thu Jun 30 16:39:08 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> create database link dblink1 using 'account';

Database link created.

SQL> create database link dblink2 connect to jay identified by jay using 'account';

Database link created.

SQL> select * from emp@dblink1;
select * from emp@dblink1
                 *
ERROR at line 1:
ORA-28000: the account is locked
ORA-02063: preceding line from DBLINK1


SQL> 

看看上面的例子。我已經以 SCOTT 使用者身份連接到本地數據庫,並創建了兩個 dblink 以使用“帳戶”TNSNAME 連接到名為“帳戶”的遠端伺服器。

第一個 dblinkdblink1使用目前使用者,在我們的例子中是 SCOTT,用於從遠端伺服器“帳戶”的 emp 中選擇 *。在範例中,select 語句返回了一個錯誤,指出遠端站點的 SCOTT 使用者已被鎖定。

第二個 dblinkdblink1使用名為 jay 的固定使用者,因此該 dblink 可用於根據使用者擁有的權限訪問 Jay 模式擁有的表以及其他表。

有關詳細資訊,請參閱 Oracle 文件。 創建數據庫連結

引用自:https://dba.stackexchange.com/questions/142637