Oracle創(chuàng)建Database Link的兩種方式詳解
創(chuàng)建一個(gè)dblink,命名為dblink_name,從A數(shù)據(jù)庫(kù)連到B數(shù)據(jù)庫(kù),B數(shù)據(jù)庫(kù)的IP為192.168.1.73,端口為1521,實(shí)例名為oracle,登錄名為tast,密碼為test。
一菜單方式:
打開(kāi)plsql,點(diǎn)擊【File】-【New】-【Database link】,打開(kāi)如下圖所示窗口
填好各項(xiàng)信息后,點(diǎn)擊【Apply】即可完成Database Link的創(chuàng)建。
二SQL方式
-- Drop existing database link
drop public database link dblink_name;
-- Create database link
create public database link dblink_name connect to SYSTEM using '192.168.1.73:1521/oracle';
以上就是Oracle創(chuàng)建Database Link的兩種方式
以下是詳細(xì)的補(bǔ)充:
database linke是建立一個(gè)數(shù)據(jù)庫(kù)到另一個(gè)數(shù)據(jù)庫(kù)的路徑的對(duì)象,通過(guò)database link可以允許查詢遠(yuǎn)程表,我理解可以算作一種分布式數(shù)據(jù)庫(kù)的用法。
database link是單向連接,既然它是一種對(duì)象,那自然可以在xxx_objects表中查詢到相關(guān)的信息。建立database link前需要明確幾個(gè)事情:
1、確認(rèn)從建立方的server可以訪問(wèn)遠(yuǎn)程數(shù)據(jù)庫(kù)。
2、需要在建立方的tnsnames中配置遠(yuǎn)程數(shù)據(jù)庫(kù)連接串。
3、只有在服務(wù)端配置的連接才能在dblink中使用,如果僅是在客戶端配置的連接是不能在dblink中使用,我這里就犯了這個(gè)錯(cuò)誤,執(zhí)行時(shí)就報(bào)錯(cuò):
select * from t@dblinktest
*
ERROR at line 1:
ORA-12154: TNS:could not resolve service name
很明顯,相當(dāng)于服務(wù)端未配置tnsname,因此找不到遠(yuǎn)程數(shù)據(jù)庫(kù)的service name配置。
建立過(guò)程:
1、建立方的服務(wù)端配置遠(yuǎn)程數(shù)據(jù)庫(kù)的tnsname配置。
2、tnsping 遠(yuǎn)程數(shù)據(jù)庫(kù)tnsnames配置名稱,可以通。
3、sqlplus登錄后執(zhí)行:
SQL> create database link dblinktest connect to user identified by passwd using 'ceshi';
其中:
dblinktest是database link的名稱。
user是遠(yuǎn)程數(shù)據(jù)庫(kù)的用戶名。
passwd是遠(yuǎn)程數(shù)據(jù)庫(kù)的密碼。
ceshi是數(shù)據(jù)庫(kù)服務(wù)端配置的tnsnames中名稱。
4、執(zhí)行:
SQL> select owner,object_name from dba_objects where object_type='DATABASE LINK';
OWNER OBJECT_NAME
--------------- -------------------------
OPEN DBLINKTEST
可以看到已經(jīng)建立了這個(gè)database link。
5、執(zhí)行:
SQL> select * from t@dblinktest;
ID
----------
0
2
3
4
5
當(dāng)然也可以執(zhí)行insert語(yǔ)句:
SQL> insert into t@dblinktest values(1);
1 row created.
另外database link分為public和private的,默認(rèn)是private,只有當(dāng)前用戶可用,如果是create public database link ...,則所有用戶都可以使用這個(gè)名稱的database link。
相關(guān)文章
Oracle多表查詢中間表的創(chuàng)建實(shí)例教程
這篇文章主要給大家介紹了關(guān)于Oracle多表查詢中間表的創(chuàng)建的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02深入淺析Oracle數(shù)據(jù)庫(kù)管理之創(chuàng)建和刪除數(shù)據(jù)庫(kù)
本篇文章給大家介紹oracle數(shù)據(jù)庫(kù)管理之創(chuàng)建和刪除數(shù)據(jù)庫(kù),本文從數(shù)據(jù)庫(kù)管理概述、數(shù)據(jù)庫(kù)管理方法、數(shù)據(jù)庫(kù)的準(zhǔn)則、使用dbca創(chuàng)建數(shù)據(jù)庫(kù)、使用dbca刪除數(shù)據(jù)庫(kù)等五大方面展開(kāi)話題,需要的朋友一起學(xué)習(xí)吧2015-10-10Oracle 表三種連接方式使用介紹(sql優(yōu)化)
這篇文章主要介紹了Oracle表三種連接方式的使用,學(xué)習(xí)sql優(yōu)化的朋友可以參考下2014-08-08oracle?delete誤刪除表數(shù)據(jù)后如何恢復(fù)
最近在使用oracle數(shù)據(jù)時(shí),一不小心把table中的數(shù)據(jù)delete掉并且已經(jīng)提交了,下面這篇文章主要給大家介紹了關(guān)于oracle?delete誤刪除表數(shù)據(jù)后如何恢復(fù)的相關(guān)資料,需要的朋友可以參考下2022-06-06Oracle中XML插入數(shù)據(jù)時(shí)的空格問(wèn)題解決方案
在使用 foreach 或其他循環(huán)結(jié)構(gòu)時(shí),插入數(shù)據(jù)庫(kù)的數(shù)據(jù)前后可能會(huì)出現(xiàn)不必要的空格,這種額外的空格可能會(huì)導(dǎo)致數(shù)據(jù)不一致,影響查詢結(jié)果,甚至導(dǎo)致應(yīng)用程序的錯(cuò)誤,本文將為您提供一些常見(jiàn)的解決方法和建議,需要的朋友參考下吧2023-08-08ORACLE SQL語(yǔ)句優(yōu)化技術(shù)要點(diǎn)解析
這篇文章主要介紹了ORACLE SQL語(yǔ)句優(yōu)化技術(shù)的相關(guān)內(nèi)容,小編覺(jué)得挺不錯(cuò)的,在這里分享給大家,需要的朋友可以參考下。2017-10-10