データベースリンクとは、他のデータベース上のオブジェクトにアクセスできるスキーマオブジェクトである。データベースリンクを使用すると、別のインスタンスのオブジェクトにアクセスすることができる。
Oracleデータベースにおいて、オブジェクト名の長さは最大30バイトまでである。ただし、例外的にデータベース・リンク名の長さは最大128バイトまでである。
SELECT * FROM emp@example_database_link.segakuin.com
データベース・リンクを使用する際、ネットワークドメインの部分は省略できる。
SELECT * FROM emp@example_database_link
ネットワーク・ドメインを省略した場合、グローバル・データベース名のドメインがデータベース・リンクのドメインと見なされる。たとえば、グローバル・データベース名が sales.segakuin.com の場合、データベース・リンク example_database_link は example_database_link.segakuin.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文の一覧を次に示す。
データベース・リンクを操作するために必要なシステム権限の一覧を次に示す。
データベース・リンクに関するデータ・ディクショナリ・ビューの一覧を次に示す。
データベース・リンクの疎通確認を簡単に行うには、DUAL表を問い合わせる。
SQL> SELECT * FROM DUAL@dblink.segakuin.com;
D
-
X
SQL>