データベースリンクとは、他のデータベース上のオブジェクトにアクセスできるスキーマオブジェクトである。データベースリンクを使用すると、別のインスタンスのオブジェクトにアクセスすることができる。

スポンサーリンク

データベース・リンク名

Oracleデータベースにおいて、オブジェクト名の長さは最大30バイトまでである。ただし、例外的にデータベース・リンク名の長さは最大128バイトまでである。

SELECT * FROM emp@example_database_link.itref.fc2web.com;

データベース・リンクを使用する際、ネットワークドメインの部分は省略できる。

SELECT * FROM emp@example_database_link;

ネットワーク・ドメインを省略した場合、グローバル・データベース名のドメインがデータベース・リンクのドメインと見なされる。たとえば、グローバル・データベース名がsales.itref.fc2web.comの場合、データベース・リンクexample_database_linkはexample_database_link.itref.fc2web.comと見なされる。

データベース・リンクの種類

データベースリンクには、以下の2種類がある。

データベースリンクの種類
種類 説明
プライベート・データベースリンク データベース・リンクを作成したユーザのみがアクセスすることができるデータベースリンク
パブリック・データベースリンク 全てのユーザがアクセスできるデータベースリンク

データベース・リンクの同時使用数

ひとつのセッションで同時に使えるデータベース・リンクの数には制限がある。この数はopen_links初期化パラメータで設定されており、SHOWコマンドで確認できる。

SQL> SHOW PARAMETER OPEN_LINKS
NAME                     TYPE     VALUE
------------------------ -------- --------
open_links               integer  4
open_links_per_instance  integer  4

ひとつのセッションで同時に使えるデータベース・リンク数の制限を超えると、「ORA-02020:使用中のデータベース・リンクが多すぎます。」のエラーが発生する。

使用中のデータベース・リンクをクローズするには、COMMIT又はROLLBACKを行う。

データベースリンクに関するSQL文

SQL文 説明
CREATE DATABASE LINK データベースリンクを作成する。
ALTER DATABASE LINK データベースリンクを変更する。
DROP DATABASE LINK データベースリンクを削除する。

データベースリンクに関するシステム権限

データベースリンクを作成、変更又は削除するには、次表に示すシステム権限が必要である。

データベースリンクに関するシステム権限
システム権限 説明
ALTER DATABASE LINK プライベート・データベースリンクを変更できる。
ALTER PUBLIC DATABASE LINK パブリック・データベースリンクを変更できる。
CREATE DATABASE LINK プライベート・データベースリンクを作成できる。
CREATE PUBLIC DATABASE LINK パブリック・データベースリンクを作成できる。
DROP PUBLIC DATABASE LINK パブリック・データベースリンクを削除できる。

USING句でリンク先に接続するときの接続文字列を指定することができる。

データベース・リンクに関するデータ・ディクショナリ

データベース・リンクに関するデータ・ディクショナリ・ビューを次に示す。

データ・ディクショナリ・ビュー 説明
ALL_DB_LINKS 現在のユーザがアクセスできるデータベース・リンクを示す。
DBA_DB_LINKS Oracleデータベース内すべてのデータベース・リンクを示す。
GLOBAL_NAME グローバル・データベース名を示す。
USER_DB_LINKS 現在のユーザが所有するデータベース・リンクを示す。

データベース・リンクの疎通確認

データベース・リンクの疎通確認を簡単に行うには、DUAL表を問い合わせる。

SQL> SELECT * FROM DUAL@dblink.itref.fc2web.com;

D
-
X

SQL>
スポンサーリンク