他のOracleサーバにリンクアクセスし、他のマシンのOracleデータベースを
自分のマシンのデータベースのように扱うための機能
構文
CREATE [PUBLIC] DATABASE LINK [データベースリンク名]
CONNECT TO [ユーザ名]
IDENTIFIED BY [パスワード]
USING 'データベース接続名';
|
データベースリンクの作成
CREATE DATABASE LINK TEST_DB_LINK
CONNECT TO SCOTT
IDENTIFIED BY TIGER
USING 'HITO';
データベースリンクへのアクセス
SQL> SELECT * FROM EMP@TEST_DB_LINK;
別名の設定
別名を設定する事でDBLINKを意識する事なくオブジェクトへアクセスする事が可能
SQL> CREATE SYNONYM EMP for EMP@TEST_DB_LINK;
シノニムが作成されました。
ORA-02085エラー
・下記のORAエラーが発生する場合、エラー内容を確認し初期化パラメータinit.oraの設定を確認する
ORA-02085: データベース・リンク TESTLINK.HOSTはDB.PRODに接続します。
原因 データベース・リンクは、リンク名とは別の名前のデータベースに接続しようとしました。
データベース・リンク名は、そのデータベース名と同じ名前である必要があります。
処置 接続するデータベースと同じ名前のデータベース・リンクを作成してください。
・init.oraの GLOBAL_NAMES の設定を確認する
・TRUEの場合はFALSEに変えてORACLEを再起動
・DBLINK 資料
データベースリンクの削除
DROP DATABASE LINK @TEST_DB_LINK;
|
作成したDBLINK情報の確認
set lines 200
col OWNER for a10
col DB_LINK for a20
col USERNAME for a20
col HOST for a20
col CREATED for a20
select * from user_db_links;
select tname, tabtype from tab;
select * from ALL_DB_LINKS;
# sys権限
set lines 200
col OWNER for a10
col DB_LINK for a20
col USERNAME for a10
col HOST for a20
select * from dba_db_links;
select * from link$;
|