CREATE DATABASE LINKは、データベースリンクを作成するSQL文である。

目次

CREATE DATABASE LINKの構文

プライベート・データベースリンクを作成する。

CREATE DATABASE LINK dblink [CONNECT TO user IDENTIFIED BY password] [USING connect_string]

パブリック・データベースリンクを作成する。

CREATE PUBLIC DATABASE LINK dblink [CONNECT TO user IDENTIFIED BY password] [USING connect_string]

共有データベースリンクを作成する。

CREATE SHARED DATABASE LINK dblink [CONNECT TO user IDENTIFIED BY password] [USING connect_string]
dblink

作成するデータベースリンクの名前を指定する。

データベースオブジェクトの名前の長さは30バイトまでだが、データベースリンクの名前は例外的に128バイトまでの長さまで指定できる。

データベースリンクを作成できるのは自分のスキーマ内だけであり、他のスキーマにデータベースリンクを作成することはできないので、スキーマ名は指定できない。

ローカルデータベースの初期化パラメータglobal_namesがtureに設定されている場合は、データベースリンク名が接続先リモートデータベースのグローバル名と一致している必要がある。 この場合、接続先リモートデータベースで SELECT * FROM GLOBAL_NAME;を実行した結果をそのままデータベースリンク名に指定すればよい。初期化パラメータglobal_namesがfalseに設定されている場合は、この限りではない。

user

接続先リモートデータベースのユーザを指定する。

password

接続先リモートデータベースのパスワードを指定する。パスワードを引用符で囲む必要はない。

connect_string

接続先リモートデータベースのネットサービス名を指定する。

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

データベースリンクには次の3種類がある。

データベースリンク 説明
プライベート・データベースリンク データベースリンクを作成したユーザだけが参照できるデータベースリンク
パブリック・データベースリンク すべてのユーザが参照できるデータベースリンク
共有データベースリンク ソースデータベースからターゲットデータベースへのひとつのネットワーク接続を使用する複数のセッションで共有可能なひとつのデータベースリンク

CREATE DATABASE LINKに必要な権限

プライベート・データベースリンクを作成するには、CREATE DATABASE LINKシステム権限が必要である。

パブリック・データベースリンクを作成するには、CREATE PUBLIC DATABASE LINKシステム権限が必要である。

CREATE DATABASE LINKの使用例

CREATE DATABASE LINK foo.example.com CONNECT TO marina IDENTIFIED BY horiuchi USING 'example'

作成したデータベースリンクは、ALL_DB_LINKS、DBA_DB_LINKS又はUSER_DB_LINKSで確認することができる。

データベースリンクで接続できるかどうかを確認するには、DUAL表を問い合わせて、結果が返ることを確認する。

SQL> SELECT * FROM DUAL@dblink1

D
-
X

SQL>

関連SQL

スポンサーリンク