Oracle ネットワークの構成による他のデータベースへの接続
tnsname.oraの編集
設定項目 | 設定値 |
---|---|
ネットワークサービス名 | TEST_NET |
プロトコル | TCP |
ホスト名 | node2.oracle12c.jp |
ポート番号 | 1521 |
サービス名 | orcl |
$ vi $ORACLE_HOME/network/admin/tnsnames.ora
# $ORACLE_HOME/network/admin/tnsnames.ora
TEST_NET =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = node2.oracle12c.jp)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
ネットワーク構成変更のテスト
$ sqlplus system/oracle_4U@test_net
SQL> SELECT instance_name,host_name FROM v$instance;
INSTANCE_NAME HOST_NAME
------------- ---------
orcl node2.oracle12c.jp
代替リスナの作成
新しいリスナーの登録
- 1561番ポートを使用するリスナを作成する
$ vim $ORACLE_HOME/network/admin/listener.ora
# $ORACLE_HOME/network/admin/listener.ora
LISTENER2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = node2.oracle12c.jp)(PORT = 1561))
)
ADR_BASE_LISTENER2 = /u01/app/oracle
リスナーのサービス名の登録
- デフォルトリスナーと新たに追加されたリスナー両方にサービス名を登録する
$ vim $ORACLE_HOME/network/admin/tnsnames.ora
# $ORACLE_HOME/network/admin/tnsnames.ora
LISTENER2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = locahost)(PORT = 1561))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
LISTENER1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
リスナーの起動
$ lsnrctl start listener2
リスナーをデータベースに認識させる
- ORACLE_SIDが対象のデーターベース名になるようにする
$ sqlplus / as sysdba
SQL> show parameter local_listener
SQL> sho parameter local_listener
NAME TYPE VALUE
---- ---- -----
local_listener string LISTENER1
SQL> ALTER SYSTEM SET local_listener=LISTENER,LISTENER2 SCOPE=BOTH;
SQL> sho parameter local_listener
NAME TYPE VALUE
---- ---- -----
local_listener string LISTENER1,LISTENER2
リスナーのステータス確認
$ lsnrctl status LISTENER2