Oracle-DB Link簡單使用
當用戶要跨本地資料庫,訪問另外一個數據庫表中的資料時,本地資料庫中必須建立了遠端資料庫的dblink。通過dblink,本地資料庫可以像訪問本地資料庫一樣訪問遠端資料庫表中的資料。
首先,檢視Global_name引數是true還是False。該引數為true時,你在本地建立的DBLINK的名稱必須和遠端資料庫的全域性資料庫名的Global_name一致才行。
SQL> show parameter global_name;
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
global_names boolean FALSE
global_name可以在遠端資料庫上得到:
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
ORADB
修改GLOBAL_NAME的方法:
方法一、在資料庫的init.ora檔案中將global_names設為true/false。
方法二、語句:ALTER SYSTEM SET GLOBAL_NAMES=TRUE/FALSE scope=both;
其次,建立dblink之前使用者必須有建立dblink的許可權(注意此處賦予的public database link的許可權,如果不加上public那麼就是建立私有的dblink):
指定PUBLIC建立對所有使用者可見的公共資料庫連結。如果省略此子句,則資料庫連結是私有的,僅對您可用。
SQL> grant create public database link to test;
Grant succeeded.
SQL> grant create database link to test;
Grant succeeded.
直接建立資料庫連結時寫入配置資料庫,客戶機上的using中的連線一定要記得重寫,只有服務端的連結配置才能在
create database link my_link
connect to hh identified by hh
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.57.129)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oradb)
)
)';
注意:這裡要加上服務是共享模式還是專有模式,否則會出現下面錯誤提示
ERROR at line 1:ORA-12154: TNS:could not resolve the connect identifier specified
這個service_name是您要連結到的資料庫服務端的服務名。
其中mylink 是你建立的dblink名字,是資料庫連線串的名字。以後就通過這個名字來進行呼叫遠端資料庫的內容。
hh/hh是登入到遠端資料庫的使用者/密碼。
另外一種情況,所要訪問的表不在資料庫連結中指定的遠端帳戶下,但該帳戶有訪問該表的許可權,那麼我們在表名前要加上該表的使用者名稱(即本機上面的test可以訪問遠端資料庫裡面hh使用者下面所有的表,但是hh可以訪問hhh下面的hhh_test的表,則可以使用下面語句查詢)
SQL> select * from [email protected]_link;
ID
----------
1
對於經常使用的資料庫連結,可以建立一個本地的同義詞,方便使用:
SQL> create synonym a for [email protected]_link;
Synonym created.
SQL> select * from a;
ID
----------
2
檢視所有的資料庫連結,進入系統管理員賬號下,執行命令
SQL> select owner,object_name from dba_objects where object_type='DATABASE LINK';
OWNER OBJECT_NAME
-------------------- --------------------
TEST MYLINK
TEST MY_LINK
TEST M_LINK
刪除資料庫連線
SQL> drop database link mylink;
Database link dropped.
關閉dblink連線,關閉前一定要注意session的回收,在應用程式中使用
SQL> commit;
Commit complete.
SQL> alter session close database link my_link;
Session altered.
任何ddl語句都無法在dblink中直接執行。但通過建立儲存過程,使得能在dblink中執行ddl語句。 注意需在目標資料庫的相應使用者下建立儲存過程
總結:DBLINK配置細節很重要,請重點關注下面幾點
1.確定被連線資料庫可以連通,監聽是好的
2.使用者角色與許可權 配置下面4項(很重要):
create session,create database link,create public database link
3.客戶機上的using中的連線一定要記得重寫,只有服務端的連結配置才能在dblink中引用,配置在oracle客戶端的tnsnane.ora中的連結配置是不能在dblink中使用的
相關推薦
Oracle-DB Link簡單使用
當用戶要跨本地資料庫,訪問另外一個數據庫表中的資料時,本地資料庫中必須建立了遠端資料庫的dblink。通過dblink,本地資料庫可以像訪問本地資料庫一樣訪問遠端資料庫表中的資料。首先,檢視Global_name引數是true還是False。該引數為true時,你在本地建立的
oracle db link的檢視建立與刪除
create database link cqdb_dblink connect to "dlmis" identified by "dlmis" using 'cqdb'; select * from dba_db_links; 1.檢視dbli
利用DB Link搞定Oracle兩個資料庫間的表同步
資料庫之間的連結建立在DATABASE LINK上。要建立一個DB LINK,必須先在每個資料庫伺服器上設定連結字串。 1、 連結字串即服務名,首先在本地配置一個服務名,地址指向遠端的資料庫地址,服務名取為將來你要使用的資料庫鏈名: 2、建立資料庫連結,進入系統管理員SQL>操作符下,執行命令:
Oracle 使用DB link update table & TNS:linstener was not given the servicename in connect_data處理方式
業務需求:需要在Oracle1 的A表增加一個欄位,這個欄位來自於Oracle2 的B表的一個欄位。 解決方案: 1、用kettle跨庫跨表update;() 2、使用DB Link update 首先在oracle1 中建立DB Link 2018/11
利用DB Link兩步搞定Oracle兩個資料庫間的表同步
一、實現目標: 要實現從源表:AAA到目標表:BBB的資料同步。 二、在目標機上建立Oracle DB Link: 1、 在network/admin/tnsname.ora檔案中加入源庫的連線資訊,如: AAA= (DESCRIPTION
Oracle DB , 計算各個用戶/schema 的磁盤占用空間
def term ner href pen database col table scott http://www.dba-oracle.com/t_find_size_schema.htm Question: How do I find the size of a s
Oracle GoldenGate從oracle db 到非oracle db的初始化數據同步的方法
class article content info 靜態 oracl etl 進程 rep 非oracle db以 sqlserver為樣例說明: 我的思路 A :oracle db 生產 B: oracle db 中間機 C: sqlserver db 目的端
關於oracle db 11gR2版本號上的_external_scn_rejection_threshold_hours參數和scn headroom補丁問題
install eal 2.0 bsp 11gr2 con his star html 關於oracle db 11gR2版本號上的_external_scn_rejection_threshold_hours參數和scn headroom補丁問題 來自於: Inst
Oracle DB 使用子查詢來解決查詢
目的 滿足 多少 group 錯誤 water 列表 功能 產生 ? 定義子查詢 ? 描述子查詢可以解決的問題類型 ? 列出子查詢的類型 ? 編寫單行和多行子查詢 ? 子查詢:類型、語法和準則 ? 單行子查詢: – 子查詢中的組函數 – 帶有子查詢的HAVING子句
實際建立DB-LINK,兩個數據庫之間的數據公用
nbsp creat from color pub pan base desc protoc 創建DB-LINKcreate public database link dblink_名字 connect to 賬戶名字 identified by 賬戶密碼 using ‘(
如何讓oracle DB、監聽和oem開機啟動(dbstart)
監聽和oem開機啟動如何讓oracle DB、監聽和oem開機啟動(dbstart)讓oracle DB、監聽和oem開機啟動(dbstart)Oracle提供了伴隨操作系統自動重啟的功能,在Windows中,可以修改“我的電腦-->管理-->服務-->OracleService$ORACL
Oracle DB 移動數據
pdu 註釋 一個 tro 進行 obj feedback exe 賬號 描述移動數據的方式 ? 創建和使用目錄對象 ? 使用SQL*Loader 加載非Oracle DB(或用戶文件)中的數據 ? 使用外部表並通過與平臺無關的文件移動數據 ? 說明Oracle 數據泵的
Oracle Database Link 連接數據庫復制數據
數據庫 訪問 p地址 數據 ID rom 創建 nec spa --1. 創建dblink連接 create database link mdm66 connect to lc019999 identified by aaaaaa using ‘10.24.12.66/or
SQL Server DB Link相關
select serve sele bsp insert dblink info lin tab 若想通過DBlink 清空表或執行在存儲過程,可以通過這種方式 Insert into table select * from table時,Pull 方式比
[20180823]IMU與db link.txt
原來 cti views sys sid str and ack eat [20180823]IMU與db link.txt--//當使用db link查看遠程表時,實際上會產生小小的日誌.--//當時如果與IMU結合在一起,可以導致IMU的失效.1.環境:SCOTT@bo
Oracle DB
utf-8 建議 網絡 接受 方案 中文 .exe 路徑 使用 索引 一、安裝 卸載 一、安裝 1、Oracle首先詢問用戶是否接受更新信息,一般選擇不接受;Oracle安裝選項,需為其配置數據庫,所以此處會詢問是否創建安裝數據庫,選擇是系統類型,一般選擇服
Oracle作業3 —— 簡單查詢
ins varchar2 table student insert core rac .com des 一、創建學生表 CREATE TABLE STUDENTS( STU_ID NUMBER(10) CONSTRAINTS PK_STUS_ID PRIMARY KE
Oracle DB 使用DDL語句建立和管理表
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
oracle - plsql的簡單使用
查詢 1. 開啟SQL Window視窗 2. 在SQL Windows頁面上寫入SQL語句,點選執行(F8),結果就展現在頁面 編輯更新: 1. 除了用delete, update 語句外,一個比較方便的方式是,在查詢語句後加上for update 2. 然後選擇要編輯的資料
Oracle DB 使用單行函式定製輸出
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!