かきスタンプ

福岡でフリーランスの物流系のエンジニアやってます。

Oracle:サービス名を記述しないDBLINK

Oracleで異なるDBを使用する場合、DBLINKを使いますが、サービス名を記述しない書き方でもOKです。

記述例

CREATE DATABASE LINK <dblink_name>
CONNECT TO <user_name> IDENTIFIED BY <password>
USING '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hostname)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XE)))'

USING には、通常ネットサービス名を入力しますが、tnsnames.ora の内容をそのまま記述する感じです。

使用例

SELECT * FROM table_name@dblink_name

作成したDBLINKの内容確認

SELECT * FROM DBA_DB_LINKS

DBLINK削除

DROP DATABASE LINK <dblink_name>