12 プロファイルの構成

プロファイルのクライアント構成パラメータおよびサーバー構成パラメータの構成方法を学習します。プロファイルとは、クライアントまたはデータベース・サーバー上でのOracle Net機能の有効化および構成の優先順位を指定するパラメータの集合です。プロファイルの格納および実装は、sqlnet.oraファイルを介して行います。

12.1 プロファイル構成の概要

プロファイルを使用すると、次の操作を実行できます。

  • クライアントのドメインを指定して未修飾名に追加

  • ネーミング・メソッドの優先順位の指定

  • ロギング機能およびトレース機能の有効化

  • 特定のプロセスを通じてのルート接続

  • 外部プロシージャのパラメータの構成

  • Oracle Advanced Securityの構成

  • プロトコル固有パラメータを使用したデータベースへのアクセスの制限

12.2 インストール中のプロファイルの構成

クライアントおよびサーバーにソフトウェアがインストールされると、Oracle Universal InstallerはOracle Net Configuration Assistantを起動します。Oracle Net Configuration Assistantは、コンピュータが接続記述子に対する接続識別子の解決に使用するネーミング・メソッドの順序を構成します。

インストール時にOracle Net Configuration Assistantを使用して構成を行うと、sqlnet.oraファイルに次のようなエントリが作成されます。

NAMES.DIRECTORY_PATH=(ezconnect,tnsnames)

NAMES.DIRECTORY_PATHパラメータで、接続識別子の解決に使用するネーミング・メソッドの優先順位を指定します。インストールされた構成が適切でない場合、Oracle Net Managerを使用してsqlnet.oraの構成を変更します。

12.3 名前解決のクライアント属性の理解

次に示す項では、使用可能なクライアント構成オプションについて説明します。

12.3.1 クライアントのデフォルト・ドメインについて

クライアントが特定ドメインの名前を要求することが多い環境では、NAMES.DEFAULT_DOMAINパラメータを使用してクライアントのsqlnet.oraファイルにデフォルト・ドメインを設定します。このパラメータは、ローカル・ネーミング・メソッドと外部ネーミング・メソッドで使用できます。

デフォルト・ドメインが設定されると、そのドメインは接続文字列で指定された未修飾のネットワーク・サービス名に自動的に追加され、tnsnames.oraファイルに格納されているネットワーク・サービス名と比較されます。

たとえば、クライアントのtnsnames.oraファイルがsales.us.example.comのネットワーク・サービス名を含み、デフォルト・ドメインがus.example.comの場合、ユーザーは次の接続文字列を入力できます。

CONNECT scott@sales
Enter password: password

前の例では、salessales.us.example.comとして検索されます。

CONNECT scott@sales.us.example.comのように接続文字列にドメイン拡張子が含まれる場合は、ドメインは追加されません。

tnsnames.oraファイル内のネットワーク・サービス名がドメインで修飾されていなくて、NAMES.DEFAULT_DOMAINパラメータが設定されている場合は、ネットワーク・サービス名の最後にピリオド(.)を付けて入力します。たとえば、ドメインがus.example.comに設定され、クライアントtnsnames.oraファイルにsales2のネットワーク・サービス名がある場合は、次の接続文字列を入力します。

CONNECT scott@sales2.
Enter password: password

前の例では、クライアントはsales2.us.example.comではなくsales2に接続します。

12.3.1.1 デフォルト・ドメインの指定

次の手順では、デフォルト・ドメインの指定方法を説明します。

  1. Oracle Net Managerを起動します。

  2. ナビゲータ・ペインで、「ローカル」メニューから「プロファイル」を選択します。

  3. 右ペインのリストから、「ネーミング」を選択します。

  4. 「メソッド」タブをクリックします。

  5. 「デフォルト・ドメイン」フィールドにドメインを入力します。

  6. 「ファイル」メニューから「ネットワーク構成の保存」を選択します。

    sqlnet.oraファイルには、次のようなエントリが追加されます。

    NAMES.DEFAULT_DOMAIN=us.example.com

12.3.2 ネーミング・メソッドの優先順位

ネーミング・メソッドを構成した後、「ネーミング・メソッドの構成」の説明に従って、その優先順位付けを行う必要があります。接続識別子を解決するためのネーミング・メソッドは、リストに出現する順序で試みられます。リストの先頭のネーミング・メソッドが接続識別子を解決できなかった場合、リストの2番目のメソッドが使用されます。以降、同様です。

次の手順では、ネーミング・メソッドの順序の指定方法を説明します。

  1. Oracle Net Managerを起動します。

  2. ナビゲータ・ペインで、「ローカル」メニューから「プロファイル」を選択します。

  3. 右ペインのリストから、「ネーミング」を選択します。

  4. 「メソッド」タブをクリックします。

    表12-1では、「メソッド」タブにリストされているネーミング・メソッドの値を説明します。

    表12-1 ネーミング・メソッドの値

    ネーミング・メソッドの値 説明

    TNSNAMES

    ネットワーク・サービス名を、クライアントのtnsnames.oraファイルで解決します。

    関連項目: 「ローカル・ネーミング・メソッドの構成」

    LDAP

    データベース・サービス名、ネットワーク・サービス名またはネットワーク・サービス別名を、ディレクトリ・サーバーで解決します。

    関連項目: 「ディレクトリ・ネーミング・メソッドの構成」

    EZCONNECT

    クライアントが、ホスト名、ポート名(オプション)およびサービス名(オプション)で構成されるTCP/IP接続識別子を使用できるようにする場合、または既存の名前解決サービスや集中管理された一連の/etc/hostsファイルを使用してホスト名の別名を解決できるようにします。

    関連項目: 「簡易接続ネーミング・メソッドの理解」

    NIS

    サービス情報を、既存のNetwork Information Service(NIS)で解決します。

  5. 「使用可能なメソッド」リストからネーミング・メソッドを選択して、右矢印ボタンをクリックします。

    選択されたネーミング・メソッドが「選択メソッド」リストに移動します。

  6. Oracle Netによるネットワーク・サービス名またはデータベース・サービス名の解決を行いたい順にネーミング・メソッドを配置します。「選択メソッド」リスト内でネーミング・メソッドを選択し、「上へ」または「下へ」をクリックして選択項目をリスト内で移動します。

  7. 「ファイル」メニューから「ネットワーク構成の保存」を選択します。

    sqlnet.oraファイルは、次のようなNAMES.DIRECTORY_PATHパラメータで更新されます。

    NAMES.DIRECTORY_PATH=(ldap, tnsnames)

12.3.3 プロセスへの接続要求のルーティング

クライアントおよびサーバーは、接続要求が特定のプロセスに送られるように構成できます。次の手順では、接続要求をプロセスにルーティングする方法を説明します。

  1. Oracle Net Managerを起動します。

  2. ナビゲータ・ペインで、「ローカル」メニューから「プロファイル」を選択します。

  3. 右ペインのリストから、「一般」を選択します。

  4. 「ルーティング」タブをクリックします。

  5. 接続をルーティングするいずれかのオプションを選択します。

    ノート:

    すべての接続が特定のサーバーを使用するように構成するには、Oracle Net Managerで「常に専用サーバーを使用」オプションを選択します。これにより、sqlnet.oraファイルのUSE_DEDICATED_SERVERパラメータが設定され、リスナーは、クライアントからのすべてのネットワーク・セッションに専用サーバーを起動するようになります。共有サーバーが構成されている場合でも、結果的に専用サーバーの接続が使用されます。

  6. 「ファイル」メニューから「ネットワーク構成の保存」を選択します。

関連項目:

フィールドとオプションの説明は、表12-3を参照してください

12.4 データベース・アクセス制御の設定

あるクライアントへのアクセスは許可し、他のクライアントへのアクセスは制限するようにsqlnet.oraファイルを構成できます。表12-2では、利用可能な設定を説明します。

表12-2 sqlnet.oraのアクセス制御の設定

Oracle Net Managerのフィールド/オプション sqlnet.oraファイルのパラメータ 説明

TCP/IPクライアント・アクセス権のチェック

TCP.VALIDNODE_CHECKING

データベースへのアクセスを選別するかどうかを指定します。

このフィールドが選択された場合、Oracle Net Managerは、パラメータTCP.EXCLUDED_NODESおよびTCP.INVITED_NODESをチェックして、データベースへのアクセスを許可するクライアントを特定します。このフィールドが選択解除された場合、Oracle Net Managerは、クライアントを選別しません。

アクセスを許可されないクライアント

TCP.EXCLUDED_NODES

TCP/IPプロトコルを使用するデータベースへのアクセスで、許可を与えないクライアントを指定します。

アクセスを許可されたクライアント

TCP.INVITED_NODES

TCP/IPプロトコルを使用するデータベースへのアクセスで、許可を与えるクライアントを指定します。

TCP.INVITED_NODESパラメータにリスナー・ノードが含まれないと、リスナー制御ユーティリティはリスナーに接続できません。その場合、開始、停止および管理コマンドをリスナーで実行できなくなります。

TCP.INVITED_NODESパラメータまたはTCP.EXCLUDED_NODESパラメータに無効なホスト名またはIPアドレスがリストされている場合、リスナー制御ユーティリティはリスナーに接続できません。

12.4.1 データベース・アクセス制御の構成

次の手順では、データベース・アクセス制御の構成方法を説明します。

  1. Oracle Net Managerを起動します。

  2. ナビゲータ・ペインで、「ローカル」メニューから「プロファイル」を選択します。

  3. 右ペインのリストから、「一般」を選択します。

  4. 「アクセス権」タブをクリックします。

  5. 「TCP/IPクライアント・アクセス権のチェック」オプションを選択します。

  6. 「アクセスを許可されるクライアント」フィールドおよび「アクセスを許可されないクライアント」フィールドで、ホスト名またはIPアドレス(許可に含めるクライアント、あるいは含めないクライアント)を入力します(入力ではカンマを使用して、同一行に配置されたエントリを区切ります)。

12.5 プロファイルの詳細情報について

これらは、設定可能なsqlnet.oraファイルの詳細設定です。

表12-3 sqlnet.oraの詳細設定

Oracle Net Managerのフィールド/オプション sqlnet.oraファイルのパラメータ 説明

送信操作タイムアウト

SQLNET.SEND_TIMEOUT

データベース・クライアントまたはサーバーが接続の確立後にピアからのデータを待機する時間をミリ秒単位、秒単位または分単位で指定します。

このパラメータをクライアントに設定すると、サーバー・プロセスの異常終了やサーバーのビジー状態が原因で、受信操作が無期限または長時間待機したまま放置されることがなくなります。指定した時間内にクライアントが応答データを受信しない場合、ORA-12535: TNS: 操作はタイムアウトしました。およびORA-12609: TNS: 受信タイムアウトが発生しましたというメッセージがsqlnet.logファイルにロギングされます。

また、このパラメータをサーバー側で設定すると、接続の確立後にサーバーがクライアント・データを待機する時間をミリ秒単位、秒単位または分単位で指定できます。指定した時間内にクライアントがデータを何も送信しない場合は、ORA-12535:ORA-12535: TNS: 操作はタイムアウトしました。およびORA-12609: TNS: 受信タイムアウトが発生しましたというメッセージがデータベース・サーバーによってsqlnet.logファイルにロギングされます。このパラメータを使用しない場合、データベース・サーバーは、ダウンしているか、または障害が発生している可能性のあるクライアントから、データを待ち続けることがあります。低い値に設定すると、サーバーは多くの場合クライアントからの入力をブロックして、このようなタイムアウトを頻繁に発生させます。

受信操作タイムアウト

SQLNET.RECV_TIMEOUT

接続が確立された後、データベース・サーバーがクライアントからのデータを待機する時間(秒単位)を指定します。クライアントは指定された時間内にデータを送信する必要があります。

クライアントが異常終了する環境では、このパラメータを設定することをお薦めします。指定した時間内にクライアントがデータを何も送信しない場合、データベース・サーバーは、ORA-12535: TNS:operation timed outおよびORA-12609: TNS: Receive timeout occurredというエラーをsqlnet.logファイルにロギングします。

このパラメータを使用しない場合、データベース・サーバーは、ダウンしているか、または障害が発生している可能性のあるクライアントから、データを待ち続けます。

また、この設定をクライアント側で使用し、接続の確立後にクライアントがデータベース・サーバーからの応答データを待機する秒数を指定することもできます。このパラメータを指定しない場合、クライアントは要求で飽和状態になっているデータベース・サーバーからの応答を長時間待機することがあります。

接続タイムアウト

SQLNET.INBOUND_CONNECT_TIMEOUT

クライアントがデータベース・サーバーに接続して必要な認証情報を提供する時間を、秒単位で指定します。

合計送信バッファ・サイズ

SEND_BUF_SIZE

セッションの送信操作に適用するバッファ・スペース制限を指定します。

合計受信バッファ・サイズ

RECV_BUF_SIZE

セッションの受信操作に適用するバッファ・スペース制限を指定します。

TNSタイムアウト値

SQLNET.EXPIRE_TIME

クライアント/サーバーの接続がアクティブであることを確認するプローブの送信時間間隔(分単位)を指定します。0より大きい値を設定すると、クライアントの異常終了によって接続がいつまでも開かれたままにならないようにできます。終了済接続や使用されなくなった接続を検出したプローブは、エラーを返し、それによってサーバー・プロセスが終了します。このオプションは、通常は一度に複数の接続を処理するデータベース・サーバーに対して設定します。

終了済接続の検出機能を使用する上での制約は、次のとおりです。

  • この機能はBequeathed接続では機能しません。

  • プローブ・パケットはごく小さいものですが、ネットワーク・パフォーマンスを低下させるおそれのある余分な通信量を発生させます。

  • 使用しているオペレーティング・システムによっては、接続プローブ・イベントを他の発生イベントと区別するために、サーバーで追加の処理を行う必要がある場合があります。このために、ネットワーク・パフォーマンスが低下する場合もあります。

クライアント登録ID

SQLNET.CLIENT_REGISTRATION

クライアントに一意の識別子を指定します。この識別子は接続要求とともにリスナーに渡されます。識別子として、最大128文字の任意の文字を使用できます。

ログオン認証プロトコルのバージョン

SQLNET.ALLOWED_LOGON_VERSION_CLIENT

SQLNET.ALLOWED_LOGON_VERSION_SERVER

Oracle Databaseインスタンスに接続する際に使用可能な最小の認証プロトコルを定義します。パラメータ名のVERSIONは、Oracle Databaseのリリースではなく、認証プロトコルのバージョンを指します。クライアントまたはサーバーがパートナにより指定された最小リリースを満たしていない場合、認証に失敗してORA-28040エラーが戻されます。

サポートされる値は次のとおりです。

  • 12a: Oracle Database 12cの認証プロトコルの場合(最も強力な保護)

  • 12: クリティカル・パッチ更新CPUOct2012、およびより新しいOracle Database 11gの認証プロトコルの場合(推奨)

  • 11: Oracle Database 11gの認証プロトコルの場合

    10: Oracle Database 10gの認証プロトコルの場合

  • 9: Oracle9i Databaseの認証プロトコルの場合

  • 8: Oracle8i Databaseの認証プロトコルの場合

デフォルト値は、12または12aです。設定値11または12は、次の意味を持つことに注意してください。

  • SEC_CASE_SENSITIVE_LOGON=FALSEの設定は使用しないでください。FALSEに設定されている場合、ユーザー・アカウントおよびセキュア・ロールは使用できなくなります。SEC_CASE_SENSITIVE_LOGON初期化パラメータでは、パスワードの大/小文字の区別を有効化または無効化します。

  • Oracle Database 11gから導入されたパスワード保護を利用する場合、ユーザーはパスワードを変更する必要があります。

  • Oracle Database 10gより前のOCIクライアントの各リリースおよびすべてのバージョンのJDBC Thinクライアントでは、パスワードベース認証を使用してOracle Databaseに対して認証することができません。

Oracle Database 12cサーバーに、前のリリースのOracle Databaseを実行しているサーバーへのデータベース・リンクが含まれている場合は、前のリリースを実行しているサーバーのSQLNET.ALLOWED_LOGON_VERSION設定と一致するように、Oracle Database 12cサーバーのSQLNET.ALLOWED_LOGON_VERSION_CLIENTパラメータの値を設定します。

UNIXシグナル処理をオフにする

BEQUEATH_DETACH

UNIXシグナル処理をオンまたはオフにします。

クライアント・アプリケーションはBequeathプロトコルを介して内部にサーバー・プロセスを子プロセスとして生成するため、クライアント・アプリケーションは子プロセスが終了したときにそのプロセスをクリーン・アップする必要があります。サーバー・プロセスが接続の責任を完遂すると、それは終了済プロセスになります。シグナル・ハンドラは、これらの終了済プロセスをクリーン・アップする必要があります。このパラメータを設定してシグナル・ハンドラを使用禁止にすることにより、消滅プロセスをUNIX初期化プロセスに渡すようにクライアント・プロファイルを構成できます。

アウト・オブ・バンド・ブレークの使用禁止

DISABLE_OOB

バンド外ブレークをオンまたはオフにします。

選択を解除するかoffにすると、Oracle Netは基礎となるプロトコルによって提供される緊急データ要求を使用してブレーク・メッセージを送受信できます。これは、一度使用可能にすると、このクライアントが使用するすべてのプロトコルに適用されます。

選択するかonにすると、基礎となるプロトコルの緊急データ要求によるブレーク・メッセージの送受信は使用できなくなります。

アウト・オブ・バンド自動ブレークの使用禁止オプション

DISABLE_OOB_AUTO

接続時にクライアントのサーバー・パスに対するTCP OOB (アウト・オブ・バンド)のサポートをチェックします。サーバー・パスがOOBをサポートしている場合にのみ、クライアントはOOBを有効にします。

関連項目:

12.5.1 Oracle Net Servicesを使用したsqlnet.oraファイルでの拡張機能の設定

次の手順では、sqlnet.oraファイルで拡張機能を設定する方法について説明します。

  1. Oracle Net Managerを起動します。

  2. ナビゲータ・ペインで、「ローカル」メニューから「プロファイル」を選択します。

  3. 右ペインのリストから、「一般」を選択します。

  4. 「詳細」タブをクリックします。

  5. 設定するフィールドまたはオプションに値を入力します。

  6. 「ファイル」メニューから「ネットワーク構成の保存」を選択します。

12.6 外部ネーミング・メソッドの構成

Network Information Service(NIS)の外部ネーミングに必要なクライアント・パラメータを構成するには、sqlnet.oraファイルを使用します。次の手順では、sqlnet.oraファイルでNISパラメータを構成する方法について説明します。

  1. Oracle Net Managerを起動します。

  2. ナビゲータ・ペインで、「ファイル」メニューから「プロファイル」を選択します。

  3. 右ペインのリストから、「ネーミング」を選択します。

  4. 「外部」タブをクリックします。

  5. 「メタ・マップ」フィールドに、NAMES.NIS.META_MAPと入力します。

  6. 「ファイル」メニューから「ネットワーク構成の保存」を選択します。

12.7 Oracleネットワーク・セキュリティの構成

Oracleネットワーク・セキュリティ機能を使用すると、データの暗号化、整合性チェック、強化された認証およびシングル・サインオンが可能になります。この機能によって、LDAP準拠ディレクトリ・サーバーにおける一元化されたユーザー管理および認証ベースのシングル・サインオンも可能になります。この機能は、Transport Layer Security (TLS)プロトコルに依存しています。

次の手順では、Oracleネットワーク・セキュリティの機能を使用するようにクライアントまたはサーバーを構成する方法について説明します。

  1. Oracle Net Managerを起動します。

  2. ナビゲータ・ペインで、「ローカル」メニューから「プロファイル」を選択します。

  3. 右ペインのリストから、「ネットワーク・セキュリティ」を選択します。

    「ネットワーク・セキュリティ」タブの各ページで、パラメータ・セットを個別に構成できます。タブ・ページは次のとおりです。

    • 認証: KERBEROS5、RADIUSなどの使用可能な認証方法の構成用。

    • その他のパラメータ: 認証サービスの構成用。

    • 整合性: 整合性のタイプ、チェックサム・レベルおよび使用可能な方法の構成用。

    • 暗号化: 暗号化のタイプと方法の構成用。

    • TLS: TLSの使用の設定用

  4. パラメータを適切に選択または編集します。

  5. 「ファイル」メニューから「ネットワーク構成の保存」を選択します。

ノート:

詳細は、タブ・ページの「ヘルプ」ボタンまたはOracle Net Managerオンライン・ヘルプのネットワーク・セキュリティのトピックを参照してください。ネットワーク・セキュリティ・トピックにアクセスするには、「ネットワーク・セキュリティ」を選択してから、「方法」オプションを選択します。