Oracle VM上のDNSサーバーにDBLINK用ホスト情報を追加する手順

DBLINK

■ はじめに

Oracle DatabaseでDBLINKを使用する際、接続先ホスト名の解決にDNSを活用することで、ホストIPが変更された場合でも柔軟に対応できます。本記事では、既存のBINDベースのDNSサーバー(Oracle Linux 7上に構築済み)に、DBLINK先となるサーバーのホスト情報を追加登録する手順を解説します。

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?


✅ 前提条件

  • DNSサーバーは 192.168.56.20 に構築済み(BIND稼働)
  • ドメイン名は example.local
  • DBLINK先のOracleホストの情報:
    • ホスト名: dbremote01.example.local
    • IPアドレス: 192.168.56.150

✅ 1. 正引きゾーンファイルの編集(DNSサーバー側で実行)

vi /var/named/example.local.zone

以下のエントリを追記します:

dbremote01  IN  A  192.168.56.150

▶ 編集例:

$TTL 86400
@   IN  SOA dns-server.example.local. root.example.local. (
        2025062202 ; Serial (更新すること)
        3600       ; Refresh
        1800       ; Retry
        604800     ; Expire
        86400 )    ; Minimum TTL
    IN  NS  dns-server.example.local.
dns-server IN A   192.168.56.100
host01     IN A   192.168.56.101
dbremote01 IN A   192.168.56.150

シリアル番号(Serial)は日付+2桁などで更新してください


✅ 2. 逆引きゾーンファイルの編集(DNSサーバー側で実行)

vi /var/named/56.168.192.zone

以下の行を追記します:

150 IN PTR dbremote01.example.local.

▶ 編集例:

$TTL 86400
@   IN  SOA dns-server.example.local. root.example.local. (
        2025062202 ; Serial
        3600
        1800
        604800
        86400 )
    IN  NS  dns-server.example.local.
100 IN PTR dns-server.example.local.
101 IN PTR host01.example.local.
150 IN PTR dbremote01.example.local.

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?


✅ 3. ゼーンチェックとnamed再起動

named-checkzone example.local /var/named/example.local.zone
named-checkzone 56.168.192.in-addr.arpa /var/named/56.168.192.zone
systemctl restart named

チェックでOKであれば再起動して反映されます


✅ 4. 動作確認

▶ 正引き

dig @192.168.56.20 dbremote01.example.local

▶ 逆引き

dig -x 192.168.56.150 @192.168.56.20

✅ 5. Oracle Database側の設定例

▶ tnsnames.oraに記述

DBREMOTE01 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dbremote01.example.local)(PORT = 1521))
    (CONNECT_DATA =
      (SERVICE_NAME = orcl.remote)
    )
  )

▶ DBLINKの例

CREATE DATABASE LINK dbremote01_link
  CONNECT TO remote_user IDENTIFIED BY password
  USING 'DBREMOTE01';

DNSによりdbremote01.example.localの名前解決が可能なのでHOSTをIPで指定せずに機動する様になります


☑️ おわりに

DBLINKや多線接続の名前解決にDNSを活用することは、ネットワーク動作の可視性や抽象化を高め、過去のIPの更替といっためんどうも減らす効果があります。

[参考]
CREATE DATABASE LINK

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?

コメント

タイトルとURLをコピーしました