自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle建立DBLINK的詳細(xì)步驟記錄

數(shù)據(jù)庫 Oracle
oracle的blink是用來裝載本oracle與其它oracle服務(wù)器聯(lián)接的信息用的,可能有很多人對于在Oracle中怎樣建立DBLINK不太了解,下文中就為大家?guī)碓敿?xì)的Oracle建立DBLINK的步驟。

測試條件:

  假設(shè)某公司總部在北京,新疆有其下屬的一個分公司。在本次測試中,新疆的計算機(jī)為本地計算機(jī),即本要的IP地址為:192.168.1.100

  北京的總部有一個集中的數(shù)據(jù)庫,其SID是SIDBJ,用戶名:userbj,密碼:bj123,北京的IP地址是:192.168.1.101。

  在本地(新疆)的分公司也有一個數(shù)據(jù)庫,其SID是SIDXJ,用戶:userxj,密碼:xj123,新疆的IP地址是:192.168.1.100。

  要將本地新疆的SIDXJ數(shù)據(jù)庫中訪問到北京的數(shù)據(jù)庫SIDBJ中的數(shù)據(jù)。

  也就是說,在sidxj的數(shù)據(jù)庫中,用戶userxj(192.168.1.100)需要建立DBLINK,以userbj的用戶身份訪問sidBJ(192.168.1.101)中的數(shù)據(jù)。

  測試環(huán)境:兩個數(shù)據(jù)庫均建立在WINXP上,ORACLE的版本均為Oracle817

  建立環(huán)境時,要注意關(guān)閉兩臺計算機(jī)上的Windows的防火墻,否則,會出現(xiàn)能ping通,但Oracle連接不通的情況。

  1、問:如何返回數(shù)據(jù)庫的GLOBAL_NAME?

  執(zhí)行SELECT * FROM GLOBAL_NAME;

  北京的數(shù)據(jù)庫的GLOBAL_NAME為SIDBJ.US.ORACLE.COM

  新疆的數(shù)據(jù)庫的GLOBAL_NAME為SIDXJ

  2、問:如何查看Global_name參數(shù)是true還是False?

  答:執(zhí)行:SQL> show parameter global_name;

  執(zhí)行的結(jié)果如下:

  NAME TYPE VALUE
  ------------------------------------ ----------- ------------------------------
  global_names boolean TRUE

  表示該參數(shù)是true.

  該參數(shù)為true時,你在本地建立的DBLINK的名稱必須和遠(yuǎn)程的Global_name一致才行。

  3、問:查看遠(yuǎn)程數(shù)據(jù)徊是否支持高級復(fù)制功能。

  答:通過查看v$option視圖,如果其中Advanced replication為TRUE,則支持高級復(fù)制功能;否則不支持。

  執(zhí)行語句為:select * from v$option;

  也可以執(zhí)行select * from v$option where PARAMETER='Advanced replication'語句,

  如何返回值為True,那么就是支持,否則就是不支持。在兩個數(shù)據(jù)庫中都是檢查是否支持才行。

#p#

 

建立步驟:

  1、在本地建立一個Oracle的客戶端連接tns_xj_to_bj,用于連接北京的數(shù)據(jù)庫。

  在北京的數(shù)據(jù)庫中,建立一個表用于測試。

  create table USERBJ.BJ_TEST
  (
  STU_ID NUMBER,
  STU_NAME VARCHAR2(100)
  )

  在其中增加一條記錄:

  insert into BJ_TEST (STU_ID, STU_NAME)

  values (1, '鐘德榮');

  2、新建一個連接tnsxj,用于連接本地的sidxj數(shù)據(jù)庫,以tnsxj/userxj/xj123登錄到PLSQL中。

  下面開始創(chuàng)建連接到北京的遠(yuǎn)程數(shù)據(jù)連接DBLink。

  create database link SIDBJ.US.ORACLE.COM connect to userbj identified by bj123 using 'tns_xj_to_bj';

  其中:SIDBJ.US.ORACLE.COM是遠(yuǎn)程的數(shù)據(jù)庫的global_name,userbj是連接SIDBJ的用戶名,bj123是userbj的密碼,

  tns_xj_to_bj是本地建立的連接到北京的數(shù)據(jù)庫的服務(wù)名。

  3、測試連接是否成功:

  select * from dual@SIDBJ.US.ORACLE.COM

  如果返回結(jié)果如下則表示連接成功了。

  DUMMY

  -----

  X

  4、在本地數(shù)據(jù)為中查詢已經(jīng)建立的遠(yuǎn)程連接名:

  SQL> select owner,object_name from dba_objects where object_type='DATABASE LINK';
  OWNER OBJECT_NAME
  ------------------------------ --------------------------------------------------------------------------------
  SYSTEM SIDBJ.US.ORACLE.COM
  USERXJ DBLINK_XJ_TO_BJ
  USERXJ SIDBJ

 

  5、至此,在新疆的計算機(jī)上建立了一個DBLINK,用于連接到北京的數(shù)據(jù)庫上,

  在新疆的數(shù)據(jù)庫中查詢北京的數(shù)據(jù)庫中表的信息:

  select * from bj_test@SIDBJ.US.ORACLE.COM

  查詢結(jié)果:

  STU_ID STU_NAME
  ---------- --------------------------------------------------------------------------------

  1 鐘德榮

  表示查詢是正常的。

  6、關(guān)于global_name參數(shù)的測試

  create database link a connect to userbj identified by bj123 using 'tns_xj_to_bj';

  建立了一個DBLINK,執(zhí)行下面的查詢:

  select owner,object_name from dba_objects where object_type='DATABASE LINK';

  可以看到已經(jīng)建立了名為:a的DBLINK。

  但執(zhí)行下面的查詢,檢索遠(yuǎn)程數(shù)據(jù)時,就會出現(xiàn)錯誤。

  select * from bj_test@a

  原因是因為本地數(shù)據(jù)庫的global_names的參數(shù)值為true,所以,dblink的名稱必須和遠(yuǎn)程數(shù)據(jù)庫的global_names相同。

  要修改本地數(shù)據(jù)庫的global_names參數(shù)為false;(注意是修改本地數(shù)據(jù)庫SIDXJ,通過測試修改過程的參數(shù)不行,過程的global_names參數(shù)為TRUE還是為FALSE沒有關(guān)系)

  使用下面的語句修改該參數(shù):

  SQL> alter system set global_names=false;

  再執(zhí)行下面的幾步即可查詢出數(shù)據(jù):

  create database link a connect to userbj identified by bj123 using 'tns_xj_to_bj'; --創(chuàng)建DBLINK

  select owner,object_name from dba_objects where object_type='DATABASE LINK';--查詢現(xiàn)有的DBLINK

  select * from bj_test@a--查詢遠(yuǎn)程表

  7、下面在SIDXJ中建立存儲過程,通過DBLINK檢索遠(yuǎn)程數(shù)據(jù)庫SIDBJ, 存儲過程如下:

  CREATE OR REPLACE PROCEDURE test_cur
  as
  strSql1 varchar2(1000);
  t_stu_name varchar2(100);
  TYPE TCUR IS REF CURSOR;
  CUR TCUR;
  begin
  strSql1:='select stu_name from bj_test@a';
  OPEN CUR FOR strSql1;
  LOOP
  FETCH CUR INTO t_stu_name;
  EXIT WHEN CUR%NOTFOUND;
  DBMS_OUTPUT.PUT_LINE(t_stu_name);
  END LOOP;
  CLOSE CUR;
  end test_cur;

  測試存儲過程顯示,輸出了過程數(shù)據(jù)庫中的STU_NAME的值。

  以上腳本全部在ORACLE817下通過測試。

通過上文中介紹的幾步就能夠輕松實現(xiàn)Oracle建立DBLINK,通過本文的學(xué)習(xí),希望大家都能夠掌握Oracle建立DBLINK的方法,相信在以后的工作中是很有用處的。

【編輯推薦】

  1. oracle存儲過程中的select語句
  2. 如何處理Oracle中殺不掉的鎖
  3. Oracle數(shù)據(jù)庫效率技巧:避免錯誤的索引
  4. Oracle無法啟動的處理過程
責(zé)任編輯:迎迎 來源: IT專家網(wǎng)論壇
相關(guān)推薦

2010-04-30 10:32:17

Oracle建立

2010-05-06 15:04:54

Oracle建立DBL

2010-06-17 13:32:39

UML用例模型

2011-07-27 18:55:02

Oracle數(shù)據(jù)庫DBLINK操作

2011-05-26 13:29:30

ORACLE數(shù)據(jù)庫升級

2011-03-23 11:22:14

oracle dbli

2017-09-01 15:42:00

MySQLOracledblink功能

2010-10-28 11:42:28

Oracle只讀用戶角

2010-03-09 10:25:42

Linux wap網(wǎng)關(guān)

2010-04-06 13:33:41

Oracle服務(wù)

2010-07-02 14:37:20

配置SSH協(xié)議

2014-01-02 10:19:54

PostgreSQL安裝

2010-05-10 17:26:14

Oracle sqlp

2010-04-15 11:27:46

Oracle備份

2010-04-12 16:03:12

Oracle SGA設(shè)

2010-04-26 10:44:27

Oracle SCN

2020-03-10 09:54:20

零信任網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2010-04-23 11:56:50

Oracle序列

2010-07-05 14:22:54

UML圖

2010-07-28 13:37:50

ADSL Modem共
點贊
收藏

51CTO技術(shù)棧公眾號