th0x4c 備忘録

[Oracle] ネットワーク構成

目的

Oracle DB にネットワーク接続できるように構成する。

環境

  • OS: Oracle Enterprise Linux 5.8
  • DB: Oracle Database 11g Release 2 (11.2.0.3)

サーバー側のネットワーク構成

netca により構成する。

  • netca を起動

    $ netca

  • “リスナー構成” を選択

  • “追加”

  • リスナー名の設定。今回はリスナー名はデフォルトの”LISTENER”のまま。

  • プロトコルの選択

  • ポート番号の指定。今回は標準ポート 1521 を使用。

  • “いいえ”

  • “次へ”

  • “完了”

これでリスナーの設定ファイル $ORACLE_HOME/network/admin/listener.ora が作成される。

$ cat $ORACLE_HOME/network/admin/listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = sv1.local)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

ADR_BASE_LISTENER = /u01/app/oracle

クライアント側のネットワーク構成

同じく netca により構成する。

  • netca を起動

    $ netca

  • “ローカル・ネット・サービス名構成” を選択

  • “追加”

  • サービス名を設定。通常は DB のグローバル・データベース名(db_name.db_domain)を入力。

  • プロトコルの選択

  • ホスト名, ポート番号を設定

  • 接続テスト。今回は行わない。

  • ネット・サービス名の設定。

  • “いいえ”

  • “次へ”

  • “完了”

これでクライアントのネットワーク設定ファイル $ORACLE_HOME/network/admin/tnsnames.ora が作成される。

$ cat $ORACLE_HOME/network/admin/tnsnames.ora 
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

PROD1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = sv1.local)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = PROD1.local)
    )
  )

接続テスト

クライアントから DB にネットワーク接続できるか確認する。

  • リスナーの起動

lsnrctl start を実行

$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 05-SEP-2012 23:02:48

Copyright (c) 1991, 2011, Oracle.  All rights reserved.

Starting /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.3.0 - Production
System parameter file is /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/sv1/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sv1.local)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=sv1.local)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date                05-SEP-2012 23:02:48
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/sv1/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sv1.local)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully
  • DB インスタンスの起動

sqlplus からインスタンスの起動

$ sqlplus '/as sysdba'
SQL> startup
  • インスタンスがリスナーに登録されていることを確認

lsnrctl status でサービスが登録されていることを確認する。

$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 05-SEP-2012 23:05:17

Copyright (c) 1991, 2011, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=sv1.local)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date                05-SEP-2012 23:02:48
Uptime                    0 days 0 hr. 2 min. 28 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/sv1/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sv1.local)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "PROD1.local" has 1 instance(s).
  Instance "PROD1", status READY, has 1 handler(s) for this service...
Service "PROD1XDB.local" has 1 instance(s).
  Instance "PROD1", status READY, has 1 handler(s) for this service...
The command completed successfully
  • クライアントからネットワーク接続できることを確認

クライアント側のネットワーク構成で指定したネット・サービス名で接続できることを確認する。

$ sqlplus scott/tiger@PROD1

SQL*Plus: Release 11.2.0.3.0 Production on Wed Sep 5 23:07:13 2012

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>