1. 程式人生 > >【oracle】使用dblink進行跨資料庫的操作

【oracle】使用dblink進行跨資料庫的操作

 oracle在進行跨庫訪問時,可以通過建立dblink實現,今天就簡單的介紹下如果建立dblink,以及通過dblink完成插入、修改、刪除等操作

         首先了解下環境:在tnsnames.ora中配置兩個資料庫別名:orcl(使用者名稱:wangyong 密碼:1988)、orcl2(使用者名稱:wangyong 密碼:123456),在orcl中     建立database link來訪問orcl2

        

 第一步:賦予許可權

         在建立database link之前,我們需要判斷,登陸的使用者是否具備建立database link 的許可權,所以我們執行以下的語句(用wangyong使用者登陸orcl):

-- 檢視wangyong使用者是否具備建立database link 許可權
select * from user_sys_privs where privilege like upper('%DATABASE LINK%') AND USERNAME='WANGYONG';

        如果查詢有返回行,則表示具備建立database link許可權,否則,則需要使用sys登陸orcl為WANGYONG使用者賦予建立許可權

-- 給wangyong使用者授予建立dblink的許可權
grant create public database link to wangyong;

         此時,再執行上面檢視是否具備許可權的sql語句,會發現有返回行,表示,WANGYONG這個使用者已經具備建立database link的許可權

 第二步;建立database link

         我所瞭解到的建立方式有兩種:1)通過pl/sql developer圖形化建立、2)通過sqlplus中的sql語句建立,依次來看

         1)pl/sql developer 圖形化建立

   

     填寫完成後點選“Apply”按鈕即可建立成功。

         2)sql語句建立

-- 注意一點,如果密碼是數字開頭,用“”括起來
create public database link TESTLINK2 connect to WANGYONG identified by "123456" USING 'ORCL21'

       這樣,就完成了簡單database簡單的建立

   第三步:操作

          首先,我們需要在ORCL2庫中新建一張表,並插入部分資料,如下圖:

           

        現在,我們通過database link 在orcl中訪問這張屬於orcl2庫中WANGYONG的表COMPANY

          

     從截圖中可以看到,在ORCL中可以成功訪問到ORCL2中使用者WANGYONG的表

     下面,利用同樣的方式,進行插入,修改,刪除操作,依次看截圖,每一次操作後均執行查詢語句,可對比執行效果:

     1)插入

     

  2)修改

    

3)刪除

    

     至此,簡單的dblink操作就可以了,對於上面的連結字串,還可以建立同義詞代替,會稍微省點事

-- 建立同義詞
create
synonym TESTSYNONYM FOR company@TESTLINK1;

     那麼上面的查詢、插入、修改、刪除中可直接用WYSYNONYM代替[email protected]即可,例如查詢語句可改成如下方式(插入,修改,刪除類似):

-- 查詢ORCL2中WANGYONG使用者的表COMPANY
SELECT * FROM TESTSYNONYM order by id

相關推薦

oracle使用dblink進行資料庫操作

 oracle在進行跨庫訪問時,可以通過建立dblink實現,今天就簡單的介紹下如果建立dblink,以及通過dblink完成插入、修改、刪除等操作         首先了解下環境:在tnsnames.ora中配置兩個資料庫別名:orcl(使用者名稱:wangyong 密碼:

Oracle資料庫查詢資料-使用Oracle的Database Link進行資料庫操作

有這麼一個需求,要搭建測試環境,需要把開發庫中的一部分表和資料匯入到測試庫中。咋一看這個需求有很多的實現方法,至少可以使用Oracle的匯入匯出來操作。這肯定能夠實現,但感覺比較low,下面來看一種高大上的做法,使用Oracle的DATABASE LINK。 DATABAS

循序漸進學.Net Core Web Api開發系列9:常用的資料庫操作

系列目錄 一、概述 本篇描述一些常用的資料庫操作,包括:條件查詢、排序、分頁、事務等基本資料庫操作。試驗的資料庫為MySQL。 二、條件查詢1、查詢所有記錄 List<Article> articles = _context.Articles.ToList<Artic

oracle使用dblink進行資料庫直連操作

1.若多個數據庫之間有業務連線的需求,最簡單的辦法是進行資料庫的直連(DbLink)(而非採用程式程式碼開發)】  (1)oracle連線sqlserver   有兩張方案可選:在伺服器建立透明閘道器,或建立關於sqlserver的資料來源,具體配置如下: &n

轉載python如何對資料庫進行操作--操作參考

先花點時間來說說一個程式怎麼和資料庫進行互動 1.和資料庫建立連線 2.執行sql語句,接收返回值 3.關閉資料庫連線 使用MySQLdb也要遵循上面的幾步.讓我們一步步的進行. 1、MySQL資料庫要用MySQLdb模組,但Python用來連結MySQL的第三方庫My

JavaOracleJava操作Oracle 12c資料庫基本步驟介紹——從零開始#1

    Oracle資料庫的Java操作,其基本步驟與其他的資料庫一樣的。 1、下載驅動程式 請到官網下載Oracle 12c的jdbc驅動包,使用的時候請根據自己的JDK版本來區別使用jdbc的版本。 Oracle 12c的jdbc驅動下載頁面為: JDK7請使用

OracleOracle中的常用操作

轉換成 sql查詢語句 sub 備份 關系 %d des 統計分析 put 一、ORACLE的啟動和關閉 1、在單機環境下 要想啟動或關閉ORACLE系統必須首先切換到ORACLE用戶,如下 su - oracle a、啟動ORACLE系統 oracle>svrmgr

OracleEXPDP和IMPDP數據泵進行導出導入的方法

ant connect 對象 檢查 前三 logfile cli dmp 嚴重 一、expdp/impdp和exp/imp的區別 1、exp和imp是客戶端工具程序,它們既可以在客戶端使用,也可以在服務端使用。 2、expdp和impdp是服務端的工具程序,他們只能在or

Oracle修改資料庫時間策略。org.springframework.web.util.NestedServletException: Request processing failed;

從log很明顯可以看出是資料庫連線失敗,但是資料庫明明是開著的,出現這個錯誤有著一定的概率,刷好多次會出現一次然後又好了,然後用plsql連線資料庫發現跳出修改密碼的提醒,此時我們將密碼改為原來密碼多加個1,之後使用者可能被鎖定。 1.先解鎖 alter user XXGS accou

oracle查詢某張表重建以前的記錄操作(如能找到哪臺機器執行的更好)

oracle查詢某張表重建以前的記錄操作(如能找到哪臺機器執行的更好) 需求: 開發下午反饋測試環境有一張表不知道誰動過導致資料變了,然後他們十一點多的時候把表重建了; 但他們想知道重建表之前誰動過這張表(猜測肯定是覺得資料丟失了給他們帶來了諸多不便才想起來找DBA誰動過這張表),主要是想知

oracledual在資料庫不同啟動狀態其欄位數

dual在資料庫不同啟動狀態其欄位數 不經意間在《oracle DBA工作日記》看到dual這個系統表在資料庫nomount、mount、open狀態其欄位不一樣,驗證後記錄如下: --關閉資料庫   SQL> shutdown immediate Database cl

C++如何進行簡單的檔案輸入、輸出?(基本操作及程式碼示例)(程式設計習慣)

使用cin進行輸入時,程式將輸入 視為一系列的位元組,每個位元組都被解釋為字元編碼,輸入一開始都是字元資料。 輸出檔案開啟 //第一種 ofstream outFile; outFile.open("my.txt"); //第二種 ofstream fout; char filename[5

Oracle六步搭建屬於自己的Oracle資料庫

折騰了兩天!記錄一下,這裡參考了網上的教程,部落格以及官方文件。 執行環境: 阿里云云翼計劃學生機-windows 2012R版本。以下是配置,低於這個配置還是別安裝了。 步驟說明: 一,下載Oracle 12c。 二,安裝Oracle 12c。 三,建立表名

asp.net之Web Form編寫抽象工廠資料庫操作

理解抽象工廠 在ADO.NET對SqlServer,Mysql等的操作步驟類似,不同的是: SqlServer的操作使用的是SqlConnection、SqlCommand,SqlDataAdapter; MySql使用的是MySqlConnection、

OracleOracle查詢資料庫中所有表的記錄數

方法一: 首先建立一個計算函式 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&g

Oracle初次使用Oracle12c希望瞭解的一些操作

    當你初次使用Oracle資料庫的時候,我們可能會覺得比較困難,一般來說,初次使用一個數據庫的時候,我們最想知道的操作是什麼,作者認為可能是如下幾個疑問。 1、怎麼進入到SQL執行介面 方法一:開啟命令提示符,直接輸入sqlplus即可進入SQL介面; 方法二

Oracle資料庫操作

實現: 將遠端資料庫1中的表1資料寫入到遠端資料庫2中的表2。 第一步:建立服務名 需要安裝Oracle伺服器(即本地可以安裝資料庫)紅色部分很重要 方法一: 修改Oracle安裝目錄下的.\product\10.2.0\db_1\network\ADMIN\tnsnam

Oracle增量備份和全庫備份怎麼恢復資料庫

1差異增量實驗示例1.1差異增量備份為了演示增量備份的效果,我們在執行一次0級別的備份後,對資料庫進行一些改變。再執行一次1級別的差異增量備份:執行完1級別的備份後再次對資料庫進行更改:再執行一次1級別的差異增量備份:檢視當前SCN,我們對錶進行刪除:由此我們就可以演示利用增

Oracle高速查詢資料庫庫中工資最高的10條使用者記錄;

高速查詢資料庫庫中工資最高的10條使用者記錄; 1、查詢所有的使用者記錄 select * from user order by wage desc; 2、因為獲取所有的欄位太耗時,我們這裡只取每條記錄的實體地址——rowid; select r

Oracle資料庫查看錶結構命令

寫專案文件的時候可能需要寫資料庫表結構,用編輯器右鍵查看錶結構一行行復制顯然是效率很低的,通過命令查看錶結構而後多行多列複製才是王道,只為了方便編寫文件,這裡介紹兩個命令 1.查詢表所有欄位 sel