5 sqlnet.oraファイルのパラメータ

この章では、sqlnet.oraファイルの構成パラメータの完全なリストを提供します。

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

sqlnet.oraファイルはプロファイル構成ファイルです。これはクライアント・マシンおよびデータベース・サーバー上に存在します。プロファイルは、このファイルを使用して保存および実装されます。データベース・サーバーは、sqlnet.oraファイルのアクセス制御パラメータで構成できます。これらのパラメータは、プロトコルに基づいて、クライアントがアクセスを許可されるかまたは拒否されるかを指定します。

sqlnet.oraファイルでは次を実行できます。

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

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

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

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

  • 外部ネーミングのパラメータの構成

  • Oracle Advanced Securityの構成

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

デフォルトで、sqlnet.oraファイルはORACLE_HOME/network/adminディレクトリに配置されます。sqlnet.oraファイルは、環境変数TNS_ADMINで指定されたディレクトリに配置される場合もあります。

ノート:

  • sqlnet.oraファイル内の設定は、マルチテナント・コンテナ・データベース環境のすべてのプラガブル・データベース(PDB)に適用されます。

  • Oracle Net Servicesでは、sqlnet.oraのIFILEパラメータを、3段階までのネスト・レベルでサポートします。パラメータは、手動でファイルに追加されます。この構文の例を次に示します。

    IFILE=/tmp/listener_em.ora
    IFILE=/tmp/listener_cust1.ora
    IFILE=/tmp/listener_cust2.ora 
    

    詳細は、『Oracle Databaseリファレンス』を参照してください。

  • 読取り専用Oracleホーム・モードでは、sqlnet.oraファイルのデフォルトの場所は、ORACLE_BASE_HOME/network/adminです。

  • 読取り専用のOracleホーム・モードでは、ORACLE_HOMEの場所にデフォルト設定されるパラメータがORACLE_BASE_HOMEの場所にデフォルト設定されるように変更されます。

5.2 プロファイル・パラメータ(sqlnet.ora)

これらは、データベース・クライアントおよびサーバーの管理に使用するsqlnet.oraプロファイル構成パラメータです。

ノート:

SQLNET.ENCRYPTION_WALLET_LOCATION sqlnet.oraパラメータは、Oracle Database 19cで非推奨になりました。

SQLNET.ENCRYPTION_WALLET_LOCATIONパラメータは、透過的データ暗号化(TDE)のソフトウェア・キーストアの場所を定義します。ソフトウェア・キーストアの場所を構成するには、SQLNET.ENCRYPTION_WALLET_LOCATIONを設定するかわりに、WALLET_ROOT初期化パラメータおよびTDE_CONFIGURATION動的初期化パラメータを設定することをお薦めします。

これらのパラメータについては、『Oracle Database Advanced Securityガイド』で説明しています。

5.2.1 ACCEPT_MD5_CERTS

sqlnet.oraのプロファイル・パラメータACCEPT_MD5_CERTSによってMD5署名付き証明書を受け入れます。

用途

sqlnetがMD5署名付き証明書を受け入れるようにします。sqlnet.oraに加えて、このパラメータはlistener.oraでも設定する必要があります。

デフォルト

FALSE

  • TRUE MD5署名付き証明書を受け入れる場合

  • FALSE MD5署名付き証明書を受け入れない場合

5.2.2 ACCEPT_SHA1_CERTS

用途

SHA1署名付き証明書を受け入れないようにするには、sqlnet.oraに加えて、このパラメータもlistener.oraに設定する必要があります。

デフォルト

TRUE

  • TRUE SHA1署名付き証明書を受け入れる場合

  • FALSE SHA1署名付き証明書を受け入れない場合

5.2.3 ADD_SSLV3_TO_DEFAULT

sqlnet.oraのプロファイル・パラメータADD_SSLV3_TO_DEFAULTは、サーバーが受け入れるTransport Layer Security (TLS)のバージョンを設定します。

用途

サーバーが受け入れるTLSのバージョンを設定します。

使用上のノート

SSL_VERSIONデフォルト・リストでSSL_VERSION=3.0を使用する場合は、この値をTRUEに設定します。このパラメータは、sqlnet.oraで設定した上で、listener.oraでも設定する必要があります。

デフォルト

FALSE

  • TRUEに設定され、SSL_VERSIONが指定されていない、または「不明」に設定されている場合、SSL_VERSIONには1.21.11.0および3.0のバージョンが含まれます。

  • FALSEに設定され、SSL_VERSIONが指定されていない、または「不明」に設定されている場合、SSL_VERSIONには1.21.1および1.0のバージョンが含まれます。

5.2.4 BEQUEATH_DETACH

sqlnet.oraのパラメータは、LinuxおよびUNIXシステムでのシグナル処理を有効化/無効化するために使用します。

用途

LinuxおよびUNIXシステムのシグナル処理をオンまたはオフに切り替えます

デフォルト

no

  • yes: シグナル処理をオフに切り替えます。

  • no: シグナル処理をオン状態にします。

BEQUEATH_DETACH=yes

5.2.5 DEFAULT_SDU_SIZE

用途

各接続に使用されるセッション・データ・ユニット(SDU)サイズをバイト数で指定します。

使用上のノート

接続全体を通して同じSDUサイズが使用されるように、このパラメータはクライアント側とサーバー側の両方のsqlnet.oraファイルに設定することをお薦めします。各セッションのクライアントとデータベース・サーバーの構成値が一致しない場合、2つの値の低いほうが使用されます。

特定のクライアント接続に対してこのパラメータを上書きするには、クライアントの接続記述子にSDUパラメータを指定します。

デフォルト

8192バイト(8 KB)

512から2097152バイト

例5-1 例

DEFAULT_SDU_SIZE=4096

5.2.6 DISABLE_INTERRUPT

sqlnet.oraのプロファイル・パラメータDISABLE_INTERRUPTは、クライアント・アプリケーションでSIGINITシグナルのOracle Net処理を無効にするために使用します。

用途

クライアント・アプリケーションでSIGINITシグナルのOracle Net処理を無効にします。

使用上のノート

Oracle Netは、SIGINTシグナルを捕捉するシグナル・ハンドラをインストールします。デフォルトでは、SIGINITシグナルの受信時のアクションは、現在の操作を取り消すことです。このパラメータをTRUEに設定すると、デフォルトの動作をオーバーライドし、SIGINTシグナルのOracle Net処理を無視できます。

Oracle Netに加えて独自のシグナル・ハンドラをインストールしたり、アンインストールする方法の詳細は、『Oracle Database管理者リファレンスfor Linux and UNIX-Based Operating Systems』を参照してください。

デフォルト

FALSE

DISABLE_INTERRUPT=TRUE

5.2.7 DISABLE_OOB

DISABLE_OOBは、sqlnet.oraファイルのネットワーク・パラメータであり、下層プロトコルから渡された緊急データを使用した、アウトオブバンド・ブレーク・メッセージの送受信をOracle Netで有効または無効にするために使用されます。

用途

下層プロトコルから渡された緊急データを使用した、アウト・オブ・バンド・ブレーク・メッセージの送受信をOracle Netで有効または無効にします。

使用上のノート

offに設定した場合、Oracle Netでブレーク・メッセージの送受信が可能になります。onに設定した場合、ブレーク・メッセージの送受信ができなくなります。これは、一度使用可能にすると、このクライアントが使用するすべてのプロトコルに適用されます。

デフォルト

off

例5-2 例

DISABLE_OOB=on

5.2.8 DISABLE_OOB_AUTO

sqlnet.oraファイルのDISABLE_OOB_AUTOネットワーク・パラメータは、接続時にアウトオブバンド・ブレーク・メッセージ・サポートのサーバー・パスを確認します。

用途

自動アウトオブバンド(OOB)サポートの無効化により、接続時にサーバー・パスを確認します。

使用上のノート

デフォルトでは、クライアントにより、接続時にサーバー・パスがアウトオブバンド・ブレーク・メッセージをサポートしているかどうかが確認されます。このパラメータがTRUEに設定されている場合は、接続時にクライアントでこのチェックは実行されません。

デフォルト

FALSE

例5-3 例

DISABLE_OOB_AUTO = TRUE

5.2.9 EXADIRECT_FLOW_CONTROL

用途

Exadirectフロー制御を有効または無効にします。

使用上のノート

このパラメータをオンにすると、Oracle Netが使用可能な受信ウィンドウを送信側にブロードキャストできるようになります。送信側は受信側のブロードキャスト・ウィンドウに基づいて送信を制限します。

デフォルト

off

EXADIRECT_FLOW_CONTROL=on

5.2.10 EXADIRECT_RECVPOLL

用途

受信側が受信データをポーリングする時間を指定します。

使用上のノート

パラメータは、固定値またはポーリング値を自動でチューニングするにはAUTOに設定します。

デフォルト

0

EXADIRECT_RECVPOLL = 10

EXADIRECT_RECVPOLL = AUTO

5.2.11 HTTPS_SSL_VERSION

sqlnet.oraのプロファイル・パラメータHTTPS_SSL_VERSIONは、XDB HTTPS接続で使用するTransport Layer Security (TLS)バージョンを制御するために使用します。

用途

XDB HTTPS接続で個別に使用されるTransport Layer Security (TLS)バージョンを制御します。

使用上のノート

特にSSL_VERSIONパラメータは、HTTPSで使用されるTLSバージョンを制御しなくなりました。このパラメータは、有効な任意のSSL_VERSIONの値に設定できます。

デフォルト

1.1または1.2で、TLSv1.1またはTLSv1.2を意味します。

有効な任意のSSL_VERSIONの値

5.2.12 IPC.KEYPATH

用途

UNIXドメイン・ソケット用の内部ファイルが作成される宛先ディレクトリを指定します。

使用上のノート

このパラメータは、UNIXドメイン・ソケットのOracle Netの使用にのみ適用され、クラスタウェアなどのデータベース内の他のUNIXドメイン・ソケットの使用には適用されません。 keypathを使用する場合、クライアント側およびリスナー側の両方で、バージョン18以上の同じ値を使用してください。

デフォルト

ディレクトリ・パスは、Oracle Linux、Oracle Solarisの場合は/var/tmp/.oracle、他のUNIX変数の場合/tmp/.oracleです。

ipc.keypath=/home/oracleuser

5.2.13 NAMES.DEFAULT_DOMAIN

用途

クライアントが最も頻繁に名前解決リクエストを参照するドメインを設定します。

使用上のノート

このパラメータが設定されると、デフォルトのドメイン名が未修飾のネット・サービス名またはサービス名に自動的に追加されます。

たとえば、デフォルト・ドメインがus.example.comに設定されている場合、接続文字列CONNECT scott@salesは、sales.us.example.comとして検索されます。接続文字列にCONNECT scott@sales.us.example.comなどのドメイン拡張が含まれている場合、そのドメインは接続文字列に追加されません。

デフォルト

なし

NAMES.DEFAULT_DOMAIN=example.com

5.2.14 NAMES.DIRECTORY_PATH

用途

クライアントの名前解決参照に使用するネーミング・メソッドの順序を指定します。

デフォルト

NAMES.DIRECTORY_PATH=(tnsnames, ldap, ezconnect)

次の表は、ネーミング・メソッドのNAMES.DIRECTORY_PATH値を示しています。

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

tnsnames(ローカル・ネーミング・メソッド)

クライアント上のtnsnames.oraファイルによりネットワーク・サービス名を解決する場合に設定します。

ldap(ディレクトリ・ネーミング・メソッド)

データベース・サービス名、ネット・サービス名またはネットワーク・サービス別名ディレクトリ・サーバーにより解決する場合に設定します。

ezconnectまたはhostname (簡易接続ネーミング・メソッド)

ホスト名、オプションのポートおよびサービス名で構成されるTCP/IP接続識別子をクライアントで使用できるようにする場合に選択します。

nis (外部ネーミング・メソッド)

既存のNetwork Information Service (NIS)でサービス情報を解決する場合に設定します。

NAMES.DIRECTORY_PATH=(tnsnames)

5.2.15 NAMES.LDAP_AUTHENTICATE_BIND

用途

接続文字列内の名前を解決するためにLDAPディレクトリに接続したときに、LDAPネーミング・アダプタで、指定したウォレットを使用して認証を試行するかどうかを指定します。

使用上のノート

パラメータ値はブールです。

このパラメータをTRUEに設定した場合、LDAP接続はウォレットを使用して認証されます。このウォレットの位置はWALLET_LOCATION パラメータで指定されている必要があります。

パラメータをFALSEに設定した場合、LDAP接続は匿名バインドを使用して確立されます。

デフォルト

false

NAMES.LDAP_AUTHENTICATE_BIND=true

5.2.16 NAMES.LDAP_CONN_TIMEOUT

用途

LDAPサーバーへの非ブロック接続のタイムアウトの秒数を指定します。

使用上のノート

パラメータ値-1は無限のタイムアウトです。

デフォルト

15秒

値は秒単位です。範囲は、-1からご使用の環境で許容される秒数までです。上限値はありません。

names.ldap_conn_timeout = -1

5.2.17 NAMES.LDAP_PERSISTENT_SESSION

用途

名前参照の完了後もLDAPネーミング・アダプタによりLDAPサーバーのセッションをオープンのままにするかどうかを指定します。

使用上のノート

パラメータ値はブールです。

パラメータがTRUEに設定されている場合、LDAPサーバーへの接続は、名前検索後もオープンのままです。接続は、プロセスの継続期間中、事実上オープンのままになります。接続が失われた場合は、必要に応じて再確立されます。

パラメータをFALSEに設定した場合、LDAP接続は名前参照の完了後ただちに終了します。以降参照のたびに接続がオープンされ、参照を実行してからクローズされます。このオプションを使用することで、LDAPサーバーに多数のクライアントが一度に接続することを防ぐことができます。

デフォルト

false

NAMES.LDAP_PERSISTENT_SESSION=true

5.2.18 NAMES.NIS.META_MAP

用途

ネットワーク・インフォメーション・サービス(NIS)属性をNISマップ名にマップするために使用するmapファイルを指定します。

デフォルト

sqlnet.maps

NAMES.NIS.META_MAP=sqlnet.maps

5.2.19 OCI_COMPARTMENT

OCI_COMPARTMENTパラメータを使用して、クライアント接続のデータベース・インスタンスを保持するコンパートメントのOracle Cloud Identifier (OCID)を指定します。

用途

データベース・トークンのリクエストのスコープを定義します。この値は、指定したコンパートメント内のデータベースに対してのみ、トークン・リクエストを開始するようにデータベース・クライアントに指示します。

使用上のノート

OCI Database as a Service (DBaaS)上でOracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)ユーザーのトークンベース認証を構成する場合に、このパラメータをPASSWORD_AUTHOCI_IAM_URLおよびOCI_TENANCYパラメータとともに使用できます。オプションのOCI_DATABASEパラメータを使用して、接続用のコンパートメント内のデータベース・インスタンスを指定することもできます。

この構成でデータベース・クライアントがIAMデータベース・トークンをリクエストできるのは、IAMユーザー名とIAMデータベース・パスワードを使用する場合のみです。クライアントは、APIキー、委任トークン、セキュリティ・トークン、リソース・プリンシパル、サービス・プリンシパルまたはインスタンス・プリンシパルのIAMデータベース・トークンはリクエストできません。

OCI_DATABASEが設定されていない場合、OCI_COMPARTMENTパラメータは任意です。OCI_DATABASEの設定を選択した場合は、OCI_COMPARTMENTも設定する必要があります。これにより、トークン・リクエストはそのコンパートメント内の指定されたデータベースに対するものになります。

OCI_COMPARTMENTおよびOCI_DATABASEのいずれも設定しない場合は、テナンシ全体がトークン・リクエストのスコープになります。

このパラメータは、tnsnames.oraファイルまたはsqlnet.oraファイルのSECURITYセクションの下で使用するか、コマンドライン接続文字列の一部として直接使用します。接続文字列で指定されたパラメータ値は、他で指定された値より優先されます。

デフォルト

なし

データベース・トークンへのアクセスを許可する、IAMコンパートメントのOCID。OCIコンソールのコンパートメント情報ページから、コンパートメントのOCID値を取得できます。

コンパートメントOCIDは、次の構文を使用します:

OCI_COMPARTMENT=compartment_OCID

構文オプションの詳細は、Oracle Cloud Identifier (OCID)ドキュメントを参照してください。

tnsnames.oraファイル:
net_service_name=
  (DESCRIPTION=
     (ADDRESS=(PROTOCOL=tcps)(HOST=salesserver1)(PORT=1522))
     (SECURITY=
        (SSL_SERVER_DN_MATCH=TRUE)
        (SSL_SERVER_CERT_DN="C=US,O=example,CN=OracleContext")
        (PASSWORD_AUTH=OCI_TOKEN)
        (OCI_IAM_URL=https://auth.us-region-1.example.com/v1/actions/generateScopedAccessBearerToken)
        (OCI_TENANCY=ocid1.tenancy..12345)
        (OCI_COMPARTMENT=ocid1.compartment..12345)
        (OCI_DATABASE=ocid1.autonomousdatabase.oc1.12345))
     (CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))  
  )
sqlnet.oraファイル:
SSL_SERVER_DN_MATCH=TRUE
PASSWORD_AUTH=OCI_TOKEN
OCI_IAM_URL=https://auth.us-region-1.example.com/v1/actions/generateScopedAccessBearerToken
OCI_TENANCY=ocid1.tenancy..12345
OCI_COMPARTMENT=ocid1.compartment..12345
OCI_DATABASE=ocid1.autonomousdatabase.oc1.12345

5.2.20 OCI_DATABASE

OCI_DATABASEパラメータを使用して、クライアント接続でアクセスするデータベースのOracle Cloud Identifier (OCID)を指定します。

用途

データベース・トークンのリクエストのスコープを定義します。データベースのOCID値は、コンパートメント内の指定されたデータベースへのトークン・リクエストを開始するように、データベース・クライアントに指示します。

使用上のノート

このパラメータは省略可能です。OCI Database as a Service (DBaaS)上でOracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)ユーザーのトークンベース認証を構成する場合に、このパラメータをPASSWORD_AUTHOCI_IAM_URLOCI_TENANCYおよびOCI_COMPARTMENTパラメータとともに使用できます。

この構成でデータベース・クライアントがIAMデータベース・トークンをリクエストできるのは、IAMユーザー名とIAMデータベース・パスワードを使用する場合のみです。クライアントは、APIキー、委任トークン、セキュリティ・トークン、リソース・プリンシパル、サービス・プリンシパルまたはインスタンス・プリンシパルのIAMデータベース・トークンはリクエストできません。

OCI_DATABASE値は、トークン・リクエストを指定されたデータベースのみに制限します。OCI_DATABASEを設定する場合は、OCI_COMPARTMENTも設定する必要があります。これにより、トークン・リクエストはそのコンパートメント内の指定されたデータベースに対するものになります。

このパラメータは、tnsnames.oraファイルまたはsqlnet.oraファイルのSECURITYセクションの下で使用するか、コマンドライン接続文字列の一部として直接使用します。接続文字列で指定されたパラメータ値は、他で指定された値より優先されます。

デフォルト

なし

クライアント接続でアクセスする必要があるデータベースのOCID。OCIコンソールの「データベース詳細」ページから、データベースのOCID値を取得できます。

データベースOCIDは、次の構文を使用します:

OCI_DATABASE=database_OCID

構文オプションの詳細は、Oracle Cloud Identifier (OCID)ドキュメントを参照してください。

tnsnames.oraファイル:
net_service_name=
  (DESCRIPTION=
     (ADDRESS=(PROTOCOL=tcps)(HOST=salesserver1)(PORT=1522))
     (SECURITY=
        (SSL_SERVER_DN_MATCH=TRUE)
        (SSL_SERVER_CERT_DN="C=US,O=example,CN=OracleContext")
        (PASSWORD_AUTH=OCI_TOKEN)
        (OCI_IAM_URL=https://auth.us-region-1.example.com/v1/actions/generateScopedAccessBearerToken)
        (OCI_TENANCY=ocid1.tenancy..12345)
        (OCI_COMPARTMENT=ocid1.compartment..12345)
        (OCI_DATABASE=ocid1.autonomousdatabase.oc1.12345))
     (CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))  
  )
sqlnet.oraファイル:
SSL_SERVER_DN_MATCH=TRUE
PASSWORD_AUTH=OCI_TOKEN
OCI_IAM_URL=https://auth.us-region-1.example.com/v1/actions/generateScopedAccessBearerToken
OCI_TENANCY=ocid1.tenancy..12345
OCI_COMPARTMENT=ocid1.compartment..12345
OCI_DATABASE=ocid1.autonomousdatabase.oc1.12345

5.2.21 OCI_IAM_URL

OCI_IAM_URLパラメータは、OCI Database as a Service (DBaaS)でOracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)ユーザー認証用のデータベース・トークンを取得するために、データベース・クライアントが接続する必要があるエンドポイントURLの指定に使用します。

用途

REST APIリクエストのIAM URLを指定します。データベース・クライアントはこのURLに接続して、IAMからデータベース・トークンを取得します。

使用上のノート

IAMトークンベースの認証(IAMユーザー名とIAMデータベース・パスワードを使用してデータベース・トークンを取得する)の構成時に、PASSWORD_AUTHおよびOCI_TENANCYパラメータとともに、OCI_IAM_URLパラメータを設定します。これらのパラメータは必須です。

この構成でデータベース・クライアントがIAMデータベース・トークンをリクエストできるのは、IAMユーザー名とIAMデータベース・パスワードを使用する場合のみです。クライアントは、APIキー、委任トークン、セキュリティ・トークン、リソース・プリンシパル、サービス・プリンシパルまたはインスタンス・プリンシパルのIAMデータベース・トークンはリクエストできません。

また、オプションのOCI_COMPARTMENTパラメータとOCI_DATABASEパラメータを設定して、トークン・リクエストのスコープを指定することもできます。

このパラメータは、tnsnames.oraファイルまたはsqlnet.oraファイルのSECURITYセクションの下で使用するか、コマンドライン接続文字列の一部として直接使用します。接続文字列で指定されたパラメータ値は、他で指定された値より優先されます。

デフォルト

なし

データベース・トークンを取得するためにデータベース・クライアントが接続する必要があるOCI IAMエンドポイントのURL。このURLはリージョンに固有で、次の構文を使用します:
<authentication_regional_endpoint>/v1/actions/generateScopedAccessBearerToken

この値は、<authentication_regional_endpoint>をリージョンのAPIエンドポイントのURLに置き換えることで、導き出すことができます。適切なAPIエンドポイントのURLを取得するには、IDおよびアクセス管理Data Plane APIを参照してください。

たとえば、URLをhttps://auth.us-region-1.example.comとして使用する場合、OCI_IAM_URL値は次のようになります。
https://auth.us-region-1.example.com/v1/actions/generateScopedAccessBearerToken

tnsnames.oraファイル:
net_service_name=
  (DESCRIPTION=
     (ADDRESS=(PROTOCOL=tcps)(HOST=salesserver1)(PORT=1522))
     (SECURITY=
        (SSL_SERVER_DN_MATCH=TRUE)
        (SSL_SERVER_CERT_DN="C=US,O=example,CN=OracleContext")
        (PASSWORD_AUTH=OCI_TOKEN)
        (OCI_IAM_URL=https://auth.us-region-1.example.com/v1/actions/generateScopedAccessBearerToken)
        (OCI_TENANCY=ocid1.tenancy..12345))
     (CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))  
  )
sqlnet.oraファイル:
SSL_SERVER_DN_MATCH=TRUE
PASSWORD_AUTH=OCI_TOKEN
OCI_IAM_URL=https://auth.us-region-1.example.com/v1/actions/generateScopedAccessBearerToken
OCI_TENANCY=ocid1.tenancy..12345

これらの例では、オプションのOCI_COMPARTMENTパラメータとOCI_DATABASEパラメータが指定されていません。そのため、テナンシ全体がトークン・リクエストのスコープとして設定されます。

5.2.22 OCI_TENANCY

OCI_TENANCYパラメータを使用して、ユーザーのテナンシのOracle Cloud Identifier (OCID)を指定します。

用途

ユーザーのテナンシ(ルート・コンパートメント)のOCIDを指定します。

使用上のノート

OCI Database as a Service (DBaaS)上でOracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)ユーザーのトークンベース認証を構成する場合に、このパラメータを必須のPASSWORD_AUTHおよびOCI_IAM_URLパラメータとともに設定します。

この構成でデータベース・クライアントがIAMデータベース・トークンをリクエストできるのは、IAMユーザー名とIAMデータベース・パスワードを使用する場合のみです。クライアントは、APIキー、委任トークン、セキュリティ・トークン、リソース・プリンシパル、サービス・プリンシパルまたはインスタンス・プリンシパルのIAMデータベース・トークンはリクエストできません。

また、オプションのOCI_COMPARTMENTパラメータとOCI_DATABASEパラメータを設定して、トークン・リクエストのスコープを指定することもできます。OCI_COMPARTMENTおよびOCI_DATABASEパラメータ値を設定しない場合は、テナンシ全体がトークン・リクエストのスコープになります。

このパラメータは、tnsnames.oraファイルまたはsqlnet.oraファイルのSECURITYセクションの下で使用するか、コマンドライン接続文字列の一部として直接使用します。接続文字列で指定されたパラメータ値は、他で指定された値より優先されます。

デフォルト

なし

ユーザーのテナンシのOCID。OCIコンソールの「テナンシ情報」ページから、テナンシのOCID値を取得できます。

テナンシOCIDは、次の構文を使用します:

OCI_TENANCY=tenancy_OCID

構文オプションの詳細は、Oracle Cloud Identifier (OCID)ドキュメントを参照してください。

tnsnames.oraファイル:
net_service_name=
  (DESCRIPTION=
     (ADDRESS=(PROTOCOL=tcps)(HOST=salesserver1)(PORT=1522))
     (SECURITY=
        (SSL_SERVER_DN_MATCH=TRUE)
        (SSL_SERVER_CERT_DN="C=US,O=example,CN=OracleContext")
        (PASSWORD_AUTH=OCI_TOKEN)
        (OCI_IAM_URL=https://auth.us-region-1.example.com/v1/actions/generateScopedAccessBearerToken)
        (OCI_TENANCY=ocid1.tenancy..12345))
     (CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))  
  )
sqlnet.oraファイル:
SSL_SERVER_DN_MATCH=TRUE
PASSWORD_AUTH=OCI_TOKEN
OCI_IAM_URL=https://auth.us-region-1.example.com/v1/actions/generateScopedAccessBearerToken
OCI_TENANCY=ocid1.tenancy..12345

これらの例では、オプションのOCI_COMPARTMENTパラメータとOCI_DATABASEパラメータが指定されていません。そのため、テナンシ全体がトークン・リクエストのスコープとして設定されます。

5.2.23 PASSWORD_AUTH

PASSWORD_AUTHパラメータは、OCI Database as a Service (DBaaS)上のOracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)ユーザーの認証方法の構成に使用します。この設定では、クライアント接続で、データベースへのユーザーのログインにIAMユーザー名およびIAMデータベース・パスワードが使用されます。

用途

アクセスにIAMユーザー名およびIAMデータベース・パスワードを使用して、IAMデータベース・パスワード・ベリファイアの認証またはIAMトークンベースの認証のいずれかを構成します。

パスワード・ベリファイア認証の場合、データベース・サーバーはIAMから、IAMデータベースのパスワード・ベリファイアを取得します。トークン・ベース認証の場合、データベース・クライアントはIAMから、データベース・トークン(db-token)をリクエストします。

使用上のノート

  • このパラメータは、tnsnames.oraファイルまたはsqlnet.oraファイルのSECURITYセクションの下で使用するか、コマンドライン接続文字列の一部として直接使用します。接続文字列で指定されたパラメータ値は、他で指定された値より優先されます。

  • この設定は、データベース・クライアントに対して、データベース・サーバーで既存のパスワード・ログイン・プロセスを使用(パスワード・ベリファイア認証)するか、IAMユーザー名とIAMデータベース・パスワードを使用(トークンベース認証)してトークンを取得するように指示します。このIAMデータベース・パスワードはOCIコンソール・パスワードとは異なります。IAMユーザーは、このパスワードをOCIコンソールから設定できます。

    Autonomous Databaseのユーザー認証と認可に使用するOCI IAMパスワードの作成を参照してください。

  • デフォルトでは、このパラメータはPASSWORD_VERIFIERに設定されています。PASSWORD_AUTH=PASSWORD_VERIFIER設定は、IAMデータベースのパスワード・ベリファイア認証を構成します。データベース・サーバーは、IAMからIAMデータベースのパスワード・ベリファイア(パスワードの暗号化されたハッシュ)を取得して、ユーザーを認証します。

    IAMユーザーが@connect_identifierを使用してIAMユーザー名とIAMデータベース・パスワードでログインすると、PASSWORD_AUTH=PASSWORD_VERIFIER設定と@connect_identifierはデータベース・クライアントに対して、データベース・サーバーとの既存のユーザー名およびパスワード・ログイン・プロセスに従うように指示します。

    PASSWORD_AUTHパラメータを使用すると、接続文字列に別の値を指定することで、tnsnames.oraまたはsqlnet.ora設定をオーバーライドできます。

  • IAMユーザー名とIAMデータベース・パスワードでIAMトークンベース認証を構成するには、PASSWORD_AUTH=OCI_TOKENを設定します。データベース・クライアントは、ユーザーがデータベースにアクセスするためのデータベース・トークン(db-token)を、IAMに要求します。

    クライアントによって取得される、このdb-tokenは、有効期限とスコープがあるベアラー・トークンであり、秘密キーは付属していません。これらのトークンは、セキュアなチャネルを経由して送信されます。TCP/IPプロトコルとTransport Layer Security (TLS)のみを使用する必要があり、そうしないと、TLS以外の接続が許可されていないことを示すエラー・メッセージが表示されます。

    IAMユーザーが/@connect_identifierを使用してIAMユーザー名とIAMデータベース・パスワードでログインすると、/@connect_identifierとともにPASSWORD_AUTH=OCI_TOKENを使用する設定は、REST APIリクエストを使用してOCI IAMエンドポイントから直接トークンを取得するように、データベース・クライアントに指示します。IAMユーザーがデータベース・スキーマにマップされている場合(排他的または共有)は、ログインが完了します。

    データベース・クライアントがIAMからトークンを取得するには、追加のパラメータを設定して、データベース・クライアントが追加のメタデータとIAMエンドポイントを検索できるようにする必要があります。追加パラメータは、OCI_IAM_URLOCI_TENANCY、およびオプションのOCI_COMPARTMENTOCI_DATABASEです。これらの値により、データベース・クライアントは指定されたエンドポイントに対して、適切なコールを行うことができます。

    OCI_IAM_URLパラメータは、データベース・クライアントが接続する必要があるAPIエンドポイントのURLを指定します。OCI_TENANCYパラメータは、ユーザーのテナンシのOCID (Oracle Cloud Identifier)を指定します。オプションのOCI_COMPARTMENTパラメータとOCI_DATABASEパラメータは、リクエストのスコープを制限します。

    この認証方法は、パスワード検証が機密であると見なされるため、パスワード検証を使用するよりも安全です。また、データベース・クライアントだけがデータベース・トークンを取得できます。アプリケーションやツールは、データベース・クライアントAPIを通じてこれらのタイプのトークンを渡すことはできません。

ノート:

別のIAMユーザー認証情報(APIキー、セキュリティ・トークン、リソース・プリンシパル、サービス・プリンシパル、インスタンス・プリンシパル、委任トークンなど)を使用して、db-tokenを取得することもできます。このdb-tokenは、proof-of-possession (PoP)トークンです。この場合は、別のパラメータ設定(TOKEN_AUTH=OCI_TOKEN)を使用します。

トークンの取得にデータベース・クライアントだけが使用できるIAMデータベース・パスワードとは異なり、これらの資格証明には、トークンを取得するためのアプリケーションかツールが必要です。「TOKEN_AUTH」を参照してください。

デフォルト

PASSWORD_VERIFIER

値および例

IAMデータベース・パスワード・ベリファイア認証の場合:

PASSWORD_AUTH=PASSWORD_VERIFIER

ノート: IAMデータベース・パスワード・ベリファイアでのIAMユーザー名とIAMデータベース・パスワードの使用はデフォルト設定であり、クライアントに追加のパラメータを設定する必要はありません。

ただし、クライアント側のsqlnet.oraファイルでPASSWORD_AUTHOCI_TOKENに設定されている場合、クライアントはOCI IAMに接続し、IAMユーザー名およびIAMデータベース・パスワードを使用して、データベース・トークンを取得しようとします。この場合は、PASSWORD_AUTH=PASSWORD_VERIFIERを使用して、特定の接続に対してこの設定をオーバーライドできます。

tnsnames.oraファイル:
net_service_name=
  (DESCRIPTION =
     (ADDRESS=(PROTOCOL=tcps)(HOST=sales-svr)(PORT=1521))
     (SECURITY=
        (SSL_SERVER_DN_MATCH=TRUE)
        (SSL_SERVER_CERT_DN="C=US,O=example,CN=OracleContext")
        (PASSWORD_AUTH=PASSWORD_VERIFIER))
     (CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))
  ) 
sqlnet.oraファイル:
PASSWORD_AUTH=PASSWORD_VERIFIER

IAMユーザー名とIAMデータベース・パスワードによるIAMトークンベース認証の場合:

PASSWORD_AUTH=OCI_TOKEN

ノート: トークンベースの認証では、TCPSプロトコル(PROTOCOL=TCPS)を構成し、SSL_SERVER_DN_MATCHパラメータをTRUEに設定する必要があります。

tnsnames.oraファイル:
net_service_name=
  (DESCRIPTION=
     (ADDRESS=(PROTOCOL=tcps)(HOST=salesserver1)(PORT=1522))
     (SECURITY=
        (SSL_SERVER_DN_MATCH=TRUE)
        (SSL_SERVER_CERT_DN="C=US,O=example,CN=OracleContext")
        (PASSWORD_AUTH=OCI_TOKEN)
        (OCI_IAM_URL=https://auth.us-region-1.example.com/v1/actions/generateScopedAccessBearerToken)
        (OCI_TENANCY=ocid1.tenancy..12345))
     (CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))  
  )
sqlnet.oraファイル:
SSL_SERVER_DN_MATCH=TRUE
PASSWORD_AUTH=OCI_TOKEN
OCI_IAM_URL=https://auth.us-region-1.example.com/v1/actions/generateScopedAccessBearerToken
OCI_TENANCY=ocid1.tenancy..12345

これらの例では、オプションのOCI_COMPARTMENTパラメータとOCI_DATABASEパラメータが指定されていません。そのため、テナンシ全体がトークン・リクエストのスコープとして設定されます。

5.2.24 RECV_BUF_SIZE

sqlnet.oraのパラメータRECV_BUF_SIZEは、セッションの受信操作用バッファ領域に上限を指定するために使用します。

用途

セッションの受信操作に使用するバッファ領域の制限を指定します。

使用上のノート

特定のクライアント接続に対してこのパラメータを上書きするには、クライアントの接続記述子にRECV_BUF_SIZEパラメータを指定します。

このパラメータは、TCP/IP、TLS付きTCP/IP、SDPの各プロトコルでサポートされます。

ノート:

オペレーティング・システムによっては、他のプロトコルもこのパラメータをサポートしている場合があります。このパラメータをサポートしている他のプロトコルの詳細は、オペレーティング・システムのマニュアルを参照してください。

デフォルト

このパラメータのデフォルト値は、オペレーティング・システムによって異なります。Linux 2.6オペレーティング・システムのデフォルト値は87380バイトです。

RECV_BUF_SIZE=11784

5.2.25 SDP.PF_INET_SDP

用途

システム上のSDPプロトコルのプロトコル・ファミリ定数またはアドレス・ファミリ定数を指定します。

デフォルト

27

任意の正の整数

SDP.PF_INET_SDP=30

5.2.26 SEC_USER_AUDIT_ACTION_BANNER。

用途

可能なユーザー・アクション監査についてユーザーに警告するバナー・コンテンツを含むテキスト・ファイルを指定します。

使用上のノート

テキスト・ファイルの完全パスをサーバーのsqlnet.oraファイルで指定する必要があります。Oracle Call Interface(OCI)アプリケーションでは、OCI機能を使用してこのバナーを取得し、ユーザーに表示できるようにします。

デフォルト

なし

データベース所有者が読取り権限を持つファイルの名前

SEC_USER_AUDIT_ACTION_BANNER=/opt/oracle/admin/data/auditwarning.txt

5.2.27 SEC_USER_UNAUTHORIZED_ACCESS_BANNER。

用途

データベースへの不正アクセスについてユーザーに警告するバナー・コンテンツを含むテキスト・ファイルを指定します。

使用上のノート

テキスト・ファイルの完全パスをサーバーのsqlnet.oraファイルで指定する必要があります。OCIアプリケーションでは、OCI機能を使用してこのバナーを取得し、ユーザーに表示できるようにします。

デフォルト

なし

データベース所有者が読取り権限を持つファイルの名前

SEC_USER_UNAUTHORIZED_ACCESS_BANNER=/opt/oracle/admin/data/unauthwarning.txt

5.2.28 SEND_BUF_SIZE

sqlnetのパラメータSEND_BUF_SIZEは、セッションの送信操作用のバッファ領域に上限を指定するために使用します。

用途

セッションの送信操作に使用するバッファ領域の制限を指定します。

使用上のノート

特定のクライアント接続に対してこのパラメータを上書きするには、クライアントの接続記述子にSEND_BUF_SIZEパラメータを指定します。

このパラメータは、TCP/IP、TLS付きTCP/IP、SDPの各プロトコルでサポートされます。

ノート:

オペレーティング・システムによっては、他のプロトコルもこのパラメータをサポートしている場合があります。このパラメータをサポートしている他のプロトコルの詳細は、オペレーティング・システムのマニュアルを参照してください。

デフォルト

このパラメータのデフォルト値は、オペレーティング・システムによって異なります。Linux 2.6オペレーティング・システムのデフォルト値は16KBです。

SEND_BUF_SIZE=11784

5.2.29 SQLNET.ALLOW_WEAK_CRYPTO

指定されている暗号化アルゴリズムおよび暗号チェックサム・アルゴリズムを確認することで、sqlnet.ora互換性パラメータSQLNET.ALLOW_WEAK_CRYPTOを使用してクライアント側のネットワーク接続を構成します。

用途

クライアントおよびサーバーで有効になっている暗号化アルゴリズムおよび暗号チェックサム・アルゴリズムを確認することで、クライアント側のネットワーク接続を構成します。これにより、接続で互換性の問題が発生せず、サポートされている強力なアルゴリズムが構成で使用されるようになります。

使用上のノート

  • DESDES403DES1123DES168RC4_40RC4_56RC4_128RC4_256およびMD5アルゴリズムは、このリリースでは非推奨です。

    この非推奨化に伴い、ネットワーク暗号化および整合性の構成を確認して、非推奨になった脆弱なアルゴリズムのいずれかを使用するように指定されているかどうかを確認することをお薦めします。

    より強力なアルゴリズムを使用するようにOracle Database環境を移行するには、My Oracle Supportノート2118136.2で説明されているパッチをダウンロードしてインストールします。

  • このパラメータをTRUEに設定すると、下位互換性のために、非推奨アルゴリズムを指定できます。この構成では、パッチ適用済のクライアントがパッチ未適用のサーバーに接続できますが、そのような接続は安全性が低くなります。

  • このパラメータをFALSEに設定した場合は、クライアントとサーバーがすべてのパッチが適用された環境で通信できるように、サポートされているアルゴリズムのみを指定できます。サーバーは、すべてのKerberosおよびJDBCシン・クライアントに対してキー・フォールドインを強制します。この構成では、強力なネイティブ・ネットワーク暗号化および整合性の機能の使用によって、クライアントとサーバーとの接続が強化されます。

    この設定を使用した場合、ネイティブのネットワーク暗号化またはチェックサムが有効になっているときに、パッチ適用済のサーバーまたはクライアントがパッチ未適用の古いクライアントまたはサーバーと通信しようとすると、接続が失敗し、エラー・メッセージが表示されます。

  • TRUE
  • FALSE

デフォルト値

TRUE

推奨値

FALSE

ノート:

このパラメータをFALSEに設定する前に、サーバーおよびクライアントのsqlnet.oraファイルにリストされているすべての非推奨アルゴリズムを削除する必要があります。

SQLNET.ALLOW_WEAK_CRYPTO = FALSE

5.2.30 SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS

指定されている暗号化アルゴリズムおよび暗号チェックサム・アルゴリズムを確認することで、sqlnet.ora互換性パラメータSQLNET.ALLOW_WEAK_CRYPTO_CLIENTSを使用してサーバー側のネットワーク接続を構成します。

用途

クライアントおよびサーバーで有効になっている暗号化アルゴリズムおよび暗号チェックサム・アルゴリズムを確認することで、サーバー側のネットワーク接続を構成します。これにより、接続で互換性の問題が発生せず、サポートされている強力なアルゴリズムが構成で使用されるようになります。

使用上のノート

  • DESDES403DES1123DES168RC4_40RC4_56RC4_128RC4_256およびMD5アルゴリズムは、このリリースでは非推奨です。

    この非推奨化に伴い、ネットワーク暗号化および整合性の構成を確認して、非推奨になった脆弱なアルゴリズムのいずれかを使用するように指定されているかどうかを確認することをお薦めします。

    より強力なアルゴリズムを使用するようにOracle Database環境を移行するには、My Oracle Supportノート2118136.2で説明されているパッチをダウンロードしてインストールします。

  • このパラメータをTRUEに設定すると、下位互換性のために、非推奨アルゴリズムを指定できます。この構成では、パッチ適用済のサーバーがパッチ未適用のクライアントに接続できますが、そのような接続は安全性が低くなります。

  • このパラメータをFALSEに設定した場合は、クライアントとサーバーがすべてのパッチが適用された環境で通信できるように、サポートされているアルゴリズムのみを指定できます。サーバーは、すべてのKerberosおよびJDBCシン・クライアントに対してキー・フォールドインを強制します。この構成では、強力なネイティブ・ネットワーク暗号化および整合性の機能の使用によって、クライアントとサーバーとの接続が強化されます。

    この設定を使用した場合、ネイティブのネットワーク暗号化またはチェックサムが有効になっているときに、パッチ適用済のサーバーまたはクライアントがパッチ未適用の古いクライアントまたはサーバーと通信しようとすると、接続が失敗し、エラー・メッセージが表示されます。

  • TRUE
  • FALSE

デフォルト値

TRUE

推奨値

FALSE

ノート:

このパラメータをFALSEに設定する前に、サーバーおよびクライアントのsqlnet.oraファイルにリストされているすべての非推奨アルゴリズムを削除する必要があります。

SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS = FALSE

5.2.31 SQLNET.ALLOWED_LOGON_VERSION_CLIENT

sqlnetのパラメータSQLNET.ALLOWED_LOGON_VERSION_CLIENTは、別のサーバーに対するクライアントとして動作するサーバーがOracle Databaseインスタンスへの接続に使用できる最低限の認証プロトコルを定義するために使用します。

用途

Oracle Databaseインスタンスへの接続時に、サーバーがクライアントの役割を果している場合(データベース・リンクでの接続など)、クライアントに許容される最低限の認証プロトコルを設定します。

使用上のノート

パラメータ名のVERSIONは、Oracle Databaseのリリースではなく、認証プロトコルのバージョンを指します。

バージョンがこのパラメータで定義された値以上でない場合、認証は「ORA-28040: 一致する認証プロトコルがありません」エラーが発生して失敗します。

  • 12a: Oracle Database 12cリリース1 (12.1.0.2)以降(最も強力な保護)

    ノート:

    この設定を使用すると、クライアントでは、最適化を解除したパスワード・バージョンを使用した認証のみが可能です。たとえば、12Cパスワード・バージョンはその例です。
  • 12: クリティカル・パッチ・アップデートCPUOct2012以降のOracle Database 11g認証プロトコル(より強力な保護)

    ノート:

    この設定を使用した場合、クライアントでは、ソルトを使用するベリファイアを使用した認証のみが可能です。たとえば、11Gまたは12Cのパスワード・バージョンはその例です。
  • 11 (Oracle Database 11gの認証プロトコル)

  • 10(Oracle Database 10gの認証プロトコル)

  • 8(Oracle8iの認証プロトコル)

デフォルト

11

  • Oracle Database 19cデータベースでOracle Database 18cデータベースへのデータベース・リンクがホストされている場合は、次のようにSQLNET.ALLOWED_LOGON_VERSION_CLIENTパラメータを設定してデータベース・リンク接続を続行します。
    SQLNET.ALLOWED_LOGON_VERSION_CLIENT=12

    この場合、Oracle Database 18cデータベース上のアカウントでそのパスワードが変更されていないことにより11Gベリファイアのみになることがあるため、そのデータベース・リンクをホストしている19cサーバーで、12aの、より安全性の高いSQLNET.ALLOWED_LOGON_VERSION_CLIENT設定を構成することはできません。

  • Oracle Database 19cデータベースで古いサーバー(Oracle Database 11gデータベースなど)へのデータベース・リンクがホストされている場合は、次のようにSQLNET.ALLOWED_LOGON_VERSION_CLIENTパラメータを設定し、11Gベリファイアを使用してデータベース・リンク接続を続行できるようにします。
    SQLNET.ALLOWED_LOGON_VERSION_CLIENT=11

5.2.32 SQLNET.ALLOWED_LOGON_VERSION_SERVER

sqlnet.oraのパラメータSQLNET.ALLOWED_LOGON_VERSION_SERVERは、Oracle Databaseのインスタンスへの接続時に許可される最小限の認証プロトコルを設定するために使用します。

用途

Oracle Databaseインスタンスへの接続時に対する最低限の認証プロトコルを設定します。

使用上のノート

  • 認証プロトコルのバージョン:

    パラメータ名のVERSIONは、Oracle Databaseのリリースではなく、認証プロトコルのバージョンを指します。

    表5-1で上位に示されている値は、互換性が低くなりますが(クライアントが認証のために理解する必要があるプロトコルの観点から)、同時に、下位に示されている値よりも安全性が高くなります。任意の特定アカウントを認証するために必要なパスワードのバージョンという点では、サーバーも制限が厳しくなります。クライアントが特定のアカウントに認証されるかどうかは、そのSQLNET.ALLOWED_LOGON_VERSION_SERVERパラメータのサーバー設定、および指定したアカウント用のパスワード・バージョンの両方によって決まります。パスワード・バージョンのリストはDBA_USERS.PASSWORD_VERSIONSにあります。

    表5-1SQLNET.ALLOWED_LOGON_VERSION_SERVERパラメータの値と一致する行に対応するクライアントに必要な機能列にある機能がクライアントにない場合は、ORA-28040「一致する認証プロトコルがありません」というエラーかORA-03134「このバージョンのサーバーへの接続は、サポートされていません。」というエラーで認証に失敗します。

    12 (デフォルト)に設定すると、11Gおよび12Cパスワード・バージョンのみが使用可能になります。12aに設定すると、12Cパスワード・バージョンのみが使用可能になります。

    値を12または12aに設定することには、次のような意味があることに注意してください。

    • パスワードの大文字/小文字を区別しない場合は、10Gパスワード・バージョンを使用する必要があるため、SEC_CASE_SENSITIVE_LOGON Oracleインスタンス初期化パラメータにFALSEの値は使用できません。SEC_CASE_SENSITIVE_LOGON Oracleインスタンス初期化パラメータがFALSEに設定されている場合、排他モードによって10Gパスワード・バージョンの使用が除外されるため、ユーザー・アカウントとセキュア・ロールが使用できなくなります。SEC_CASE_SENSITIVE_LOGON Oracleインスタンス初期化パラメータでは、パスワードの大文字/小文字の区別を有効化または無効化します。ただし、このリリースでは排他モードがデフォルトで有効になっているため、パスワードの大文字/小文字の区別の無効化はサポートされません。

      ノート:

      • SQLNET.ALLOWED_LOGON_VERSION_SERVERパラメータを12に設定して、パスワードが大文字と小文字を区別して扱われるようにするために、Oracleインスタンス初期化パラメータSEC_CASE_SENSITIVE_LOGONの使用は非推奨です。

      • パスワードの大文字/小文字の区別の無効化は、排他モードではサポートされません(SQLNET.ALLOWED_LOGON_VERSION_SERVER12または12aに設定されている場合)。

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

    • クライアントがOracle Database 10gを使用している場合、クライアントに「ORA-03134: このバージョンのサーバーへの接続は、サポートされていません。」というエラー・メッセージが表示されます。接続を認めるには、SQLNET.ALLOWED_LOGON_VERSION_SERVER値を8に設定します。アカウントのDBA_USERS.PASSWORD_VERSIONS値に10Gの値が含まれていることを確認します。そのアカウントのパスワードは、再設定が必要になる可能性があります。

    • Oracle Databaseリリース12.2で導入された12Cパスワード・バージョンを活用するには、ユーザー・パスワードに期限を設定して、ユーザーに各自のパスワードの変更を促し、パスワード変更によりそのアカウントに新しい12Cパスワード・バージョンが生成されるようにする必要があります。このリリースでは、新しいパスワードはデフォルトで大文字/小文字を区別して扱われます。アカウント・パスワードが変更されると、大/小文字が区別されない以前の10Gパスワード・バージョン、および11Gパスワード・バージョンが自動的に削除され、新しい12Cパスワード・バージョンが生成されます。

    • JDBCシン・クライアント・サポート:

      Oracle Databaseリリース12.1.0.2以降、sqlnet.oraパラメータSQLNET.ALLOWED_LOGON_VERSION_SERVER12aに設定し、新しいアカウントを作成、または既存のアカウントのパスワードを変更すると、新しい12Cパスワード・バージョンのみが生成されます。12Cパスワード・バージョンは、PBKDF2 (パスワードベースのキー導出関数2)アルゴリズムを使用して最適化を解除したSHA-2 (Secure Hash Algorithm) SHA-512のソルト付き暗号化ハッシュに基づいています。ALLOWED_LOGON_VERSION_SERVER12aに設定してデータベース・サーバーが稼働している場合は、排他モードで稼働しています。このモードでJDBCクライアントを使用してログインするには、JREバージョンがバージョン8以上である必要があります。JDBCクライアントがJREバージョン8以上で稼働中の場合は、O7L_MR機能フラグのみが有効になります。

      ノート:

      『Oracle Databaseリファレンス』DBA_USERSカタログ・ビューのPASSWORD_VERSIONS列をチェックして、指定のアカウントのパスワード・バージョンのリストを確認します。

      sqlnet.oraパラメータSQLNET.ALLOWED_LOGON_VERSION_SERVER12に設定した場合、サーバーは排他モードで稼働し、11Gおよび12Cパスワード・バージョン(それぞれSHA-1およびPBKDF2 SHA-2ベースのパスワードのハッシュ)のみが生成され、使用できるようになります。このような場合、CPUOct2012パッチが完全に適用されたJDBCクライアントは、これらのJDBCクライアントからO5L_NPクライアント機能が提供されるために接続が可能です。

      以前のJDBCクライアントには、ステルス・パスワード・クラッキングの脆弱性CVE-2012-3132に対するフィックスを含むCPUOct2012がないため、O5L_NPクライアント機能は提供されません。このため、すべてのJDBCクライアントに必ずパッチを正しく適用してください。

  • クライアント機能:

    サーバーによる認証を行うには、クライアントで認証プロトコルの特定の機能がサポートされている必要があります。指定された認証機能がクライアントでサポートされていない場合は、「ORA-28040: 一致する認証プロトコルがありません」というエラー・メッセージが表示され、サーバーへの接続が拒否されます。

    次に、すべてのクライアント機能のリストを示します。リストされているすべての機能が備わっていないクライアントもあります。新しいクライアントには古いクライアントの機能がすべて備わっていますが、古いクライアントに備わっている機能は新しいクライアントの機能より少ない傾向があります。このリストで上位に示されている機能ほど新しく、下位に示されている機能よりも安全です。

    • O8L_LI: 長い識別子(ユーザー名は最大128バイト)をサポートする機能。

    • O7L_MR: 12Cのパスワード・バージョンを使用して、Oracle Database 10gの認証プロトコルを実行する機能。JDBCクライアントの場合は、JREバージョン8以上で稼働中の場合にのみO7L_MR機能が提供されます。

    • O5L_NP: 11Gのパスワード・バージョンを使用し、クリティカル・パッチ更新CPUOct2012用に暗号化されたセッション・キーを生成して、Oracle Database 10gの認証プロトコルを実行する機能。

    • O5L: 10Gのパスワード・バージョンを使用して、Oracle Database 10gの認証プロトコルを実行する機能。

    • O4L: 10Gのパスワード・バージョンを使用して、Oracle9i Databaseの認証プロトコルを実行する機能。

    • O3L: 10Gのパスワード・バージョンを使用して、Oracle8i Databaseの認証プロトコルを実行する機能。

  • 段階的データベース・パスワード・ロールオーバー機能の使用

    アカウントに対して段階的データベース・パスワード・ロールオーバー機能が有効になっている場合は、監査レコードでLOGON_INFO句を使用すると、ユーザーが古いパスワードでログインしたかどうか、または新しいパスワードを使用してログインするようにアプリケーションがまだ更新されていないかどうかを確認できます。

    たとえば:
    (TYPE=(DATABASE));
    (CLIENT ADDRESS=((PROTOCOL=ipc)(HOST=0.0.0.0)));
    (LOGON_INFO=((VERIFIER=11G-OLD)(CLIENT_CAPABILITIES=O5L_NP,O7L_MR,O8L_LI)));
  • 許可されるパラメータ設定:

    次の表では、SQLNET.ALLOWED_LOGON_VERSION_SERVERパラメータで許可される設定、アカウントの作成時またはパスワードの変更時に生成されるパスワード・バージョンに与える影響、サーバーにこの設定がある場合にクライアントが認証するために必要な機能フラグ、および設定が排他モードとみなされるかどうかについて説明します。

    表5-1 SQLNET.ALLOWED_LOGON_VERSION_SERVERの設定

    ALLOWED_LOGON_VERSION_SERVERパラメータの値 生成されるパスワード・バージョン クライアントに必要な機能 クライアントに対する意味 サーバーを排他モードで実行しているか

    12a

    12C

    O7L_MR

    Oracle Database 12cリリース1 (12.1.0.2以上)のクライアントのみがサーバーに接続できます。

    はい。これは10Gおよび11Gパスワード・バージョンの両方の使用が除外されているためです。

    12

    11G12C

    O5L_NP

    Oracle Database 11gリリース2 (11.2.0.3以上)のクライアントがサーバーに接続できます。

    古いクライアントでO5L_NP機能を使用するには、クリティカル・パッチ・アップデートCPUOct2012以上が必要です。

    クリティカル・パッチ・アップデートCPUOct2012以上が適用されている古いクライアントのみがサーバーに接続できます。

    はい。これは 10Gパスワード・バージョンの使用が除外されているためです。

    11

    10G11G12C

    O5L

    Oracle Database 10g以上を使用しているクライアントがサーバーに接続できます。

    クリティカル・パッチ更新CPUOct2012以上のパッチが適用されていない、Oracle Databaseリリース11.2.0.3未満のリリースを使用しているクライアントは、10Gのパスワード・バージョンを使用する必要があります。

    なし

    10

    10G11G12C

    O5L

    前の行と同じ意味です。

    なし

    9

    10G11G12C

    O4L

    前の行と同じ意味です。

    なし

    8

    10G11G12C

    O3L

    前の行と同じ意味です。

    なし

  • 12a: Oracle Database 12cリリース12.1.0.2以上の認証プロトコル(最も強力な保護)

  • 12: Oracle Database 12c リリース12.1の認証プロトコル(デフォルトおよび推奨値)

  • 11(Oracle Database 11gの認証プロトコル)

  • 10(Oracle Database 10gの認証プロトコル)

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

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

ノート:

  • Oracle Database 12cリリース2 (12.2)以上では、デフォルト値は12です。

  • 以前のリリースでは、クリティカル・パッチ・アップデートCPUOct2012以上を適用した後に値12を使用できます。

デフォルト

12

SQLNET.ALLOWED_LOGON_VERSION_SERVER=12

5.2.33 SQLNET.AUTHENTICATION_SERVICES

sqlnet.oraのパラメータSQLNET.AUTHENTICATION_SERVICESは、1つ以上の認証サービスを有効化するために使用します。

用途

1つ以上の認証サービスを使用可能にします。認証をインストールした場合は、SQLNET.AUTHENTICATION_SERVICESNONEに設定するか、リストに示した認証方法のいずれかに設定することをお薦めします。

使用上のノート

このパラメータは、sqlnet.oraファイルまたはtnsnames.oraファイルで設定するか、接続文字列の一部として直接設定できます。このパラメータはtnsnames.oraAUTHENTICATION_SERVICEと呼ばれることに注意してください。接続文字列で指定したパラメータ値が優先されます。

SQLNET.AUTHENTICATION_SERVICESALL (デフォルト値)を使用すると、サーバーは次のそれぞれの方法を使用して認証を試行します。サーバーはリストの上位に示された認証方法を使用しようとして失敗した場合、それより下位にリストされた認証方法にフォールバックします。ローカル・データベース・パスワード認証(外部認証なし)を使用する場合は、クライアント・パフォーマンスを向上させるためにSQLNET.AUTHENTICATION_SERVICES=(NONE)を設定します。

  • ネットワーク層上のサービス、KerberosまたはRADIUSなどの、データベース外部のサービスに基づく認証。

  • 管理オペレーティング・システム・グループ内のオペレーティング・システム・ユーザーのメンバーシップに基づく認証。グループ名はプラットフォーム固有です。この認証は管理接続にのみ適用されます。

  • データベースによって実行される認証。

  • ディレクトリ・サーバー内に保管された資格証明に基づく認証。

オペレーティング・システム認証では、SQL*Plusを使用した接続時にAS SYSDBA句を使用するなど、管理接続の試行時に任意のユーザー名とパスワードを使用してデータベースにアクセスできます。接続例を次に示します。

sqlplus ignored_username/ignored_password AS SYSDBA

先行するコマンドを発行したオペレーティング・システム・ユーザーがすでに適切な管理オペレーティング・システム・グループのメンバーである場合、接続は成功します。これは、グループ・メンバーシップが最初に確認されることで、サーバーではユーザー名とパスワードが無視されるためです。

デフォルト

ALL

ノート:

Database Configuration Assistant (DBCA)とともにOracle Databaseをインストールすると、このパラメータはsqlnet.oraファイルでNTSに設定できます。

Oracle Net Servicesで使用可能な認証方式:

  • NONE: Microsoft Windowsオペレーティング・システム固有の認証を含め、認証方式を使用しません。SQLNET.AUTHENTICATION_SERVICESNONEに設定すると、ユーザーは有効なユーザー名とパスワードを使用することでデータベースにアクセスできます。

  • ALL: すべての認証方式を採用します。

  • BEQ: Microsoft Windows以外のオペレーティング・システムに対する固有のオペレーティング・システム認証を採用します。

  • KERBEROS5: Kerberos認証を採用します。

  • NTS: Microsoft Windowsオペレーティング・システム固有の認証を採用します。この場合、ユーザーは、Windowsネイティブ認証を使用してOS資格証明によりデータベースに対して認証する必要があります。外部パスワードは必要ありません。NTSは、OSユーザーのグループ・メンバーシップを確認します。たとえば、OSユーザーがORA_DBAグループのメンバーである場合、このユーザーはSYSDBAとしてデータベースにログインできます。

    ノート:

    SQLNET.AUTHENTICATION_SERVICES=NTS設定では、NTS認証を使用してSQL*Plusを介して接続し、外部パスワード(SQL*Plus SYSTEM/passwordなど)を指定しようとすると、接続はORA-12638: credential retrieval failedエラーで失敗します。通常のユーザー名およびパスワード・ベースの認証では、値をNONEに設定します。

  • RADIUS: リモート認証ダイアルイン・ユーザー・サービス(RADIUS)認証を採用します。

  • TCPS: TLS認証を採用します。

SQLNET.AUTHENTICATION_SERVICES=(KERBEROS5)

5.2.34 SQLNET.CLIENT_REGISTRATION

用途

クライアント・コンピュータに一意の識別子を設定します。

使用上のノート

この識別子は、接続リクエストとともにリスナーに渡され、監査証跡に組み込まれます。識別子は、128文字までの長さの英数文字列にできます。

デフォルト

なし

SQLNET.CLIENT_REGISTRATION=1432

5.2.35 SQLNET.CLOUD_USER

用途

WebサーバーのHTTP基本認証のためのユーザー名を指定します。

使用上のノート

セキュアなwebsocketプロトコルを使用する場合は、クライアントで、このユーザーが認証用のユーザー名として使用されます。このユーザーのパスワードは、mkstoreコマンドを使用してウォレットに格納する必要があります。

セキュアなwebsocketでHTTP基本認証を使用する構成ステップ:

  1. orapkiユーティリティを使用してウォレットを作成します。

    orapki wallet create -wallet wallet_directory

    orapki wallet create -wallet /app/wallet
  2. Webサーバーのパブリック証明書を追加します。

    orapki wallet -wallet  wallet_directory  -trusted_cert -cert  web_server_public_certificate_in_pem_format

    orapki wallet -wallet  /app/wallet  -trusted_cert -cert  server_cert.txt
  3. Webサーバーのユーザー名をsqlnet.oraに追加します。このユーザー名は、Webサーバーの認証にのみ使用されます。これはデータベース・ユーザー名ではありません。Webサーバー認証の後、Webサーバーがバックエンド・データベース・サーバーに接続し、通常のデータベース認証が行われます。

    sqlnet.cloud_user = dbuser1
  4. Webサーバーのユーザー・パスワードをウォレットに追加します。

    mkstore -wrl wallet_location  -createEntry username password

    mkstore -wrl  /app/wallet  -createEntry  dbuser1  Secretdb#
  5. ウォレット自動ログインを実行し、オペレーティング・システムのファイル権限または他の手段を使用してこのウォレット・ディレクトリを保護します。これにより、データベース・クライアントのみがそれに対して読取りアクセスを行えるようにします。ファイル権限の変更の詳細は、オペレーティング・システム・ユーティリティを参照してください。

    orapki wallet create -wallet wallet_directory -auto_login

    orapki wallet create -wallet /app/wallet -auto_login
  6. sqlnet.oraをウォレット・エントリで更新します。

    wallet_location=(SOURCE=  (METHOD=file)  (METHOD_DATA=    (DIRECTORY=/app/wallet)))

デフォルト

なし

5.2.36 SQLNET.COMPRESSION

用途

データ圧縮を有効または無効にします。サーバー、クライアントの両方ともこのパラメータをONに設定している場合、接続に圧縮が使用されます。

ノート:

SQLNET.COMPRESSIONパラメータは、Oracle Data GuardストリーミングREDOとSecureFilesラージ・オブジェクト(LOB)を除く、すべてのデータベース接続に適用されます。

デフォルト

off

  • on: データ圧縮を有効にします。

  • off: データ圧縮を無効にします。

SQLNET.COMPRESSION=on

5.2.37 SQLNET.COMPRESSION_ACCELERATION

用途

プラットフォームで使用可能な場合に、このパラメータを使用して、ハードウェア・アクセラレータを使用した圧縮の使用を指定します。

使用上のノート

このパラメータはOracle Connection Managerの別名の説明に指定できます。

デフォルト

on

  • on

  • off

  • 0

  • 1

例5-4 例

compression_acceleration = on

5.2.38 SQLNET.COMPRESSION_LEVELS

用途

圧縮レベルを指定します。

使用上のノート

圧縮レベルは、両端でどのレベルを使用するかを確認し、1つのレベルを選択するためのネゴシエーション時に使用されます。

データベース常駐接続プーリング(DRCP)の場合、圧縮レベルlowのみがサポートされます。

デフォルト

low

  • low: 低CPU使用率と低圧縮率を使用します。

  • high: 高CPU使用率および高圧縮率を使用します。

SQLNET.COMPRESSION_LEVELS=(high)

5.2.39 SQLNET.COMPRESSION_THRESHOLD

用途

圧縮が必要なデータの最小サイズをバイト数で指定します。

使用上のノート

送信されるデータのサイズがこの値より小さい場合、圧縮は行われません。

デフォルト

1024バイト

SQLNET.COMPRESSION_THRESHOLD=1024

5.2.40 SQLNET.CRYPTO_CHECKSUM_CLIENT

sqlnet.oraのパラメータSQLNET.CRYPTO_CHECKSUM_CLIENTを使用して、このクライアント、またはクライアントとして機能しているサーバーがサーバーに接続する際の必要なデータ整合性動作を指定します。

用途

クライアントのチェックサム動作を指定します。動作は、接続の相手側のSQLNET.CRYPTO_CHECKSUM_SERVERの設定に部分的に依存します。

デフォルト

accepted

  • accepted: 相手側にセキュリティ・サービスが必要な場合または相手側からリクエストされた場合は、セキュリティ・サービスを使用可能にします。

  • rejected: 相手側からセキュリティ・サービスを要求されても、セキュリティ・サービスを使用禁止にします。

  • requested: 相手側がセキュリティ・サービスを許可している場合は、セキュリティ・サービスを使用可能にします。

  • required: 相手側がセキュリティ・サービスに対応できない場合は、セキュリティ・サービスを使用可能にし、接続を禁止します。

SQLNET.CRYPTO_CHECKSUM_CLIENT=accepted

5.2.41 SQLNET.CRYPTO_CHECKSUM_SERVER

sqlnet.oraのパラメータSQLNET.CRYPTO_CHECKSUM_SERVERを使用して、クライアント、またはクライアントとして機能している別のサーバーがこのサーバーに接続する際のデータ整合性動作を指定します。

用途

データベースのチェックサム動作を指定します。動作は、接続の相手側のSQLNET.CRYPTO_CHECKSUM_CLIENTの設定に部分的に依存します。

デフォルト

accepted

  • accepted: 相手側にセキュリティ・サービスが必要な場合または相手側からリクエストされた場合は、セキュリティ・サービスを使用可能にします。

  • rejected: 相手側からセキュリティ・サービスを要求されても、セキュリティ・サービスを使用禁止にします。

  • requested: 相手側がセキュリティ・サービスを許可している場合は、セキュリティ・サービスを使用可能にします。

  • required: 相手側がセキュリティ・サービスに対応できない場合は、セキュリティ・サービスを使用可能にし、接続を禁止します。

SQLNET.CRYPTO_CHECKSUM_SERVER=accepted

5.2.42 SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT

sqlnet.oraのパラメータSQLNET.CRYPTO_CHECKSUM_TYPES_CLIENTを使用して、このクライアント、またはクライアントとして機能しているサーバーで使用するデータ整合性アルゴリズムのリストを指定します。

用途

クライアントが使用する暗号チェックサム・アルゴリズムのリストを指定します。

このリストは、相互に使用可能なアルゴリズムを接続の相手側とネゴシエートする際に使用されます。インストールされていないアルゴリズムをこの側で指定した場合、接続はORA-12650: 共通の暗号化またはデータ整合性アルゴリズムがありません。のエラー・メッセージで終了します。

デフォルト

使用可能なすべてのアルゴリズム

  • MD5: RSA Data SecurityのMD5アルゴリズム。

    MD5アルゴリズムは、このリリースでは非推奨です。より強力なアルゴリズムを使用するようにOracle Database環境を移行するには、My Oracle Supportノート2118136.2で説明されているパッチをダウンロードしてインストールします。

  • SHA1: Secure Hashアルゴリズム。

  • SHA256: ハッシュ・アルゴリズムで256ビットを使用するSHA-2。

  • SHA384: ハッシュ・アルゴリズムで384ビットを使用するSHA-2。

  • SHA512: ハッシュ・アルゴリズムで512ビットを使用するSHA-2。

SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT=(SHA256, MD5)

5.2.43 SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER

sqlnet.oraのパラメータSQLNET.CRYPTO_CHECKSUM_TYPES_SERVERを使用して、このサーバー、または別のサーバーのクライアントで使用するデータ整合性アルゴリズムを使用順で指定します。

用途

データベースが使用する暗号チェックサム・アルゴリズムのリストを指定します。

このリストは、相互に使用可能なアルゴリズムを接続の相手側とネゴシエートする際に使用されます。各アルゴリズムは、一致するものが見つかるまで、使用可能なクライアント・アルゴリズムのタイプのリストに対してチェックされます。インストールされていないアルゴリズムをこちら側で指定した場合、接続は、「ORA-12650: 共通の暗号化またはデータ整合性アルゴリズムがありません」というエラー・メッセージが表示されて終了します。

デフォルト

使用可能なすべてのアルゴリズム

  • MD5: RSA Data SecurityのMD5アルゴリズム。

    MD5アルゴリズムは、このリリースでは非推奨です。より強力なアルゴリズムを使用するようにOracle Database環境を移行するには、My Oracle Supportノート2118136.2で説明されているパッチをダウンロードしてインストールします。

  • SHA1: Secure Hashアルゴリズム。

  • SHA256: ハッシュ・アルゴリズムで256ビットを使用するSHA-2。

  • SHA384: ハッシュ・アルゴリズムで384ビットを使用するSHA-2。

  • SHA512: ハッシュ・アルゴリズムで512ビットを使用するSHA-2。

SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER=(SHA256, MD5)

5.2.44 SQLNET.DBFW_PUBLIC_KEY

用途

Oracle Database Firewall公開キーが格納されているファイルを指定することにより、アドバンスト・セキュリティ・オプション(ASO)にOracle Database Firewall公開キーを提供します。

デフォルト

なし

公開キーを持つオペレーティング・システム・ファイルのフルパス名。

SQLNET.DBFW_PUBLIC_KEY="/path_to_file/dbfw_public_key_file.txt"

5.2.45 SQLNET.DOWN_HOSTS_TIMEOUT

用途

サーバー・ホストのdown状態に関する情報がクライアント・プロセス・キャッシュ内に保持される時間を秒単位で指定します。

使用上のノート

クライアントは接続の試行時にサーバー・ホストのdown状態を検出します。接続の試行が失敗すると、サーバー・ホストのdown状態に関する情報がクライアント・プロセス・キャッシュに追加されます。同じクライアント・プロセスによって次に接続が試行されると、downホストはアドレス・リストの最後に移動されるため、そのホストの優先度が下がります。SQLNET.DOWN_HOSTS_TIMEOUTパラメータで指定された時間が過ぎると、ホストがプロセス・キャッシュからパージされ、そのアドレス・リスト内の優先度が復元されます。

デフォルト

600秒(10分)

任意の正の整数

SQLNET.DOWN_HOSTS_TIMEOUT=60

5.2.46 SQLNET.ENCRYPTION_CLIENT

sqlnet.oraのパラメータSQLNET.ENCRYPTION_CLIENTを使用して、このクライアント、またはクライアントとして機能しているサーバーがサーバーに接続する際の暗号化動作を指定します。

用途

クライアントの暗号化をオンにします。tnsnames.oraパラメータIGNORE_ANO_ENCRYPTION_FOR_TCPSTRUEに設定すると、SQLNET.ENCRYPTION_CLIENTは無効になります。

クライアントの動作は、接続の相手側のSQLNET.ENCRYPTION_SERVERの設定値に部分的に依存します。

デフォルト

accepted

  • accepted: 相手側にセキュリティ・サービスが必要な場合または相手側からリクエストされた場合は、セキュリティ・サービスを使用可能にします。

  • rejected: 相手側からセキュリティ・サービスを要求されても、セキュリティ・サービスを使用禁止にします。

  • requested: 相手側がセキュリティ・サービスを許可している場合は、セキュリティ・サービスを使用可能にします。

  • required: 相手側がセキュリティ・サービスに対応できない場合は、セキュリティ・サービスを使用可能にし、接続を禁止します。

SQLNET.ENCRYPTION_CLIENT=accepted

5.2.47 SQLNET.ENCRYPTION_SERVER

sqlnet.oraのパラメータSQLNET.ENCRYPTION_SERVERでは、クライアント、またはクライアントとして機能しているサーバーがこのサーバーに接続する際の暗号化動作を指定します。

用途

データベース・サーバーの暗号化をオンにします。SQLNET.IGNORE_ANO_ENCRYPTION_FOR_TCPSFALSEに設定すると、SQLNET.ENCRYPTION_SERVERが無効になります。

サーバーの動作は、接続の相手側のSQLNET.ENCRYPTION_CLIENTの設定に部分的に依存します。

デフォルト

accepted

  • accepted: 相手側にセキュリティ・サービスが必要な場合または相手側からリクエストされた場合は、セキュリティ・サービスを使用可能にします。

  • rejected: 相手側からセキュリティ・サービスを要求されても、セキュリティ・サービスを使用禁止にします。

  • requested: 相手側がセキュリティ・サービスを許可している場合は、セキュリティ・サービスを使用可能にします。

  • required: 相手側がセキュリティ・サービスに対応できない場合は、セキュリティ・サービスを使用可能にし、接続を禁止します。

SQLNET.ENCRYPTION_SERVER=accepted

5.2.48 SQLNET.ENCRYPTION_TYPES_CLIENT

sqlnet.oraのパラメータSQLNET.ENCRYPTION_TYPES_CLIENTは、クライアントが使用する暗号化アルゴリズムをリストするために使用します。

用途

クライアントが使用する暗号化アルゴリズムのリストを指定します。

デフォルト

使用可能なすべてのアルゴリズム。

次の1つ以上を指定します。

  • 3des112: 2キー(112ビット)オプション付きTriple-DES

  • 3des168: 3キー(168ビット)オプション付きTriple-DES

  • aes128: AES (128ビット・キー・サイズ)

  • aes192: AES (192ビット・キー・サイズ)

  • aes256: AES (256ビット・キー・サイズ)

  • des: 標準DES (56ビット・キー・サイズ)

  • des40: DES (40ビット・キー・サイズ)

  • rc4_40: RSA RC4 (40ビット・キー・サイズ)

  • rc4_56: RSA RC4 (56ビット・キー・サイズ)

  • rc4_128: RSA RC4 (128ビット・キー・サイズ)

  • rc4_256: RSA RC4 (256ビット・キー・サイズ)

    DESDES403DES1123DES168RC4_40RC4_56RC4_128およびRC4_256アルゴリズムは、このリリースでは非推奨です。

    より強力なアルゴリズムを使用するようにOracle Database環境を移行するには、My Oracle Supportノート2118136.2で説明されているパッチをダウンロードしてインストールします。

SQLNET.ENCRYPTION_TYPES_CLIENT=(rc4_56)

5.2.49 SQLNET.ENCRYPTION_TYPES_SERVER

sqlnet.oraのパラメータSQLNET.ENCRYPTION_TYPES_SERVERは、データベースが使用する暗号化アルゴリズムをリストするために使用します

用途

データベースが使用する暗号化アルゴリズムのリストを指定します。

デフォルト

使用可能なすべてのアルゴリズム。

次の1つ以上を指定します。

  • 3des112: 2キー(112ビット)オプション付きTriple-DES

  • 3des168: 3キー(168ビット)オプション付きTriple-DES

  • aes128: AES (128ビット・キー・サイズ)

  • aes192: AES (192ビット・キー・サイズ)

  • aes256: AES (256ビット・キー・サイズ)

  • des: 標準DES (56ビット・キー・サイズ)

  • des40: DES40 (40ビット・キー・サイズ)

  • rc4_40: RSA RC4 (40ビット・キー・サイズ)

  • rc4_56: RSA RC4 (56ビット・キー・サイズ)

  • rc4_128: RSA RC4 (128ビット・キー・サイズ)

  • rc4_256: RSA RC4 (256ビット・キー・サイズ)

    DESDES403DES1123DES168RC4_40RC4_56RC4_128およびRC4_256アルゴリズムは、このリリースでは非推奨です。

    より強力なアルゴリズムを使用するようにOracle Database環境を移行するには、My Oracle Supportノート2118136.2で説明されているパッチをダウンロードしてインストールします。

SQLNET.ENCRYPTION_TYPES_SERVER=(rc4_56, des, ...)

5.2.50 SQLNET.EXPIRE_TIME

sqlnet.oraのパラメータSQLNET.EXPIRE_TIMEは、クライアントとサーバーの接続がアクティブになっていることを確認する頻度(分単位)を指定するために使用します。

用途

クライアントとサーバーの接続がアクティブになっていることを確認する頻度(分単位の時間間隔)を指定します。

使用上のノート

0より大きい値を設定すると、クライアントの異常終了によって接続がいつまでも開かれたままにならないようにできます。システムでTCPのキープアライブ設定のチューニングがサポートされている場合、Oracle Net Servicesでは自動的に強化された検出モデルを使用して、TCPのキープアライブ設定のパラメータをチューニングします。

終了済接続や使用されなくなった接続を検出したプローブは、エラーを返し、それによってサーバー・プロセスが終了します。

このパラメータは、主にデータベース・サーバー向けです。データベース・サーバーでは、通常、同時に複数の接続を処理します。

終了した接続を検出するこの機能の制限は、次のとおりです。

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

  • プローブ・パケットはわずかながら通信量が増加するため、ネットワーク・パフォーマンスが低下する可能性があります。

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

デフォルト

0

最小値

0

推奨値

10

SQLNET.EXPIRE_TIME=10

5.2.51 SQLNET.IGNORE_ANO_ENCRYPTION_FOR_TCPS

SQLNET.IGNORE_ANO_ENCRYPTION_FOR_TCPSパラメータは、TCPS接続用にSQLNET.ENCRYPTION_SERVERに設定されている値を無視するためにサーバー側で使用されます(TCPSリスナーでのANO暗号化は事実上無効になる)。

用途

TCPS接続用にSQLNET.ENCRYPTION_SERVERに設定されている値を無視するためにサーバー側で使用されます(TCPSリスナーでのANO暗号化は事実上無効になる)。

使用上のノート

クライアントでSQLNET.ENCRYPTION_CLIENTパラメータをrequiredに設定しサーバーでSQLNET.ENCRYPTION_SERVERrequiredに設定したときに、TCPSリスナーが使用されている場合は、ORA-12696「暗号化オプションの両方がオンになっています。ログインできません。」エラーが表示されます。このリリース以降では、新しいパラメータSQLNET.IGNORE_ANO_ENCRYPTION_FOR_TCPSTRUEに設定することで、TCPSクライアントを使用しているがパラメータSQLNET.ENCRYPTION_CLIENTまたはSQLNET.ENCRYPTION_SERVERrequiredに設定されているという矛盾が発生したときにそれら2つのパラメータを無視できます。

デフォルト

FALSE

例5-5 例

SQLNET.IGNORE_ANO_ENCRYPTION_FOR_TCPS=TRUE

5.2.52 SQLNET.INBOUND_CONNECT_TIMEOUT

用途

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

使用上のノート

クライアントが指定した時間内での接続の確立と認証の完了に失敗した場合、データベース・サーバーは接続を終了します。また、データベース・サーバーがクライアントのIPアドレスおよびエラー・メッセージ「ORA-12170: TNS: 接続タイムアウトが発生しました。」sqlnet.logファイルにロギングします。クライアントは、「ORA-12547: TNS: 接続を失いました。」または「ORA-12637: パケット受信に失敗しました。」エラー・メッセージのいずれかを受信します。

標準的な使用方法の場合、このパラメータはデフォルト値が適切です。ただし、明示的に異なる値を設定する必要がある場合は、このパラメータをlistener.oraファイル内のINBOUND_CONNECT_TIMEOUT_listener_nameパラメータと組み合せて設定することをお薦めします。これらのパラメータに値を指定する場合、次の推奨事項に注意してください。

  • 両方のパラメータの初期値を低く設定してください。

  • INBOUND_CONNECT_TIMEOUT_listener_nameパラメータの値を、SQLNET.INBOUND_CONNECT_TIMEOUTパラメータよりも低い値に設定してください。

値とユニットの間のスペースあり、なしにかかわらず、様々なタイムアウトを受け入れます。単位が指定されない場合、デフォルトの単位はsecです。たとえば、INBOUND_CONNECT_TIMEOUT_listener_nameパラメータを2秒に設定し、SQLNET.INBOUND_CONNECT_TIMEOUTパラメータを3秒に設定します。特定の環境におけるシステムあるいはネットワークの通常の遅延により、クライアントが指定の時間内に接続を完了できない場合は、必要なだけ時間を増やします。

デフォルト

60秒

SQLNET.INBOUND_CONNECT_TIMEOUT=3ms

5.2.53 SQLNET.FALLBACK_AUTHENTICATION

用途

Kerberos認証が失敗した場合に、パスワード・ベースの認証を試みるかどうか指定します。これは、直接リンクの接続およびデータベース・リンク接続にあてはまります。

デフォルト

FALSE

SQLNET.FALLBACK_AUTHENTICATION=TRUE

5.2.54 SQLNET.KERBEROS5_CC_NAME

sqlnet.oraのパラメータSQLNET.KERBEROS5_CC_NAMEは、Kerberos資格証明キャッシュ・ファイルへの完全パス名を指定するために使用します。

用途

Kerberos CCファイルへの完全パス名を指定します。

使用上のノート

このパラメータは、sqlnet.oraファイルの他に、接続文字列またはtnsnames.oraファイルでも設定できます。なお、このパラメータは、tnsnames.oraファイルまたは接続文字列ではKERBEROS5_CC_NAMEと呼ばれています。接続文字列の値が優先されます。

値および例

SQLNET.KERBEROS5_CC_NAMEの値は、次の形式を使用して指定できます。
  • Oracleデータベースでディレクトリ・キャッシュが使用されている場合:
    • SQLNET.KERBEROS5_CC_NAME=complete_path_to_cc_file

      たとえば:

      SQLNET.KERBEROS5_CC_NAME=/tmp/kcache

      SQLNET.KERBEROS5_CC_NAME=D:\tmp\kcache

    • SQLNET.KERBEROS5_CC_NAME=FILE:complete_path_to_cc_ file

      たとえば:

      SQLNET.KERBEROS5_CC_NAME=FILE:/tmp/kcache

  • OracleデータベースでネイティブWindowsキャッシュが使用されている場合:
    • SQLNET.KERBEROS5_CC_NAME=OSMSFT://

    • SQLNET.KERBEROS5_CC_NAME=MSLSA:

    OSMSFTオプションとMSLSAオプションは、ファイルがMicrosoft Windows上にありMicrosoft Kerberos Key Distribution Center (KDC)を実行していることを示しています。

ノート:

複数のKerberosプリンシパルを認証する場合は、追加のKerberosプリンシパルを接続文字列を介して直接指定するか、tnsnames.oraファイルで指定できます。

デフォルト

デフォルト値は、次のように、オペレーティング・システムによって異なります。
  • LinuxおよびUNIXオペレーティング・システムの場合: /tmp/krb5cc_userid

  • Microsoft Windowsオペレーティング・システムの場合: c:\tmp\krbcache

5.2.55 SQLNET.KERBEROS5_CLOCKSKEW

用途

Kerberos資格証明を期限切れとみなすまでの秒数を指定します。

デフォルト

300

SQLNET.KERBEROS5_CLOCKSKEW=1200

5.2.56 SQLNET.KERBEROS5_CONF

用途

Kerberos構成ファイルへの完全パス名を指定します。このファイルには、デフォルトのKey Distribution Center (KDC)のレルムが含まれており、レルムをKDCホストにマッピングします。

使用上のノート

KDCではユーザー・プリンシパルのリストが保持され、ユーザーの初期チケットについてはkinitプログラムを介して接続されます。

AUTO_DISCOVERオプションにより、KDCおよびレルムの自動検出が可能になります。これはKerberosクライアントのデフォルト構成です。指定するレルムが複数ある場合、AUTO_DISCOVERオプションを使用するかわりに、構成ファイルを作成することをお薦めします。このオプションは、そのような機能を持つすべてのオペレーティング・システム用にサポートされています。

デフォルト

LinuxおよびUNIXオペレーティング・システムでは、/krb5/krb.conf

Microsoft Windowsオペレーティング・システムでは、c:\krb5\krb.conf

  • krb.confファイルへのディレクトリ・パス

  • AUTO_DISCOVER

SQLNET.KERBEROS5_CONF=/krb5/krb.conf

5.2.57 SQLNET.KERBEROS5_CONF_LOCATION

用途

Kerberos構成ファイルのディレクトリを指定します。このパラメータで、ファイルが、クライアントではなく、システムによって作成されることも指定します。

使用上のノート

構成ファイルでは、DNS参照を使用して、デフォルトのKDCのレルムを取得し、レルムをKDCのホストにマップします。このオプションは、そのような機能を持つすべてのオペレーティング・システム用にサポートされています。

デフォルト

LinuxおよびUNIXオペレーティング・システムでは、/krb5

Microsoft Windowsオペレーティング・システムでは、c:\krb5

SQLNET.KERBEROS5_CONF_LOCATION=/krb5

5.2.58 SQLNET.KERBEROS5_KEYTAB

用途

Kerberosプリンシパル/シークレット・キー・マッピング・ファイルへの完全パス名を指定します。このファイルは、キーを抽出して着信認証情報を復号化するために使用されます。

デフォルト

LinuxおよびUNIXオペレーティング・システムでは、/etc/v5srvtab

Microsoft Windowsオペレーティング・システムでは、c:\krb5\v5srvtab

SQLNET.KERBEROS5_KEYTAB=/etc/v5srvtab

5.2.59 SQLNET.KERBEROS5_REALMS

用途

Kerberosレルム変換ファイルへの完全パス名を指定します。このファイルは、ホスト名またはドメイン名からレルムへのマッピングを提供します。

デフォルト

LinuxおよびUNIXオペレーティング・システムでは、/krb5/krb.realms

Microsoft Windowsオペレーティング・システムでは、c:\krb5\krb.realms

SQLNET.KERBEROS5_REALMS=/krb5/krb.realms

5.2.60 SQLNET.KERBEROS5_REPLAY_CACHE

用途

リプレイ・キャッシュが、サーバーのオペレーティング・システム管理対象メモリーに格納され、ファイルベースのリプレイ・キャッシュが使用されないことを指定します。

使用上のノート

OS_MEMORYオプションは、リプレイ・キャッシュがサーバーのオペレーティング・システム管理対象メモリーに格納され、ファイルベースのリプレイ・キャッシュが使用されないことを指定します。

SQLNET_KERBEROS5_REPLAY_CACHE=OS_MEMORY

5.2.61 SQLNET.OUTBOUND_CONNECT_TIMEOUT

sqlnet.oraのパラメータSQLNET.OUTBOUND_CONNECT_TIMEOUTは、クライアントがデータベース・インスタンスへのOracle Net接続を確立するまでに許容される時間をミリ秒単位、秒単位、または分単位で指定するために使用します。

用途

クライアントがデータベース・インスタンスへのOracle Net接続を確立する時間をmssecまたはminで指定します。

使用上のノート

Oracle Net接続が指定した時間内で確立しなかった場合、接続の試行は終了します。クライアントは「ORA-12170: TNS: 接続タイムアウトが発生しました。」エラーを受信します。

発信接続のタイムアウト間隔は、TCP接続の確立に要する時間の制限を指定する、TCP接続のタイムアウト間隔のスーパーセットです。また、発信接続のタイムアウト間隔には、リクエストされたサービスを提供するOracleインスタンスへの接続に要する時間も含まれます。値とユニットの間のスペースあり、なしにかかわらず、様々なタイムアウトを受け入れます。

このパラメータが指定されていない場合、データベース・サーバーへのクライアント接続リクエストは、データベース・サーバーのホスト・システムが到達不能のとき、デフォルトのTCP接続タイムアウト期間(60 seconds)ブロックする可能性があります。単位が指定されない場合、デフォルトの単位はsecです。

発信接続タイムアウト間隔は、TCP、TLS付きTCPおよびIPCトランスポート接続にのみ適用できます。

このパラメータは、アドレス記述内のCONNECT_TIMEOUTパラメータによって上書きされます。

デフォルト

なし

SQLNET.OUTBOUND_CONNECT_TIMEOUT=10 ms

関連項目

5.2.62 SQLNET.RADIUS_ALTERNATE

用途

プライマリ・サーバーが使用できない場合の代替RADIUSサーバーを指定します。

使用上のノート

値は、IPアドレスまたはサーバーのホスト名のいずれかです。

デフォルト

なし

SQLNET.RADIUS_ALTERNATE=radius2

5.2.63 SQLNET.RADIUS_ALTERNATE_PORT

用途

代替RADIUSサーバーのリスニング・ポートを指定します。

デフォルト

1645

SQLNET.RADIUS_ALTERNATE_PORT=1667

5.2.64 SQLNET.RADIUS_ALTERNATE_RETRIES

用途

データベース・サーバーがメッセージを代替RADIUSサーバーに再送する回数を指定します。

デフォルト

3

SQLNET.RADIUS_ALTERNATE_RETRIES=4

5.2.65 SQLNET.RADIUS_ALTERNATE_TIMEOUT

sqlnet.oraのパラメータSQLNET.RADIUS_ALTERNATE_TIMEOUTは、代替RADIUSサーバーで応答を待機する時間を設定するために使用します。

用途

代替RADIUSサーバーが応答を待機する時間を秒単位で設定します。

構文

SQLNET.RADIUS_ALTERNATE_TIMEOUT=time_in_seconds

デフォルト

5

SQLNET.RADIUS_ALTERNATE_TIMEOUT=5

5.2.66 SQLNET.RADIUS_AUTHENTICATION

用途

プライマリRADIUSサーバーの位置をそのサーバーのホスト名またはIPアドレスで指定します。

デフォルト

ローカル・ホスト

SQLNET.RADIUS_AUTHENETICATION=officeacct

5.2.67 SQLNET.RADIUS_AUTHENTICATION_INTERFACE

用途

ユーザーとの対話に使用するユーザー・インタフェースが含まれているクラスを指定します。

デフォルト

DefaultRadiusInterface

SQLNET.RADIUS_AUTHENTICATION_INTERFACE=DefaultRadiusInterface

5.2.68 SQLNET.RADIUS_AUTHENTICATION_PORT

用途

プライマリRADIUSサーバーのリスニング・ポートを指定します。

デフォルト

1645

SQLNET.RADIUS_AUTHENTICATION_PORT=1667

5.2.69 SQLNET.RADIUS_AUTHENTICATION_RETRIES

用途

データベース・サーバーがメッセージをプライマリRADIUSサーバーに再送する回数を指定します。

デフォルト

3

SQLNET.RADIUS_AUTHENTICATION_RETRIES=4

5.2.70 SQLNET.RADIUS_AUTHENTICATION_TIMEOUT

用途

データベース・サーバーがプライマリRADIUSサーバーからの応答を待機する秒数を指定します。

デフォルト

5

SQLNET.RADIUS_AUTHENTICATION_TIMEOUT=10

5.2.71 SQLNET.RADIUS_CHALLENGE_KEYWORD

sqlnet.oraのパラメータSQLNET.RADIUS_CHALLENGE_KEYWORDは、RADIUSサーバーからのチャレンジをリクエストするためのキーワードを指定するために使用します。

用途

RADIUSサーバーからチャレンジをリクエストするキーワードを設定します。チャレンジ・キーワードを設定することで、ユーザーはクライアントでパスワードを使用しなくても識別情報を証明できます。

構文

SQLNET.RADIUS_CHALLENGE_KEYWORD=keyword

デフォルト

challenge

SQLNET.RADIUS_CHALLENGE_KEYWORD=challenge

5.2.72 SQLNET.RADIUS_CHALLENGE_RESPONSE

sqlnet.oraのパラメータSQLNET.RADIUS_CHALLENGE_RESPONSEは、チャレンジ・レスポンスを有効または無効にするために使用します。

用途

チャレンジ・レスポンスをオンまたはオフに切り替えます。

デフォルト

off

on | off

SQLNET.RADIUS_CHALLENGE_RESPONSE=on

5.2.73 SQLNET.RADIUS_CLASSPATH

sqlnet.oraのパラメータSQLNET.RADIUS_CLASSPATHは、JavaクラスおよびJDK Javaライブラリのパスを設定するために使用します。

用途

グラフィカル・インタフェースのJavaクラスのパスを設定し、JDK Javaライブラリへのパスを設定します。

チャレンジ・レスポンス認証モードを使用する場合、RADIUSにはJavaベースのグラフィカル・インタフェースが表示されます。このインタフェースは、最初にパスワードを要求し、次に追加情報(ユーザーがトークン・カードから取得する動的パスワードなど)を要求します。

構文

SQLNET.RADIUS_CLASSPATH=path_to_GUI_Java_classes

デフォルト

$ORACLE_HOME/jlib/netradius.jar:$ORACLE_HOME/JRE/lib/sparc/native_threads

SQLNET.RADIUS_CLASSPATH=/jre1.1

5.2.74 SQLNET.RADIUS_SECRET

用途:

RADIUSシークレット・キーの位置を指定します。

デフォルト

ORACLE_HOME/network/security/radius.keyファイル。

SQLNET.RADIUS_SECRET=oracle/bin/admin/radiuskey

5.2.75 SQLNET.RADIUS_SEND_ACCOUNTING

用途

アカウント機能をonまたはoffに切り替えます。使用可能に設定された場合、パケットは、1を加えたリスニング・ポートでアクティブなRADIUSサーバーに送信されます。

使用上のノート

デフォルト・ポートは1646です。

デフォルト

off

on | off

SQLNET.RADIUS_SEND_ACCOUNTING=on

5.2.76 SQLNET.RECV_TIMEOUT

sqlnet.oraのパラメータSQLNET.RECV_TIMEOUTは、データベース・クライアントまたはサーバーが接続の確立後にピアからのデータを待機する時間を指定するために使用します。

用途

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

時間、分、秒またはミリ秒単位で指定するには、それぞれhrminsecまたはmsキーワードを使用します。測定単位を指定してない場合、デフォルトの単位はsecになります。

使用上のノート

このパラメータをクライアントに設定すると、サーバー・プロセスの異常終了やサーバーのビジー状態が原因で、受信操作が無期限または長時間待機したまま放置されることがなくなります。指定した時間内にクライアントが応答データを受信しない場合、「ORA-12535:ORA-12535: TNS: 操作はタイムアウトしました。」および「ORA-12609: TNS: 受信タイムアウトが発生しました」というメッセージがsqlnet.logファイルにロギングされます。値を設定する場合、最初は低い値を設定し、システムとネットワークの容量に応じて調整するようにしてください。必要に応じて、SQLNET.SEND_TIMEOUTパラメータとともに使用します。

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

デフォルト値

None

最小値

1 ms

推奨値

最小値1 msから4294967295 msまでの任意の数値。

SQLNET.RECV_TIMEOUT=10 ms

5.2.77 SQLNET.SEND_TIMEOUT

sqlnet.oraのパラメータSQLNET.SEND_TIMEOUTは、接続の確立後にデータベース・サーバーがクライアントへの送信操作を完了するまでの時間を指定するために使用します。

用途

接続が確立した後でデータベース・サーバーがクライアントに対する送信操作を完了するまでの時間を指定します。

時間、分、秒またはミリ秒単位で指定するには、それぞれhrminsecまたはmsキーワードを使用します。測定単位を指定してない場合、デフォルトの単位はsecになります。

使用上のノート

クライアントが時々停止したり、異常終了する環境では、このパラメータを設定することをお薦めします。

指定した時間内に送信操作を完了できない場合、データベース・サーバーでは、「ORA-12535TNS: 操作はタイムアウトしました。」および「ORA-12608: TNS: 送信タイムアウトが発生しました」というメッセージがsqlnet.logファイルにロギングされます。このパラメータを指定しない場合、データベース・サーバーはコンピュータの停止またはビジー状態が原因でデータを受信できないクライアントに対し、応答を送信し続けることがあります。

また、このパラメータをクライアント側に設定すると、接続が確立した後にクライアントがデータベース・サーバーに対する送信操作を完了するまでの時間をmssecまたはminで指定できます。値とユニットの間のスペースあり、なしにかかわらず、様々なタイムアウトを受け入れます。このパラメータをクライアントに指定しない場合、クライアントは、リクエストですでに飽和状態になっているデータベース・サーバーにリクエストを送り続ける可能性があります。値を設定する場合、最初は低い値を設定し、システムやネットワーク容量に応じて調整するようにしてください。

必要に応じて、SQLNET.RECV_TIMEOUT パラメータとともに使用します。

デフォルト値

None

最小値

1 ms

推奨値

最小値1 msから4294967295 msまでの任意の数値。

SQLNET.SEND_TIMEOUT=3 ms

5.2.78 SQLNET.URI

sqlnet.oraファイルのSQLNET.URIネットワーク・パラメータは、Webサーバー上のデータベース・クライアントURIマッピングを指定します。

用途

Webサーバーでデータベース・クライアントURIマッピングを指定します。

使用上のノート

このパラメータを使用すると、Webサーバーに送信されるデータベースwebsocketリクエストをバックエンド・データベース・サーバーにマップするためにURIをカスタマイズできます。セキュアなwebsocketハンドシェイク・リクエストはこのURIで送信されます。

デフォルト

/sqlnet

例5-6 例

sqlnet.uri="/my_uri_prefix/database/"

5.2.79 SQLNET.USE_HTTPS_PROXY

用途

フォワードHTTPプロキシ・トンネリング・クライアント接続を有効にします。

使用上のノート

onにすると、クライアントがHTTP CONNECTメソッドを使用して、フォワードHTTPプロキシ上にセキュアな接続をトンネリングできます。これにより、クライアント側のファイアウォールにアウトバウンド・ポートをオープンする必要がなくなるため、パブリック・クラウド・データベースにアクセスしやすくなります。 

このパラメータはサーバー側のOracle Connection Managerに適用可能です。

デフォルト

on

SQLNET.USE_HTTPS_PROXY=on

5.2.80 SQLNET.WALLET_OVERRIDE

sqlnet.oraのパラメータ SQLNET.WALLET_OVERRIDEは、厳密認証資格証明書よりもウォレットに格納されているパスワード資格証明を優先するかどうかを決定するために使用します。

用途

厳密認証資格証明書よりもウォレットに格納されているパスワード資格証明を優先するかどうかを決定します。

使用上のノート

認証にウォレットを使用する場合、ユーザー名およびパスワードのデータベース資格証明がOracleウォレットに安全に格納されます。ウォレットの自動ログイン機能がオンになるため、データベースからウォレットを開くのにパスワードは必要ありません。ウォレットから資格証明を取得して、データベースにアクセスします。

ウォレットの使用方法により、データベースに接続する際にパスワード資格証明に依存する大規模なデプロイメントを簡素化できます。この機能が構成されている場合、アプリケーション・コード、バッチ・ジョブおよびスクリプトにユーザー名およびパスワードを埋め込む必要がありません。このようなパスワードは平文で公開されなくなり、ユーザー名やパスワードが変更されるたびにアプリケーション・コードを変更することなくパスワード管理ポリシーが適用されるため、リスクが軽減されます。

ユーザーはユーザー名およびパスワードを明示的に指定するかわりに、connect /@database_nameコマンドを使用して接続します。これにより、スクリプトのメンテナンスが簡単になり、アプリケーションのパスワード管理の安全性が確保されます。

中間層アプリケーションにより、インストール時にOracle Applicationsウォレットが作成され、アプリケーションに固有なIDが格納されます。パスワードは、ハードコードではなく、ランダムに生成できます。Oracleアプリケーションがデータベースにアクセスすると、SQLNET.AUTHENTICATION_SERVICESWALLET_LOCATIONに、適切な値が設定されます。新しいウォレット・ベースのパスワード認証コードでは、Oracle Applicationsウォレットのパスワード資格証明を使用してデータベースにログインします。

true | false

SQLNET.WALLET_OVERRIDE=true

5.2.81 SSL_CERT_REVOCATION

sqlnet.oraのパラメータSSL_CERT_REVOCATIONは、証明書の失効確認を構成するために使用します。

用途

証明書の失効確認を構成します。

デフォルト

none

  • noneにすると、証明書失効ステータスのチェックが無効になります。これはデフォルト値です。

    ノート:

    SSL_CERT_REVOCATIONパラメータをnoneに設定した場合は証明書ベースの認証において重要なコンポーネントが削除されるため、そのように設定しないことをお薦めします。証明書失効ステータスのチェックを行わないと、盗まれた証明書が認証に使用されるのを防ぐことができません。none値を設定するのは、制御を緩和して認証用の証明書の使用を保護する場合のみです(ネットワーク・アクセス制御リストや、信頼できるクライアントのみにデータベース接続を限定するOracle Database Vaultポリシーなど)。
  • requested: 証明書失効リスト(Certificate Revocation List: CRL)が使用可能な場合に、証明書の取消しを行います。証明書が失効している場合は、TLS接続を拒否してください。証明書の失効状態を判断できる適切なCRLが見つからず証明書が取り消されない場合は、TLS接続を受け入れてください。

  • required: 証明書が使用可能な場合は証明書の取消しを行います。証明書が取り消され、適切なCRLが見つからない場合はTLS接続を拒否してください。証明書の失効状態を判断できる適切なCRLが見つからず証明書が取り消されない場合は、TLS接続を受け入れてください。

SSL_CERT_REVOCATION=required

5.2.82 SSL_CRL_FILE

sqlnet.oraのパラメータSSL_CRL_FILEは、クライアント認証用の証明書失効リスト(CRL)を構築するファイルの名前を指定するために使用します。

用途

クライアント認証用のCRLを格納できるファイルの名前を指定します。

使用上のノート

このファイルには、PEMで暗号化されたCRLファイルが優先順に格納されています。このファイルは、SSL_CRL_PATHパラメータの代替または補助用に使用できます。このパラメータは、SSL_CERT_REVOCATIONrequestedまたはrequiredに設定されている場合のみ有効です。

構文

SSL_CRL_FILE=certificate_revocation_list_filename

デフォルト

なし

SSL_CRL_FILE=crl.txt

5.2.83 SSL_CRL_PATH

sqlnet.oraのパラメータSSL_CRL_PATHは、クライアント認証用の証明書失効リスト(CRL)の宛先ディレクトリを指定するために使用します。

用途

認証局(CA)のCRLの宛先ディレクトリを指定します。

使用上のノート

このディレクトリに含まれるファイルは、Oracle Wallet Managerで作成されたハッシュ・シンボリック・リンクです。

このパラメータは、SSL_CERT_REVOCATIONrequestedまたはrequiredに設定されている場合のみ有効です。

構文

SSL_CRL_PATH=certificate_revocation_list_path

デフォルト

なし

SSL_CRL_PATH=/home/user1/crldir

5.2.84 SSL_CIPHER_SUITES

SSL_CIPHER_SUITESパラメータは、Transport Layer Security (TLS)で使用される認証、暗号化およびデータ整合性アルゴリズムの組合せを制御するために使用します。

用途

Transport Layer Security (TLS)で使用される認証、暗号化およびデータ整合性アルゴリズムの組合せを制御します。デフォルトでは、最も強いプロトコルと暗号は、データベース・クライアントとサーバーの間でネゴシエートされます。このパラメータを設定すると、デフォルトの動作が上書きされます。このパラメータは、特定のプロトコル・バージョンの使用を決定する内部セキュリティ制御がある場合にのみ使用する必要があります。

使用上のノート

SSL_CIPHER_SUITESパラメータ値をカッコで囲みます。そうしないと、暗号スイート設定が正しく解析されません。

デフォルト

なし

TLS 1.2と互換性のある承認済暗号:
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS 1.2と互換性のある非推奨の暗号:
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  • TLS_RSA_WITH_AES_256_GCM_SHA384
  • TLS_RSA_WITH_AES_256_CBC_SHA256
  • TLS_RSA_WITH_AES_128_GCM_SHA256
  • TLS_RSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_DH_anon_WITH_AES_256_GCM_SHA384
  • TLS_DH_anon_WITH_AES_128_GCM_SHA256
TLS 1.0、TLS 1.1およびTLS 1.2と互換性のある非推奨の暗号:
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_AES_128_CBC_SHA
  • TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
  • TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
  • TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
  • TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_RSA_WITH_RC4_128_SHA
  • TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
  • TLS_ECDH_RSA_WITH_RC4_128_SHA
  • TLS_ECDH_ECDSA_WITH_RC4_128_SHA
  • SSL_RSA_WITH_RC4_128_SHA
  • SSL_RSA_WITH_RC4_128_MD5
  • TLS_ECDHE_ECDSA_WITH_NULL_SHA
  • TLS_ECDHE_RSA_WITH_NULL_SHA
  • TLS_ECDH_ECDSA_WITH_NULL_SHA
  • TLS_ECDH_RSA_WITH_NULL_SHA
  • SSL_RSA_WITH_NULL_SHA
  • SSL_RSA_WITH_NULL_MD5
  • SSL_DH_anon_WITH_RC4_128_MD5
TLS 1.0およびTLS 1.1と互換性のある非推奨の暗号:
  • TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
  • TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
  • TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
  • SSL_RSA_WITH_3DES_EDE_CBC_SHA
  • SSL_DH_anon_WITH_3DES_EDE_CBC_SHA

ノート:

DH_anon暗号スイートは通信者の認証を提供しないため、介在者攻撃に対して無防備になる可能性があります。機密データを保護する場合は、これらの暗号スイートを使用しないことをお薦めします。

SSL_CIPHER_SUITES=(TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384)
SSL_CIPHER_SUITES=(TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256)

5.2.85 SSL_CLIENT_AUTHENTICATION

SSL_CLIENT_AUTHENTICATIONパラメータは、クライアントがTransport Layer Security (TLS)を使用して認証されるかどうかを指定するために使用します。

用途

クライアントがTransport Layer Security (TLS)を使用して認証されるかどうかを指定します。

使用上のノート

クライアントの認証は、データベース・サーバーが行います。したがって、この値はfalseに設定する必要がありますこのパラメータをtrueに設定すると、リスナーは、結果的に失敗となる可能性があるクライアントの認証を試みます。

デフォルト

true

true | false

SSL_CLIENT_AUTHENTICATION=false

5.2.86 SSL_EXTENDED_KEY_USAGE

用途

証明書のキーの用途を指定します。

使用上のノート

このパラメータを指定すると、一致する拡張キーを持つ証明書が使用されます。

client authentication

SSL_EXTENDED_KEY_USAGE="client authentication"

5.2.87 SSL_SERVER_DN_MATCH

SSL_SERVER_DN_MATCHパラメータは、識別名(DN)一致によるサーバー側の証明書検証を強制的に実施するために使用します。

用途

識別名(DN)一致によるサーバー側証明書の検証を強制します。

使用上のノート

サーバーの証明書チェーンの検証に加えてDN一致を強制すると、クライアントはDN一致による別のチェックを実行します。

部分DN一致または完全DN一致のいずれかを構成できます。部分DN一致は、サーバーのCNにホスト名が含まれているときに発生します。完全DN一致は、サーバーの完全なDNに対して発生します。一致を強制しないと、サーバーのアイデンティティの偽装が可能になります。

完全DN一致を有効にするには、sqlnet.oraファイルに加えて、tnsnames.oraのパラメータSSL_SERVER_CERT_DNも構成してください。

デフォルト

NO

  • YES | ON | TRUE | 1:

    部分または完全DN一致を強制します。DNがサービス名と一致している場合、接続は成功します。DNがサービス名と一致していない場合、接続は失敗します。

  • NO | OFF | FALSE | 0:

    DN一致は強制しません。DNがサービス名と一致していない場合、接続は成功しますが、エラーがsqlnet.logファイルに記録されます。

SSL_SERVER_DN_MATCH=YES

5.2.88 SSL_VERSION

SSL_VERSIONパラメータは、接続に使用する有効なTransport Layer Security (TLS)バージョンを定義するために使用します。

用途

データベース・サーバーが通信するシステムで実行する必要があるTLSのバージョンを定義します。デフォルトでは、データベース・サーバーとクライアントは最も強いセキュリティ・プロトコルをネゴシエートします。セキュリティ要件によって特定のプロトコル・バージョンの使用が強制されていないかぎり、このパラメータを変更することはお薦めしません。

使用上のノート

クライアント、リスナーおよびデータベース・サーバーは、互換性のあるバージョンを使用する必要があります。このパラメータは、よりセキュアなTLSプロトコルの使用を強制し、古いTLSプロトコルのみで動作するクライアントを許可しないように、必要な場合にのみ変更してください。TLS 1.0またはTLS 1.1を指定する必要がある場合は、よりセキュアな接続を可能にするためにTLS 1.2も含めます。現行のデフォルトでは、複数のセキュリティ・コンプライアンス要件に必要なバージョンであるTLS 1.2を使用しています。

SSL_VERSIONundeterminedに設定すると、最もセキュアなTLSプロトコル・バージョンが使用されます。特定の接続の接続文字列のSSL_VERSION=undetermined設定を使用して、sqlnet.oraファイルで構成されたSSL_VERSION値をオーバーライドできます。

SSL_VERSIONに値を設定しないと、サポートされているすべてのTLSプロトコル・バージョンが、最もセキュアなバージョンから試行されます。これは通常、最も一般的な構成で、TLSネゴシエーション中に最も強力なプロトコルが選択されます。

デフォルト

undetermined

undetermined | 1.0 | 1.1 | 1.2

バージョン番号は、TLSv1.0、TLSv1.1およびTLSv1.2などのTLSバージョンに対応します。

ノート:

sqlnet.oraのパラメータADD_SSLV3_TO_DEFAULTは、このパラメータには影響しません。

構文と例

  • 単一のTLSバージョンを指定するには:
    SSL_VERSION=TLS_protocol_version
    たとえば:
    SSL_VERSION=1.2
  • 複数のTLSバージョンを指定するには、次のようにor演算子を使用します:
    SSL_VERSION=TLS_protocol_version1 or TLS_protocol_version2
    たとえば:
    SSL_VERSION=1.1 or 1.2
    SSL_VERSION=1.0 or 1.1 or 1.2

5.2.89 TCP.CONNECT_TIMEOUT

用途

クライアントがデータベース・サーバーへのTCP接続(TNS接続アドレスのPROTOCOL=tcp)を確立する時間をmssecまたはminで指定します。

使用上のノート

データベース・ホストへのTCP接続が指定した時間内で確立しなかった場合、接続の試行は終了します。クライアントは「ORA-12170: TNS: 接続タイムアウトが発生しました。」エラーを受信します。

ホスト名に解決される各IPアドレスにタイムアウトが適用されます。値とユニットの間のスペースあり、なしにかかわらず、様々なタイムアウトを受け入れます。たとえば、ホスト名がIPv6およびIPv4アドレスに解決される場合、そしてホストにネットワークを介して到達できない場合、IPアドレスが2つあるため、接続リクエストは2倍の時間でタイムアウトになります。デフォルトのタイムアウトの設定は60なので、この場合、120 secondsでタイムアウトになります。単位が指定されない場合、デフォルトの単位はsecです。

デフォルト

60

TCP.CONNECT_TIMEOUT=10 ms

5.2.90 TCP.EXCLUDED_NODES

用途

データベースへのアクセスを許可しないクライアントを指定します。

使用上のノート

このパラメータは、TCP.VALIDNODE_CHECKINGパラメータがyesに設定されている場合にのみ有効です。

このパラメータは、IPv4アドレスにワイルドカードを使用でき、IPv4およびIPv6アドレスにはCIDR表記を使用できます。

構文

TCP.EXCLUDED_NODES=(hostname | ip_address, hostname | ip_address, ...)

TCP.EXCLUDED_NODES=(finance.us.example.com, mktg.us.example.com, 192.0.2.25,
 172.30.*, 2001:DB8:200C:417A/32)

5.2.91 TCP.INVITED_NODES

用途

データベースへのアクセスを許可するクライアントを指定します。両方のリストが存在する場合は、このリストがTCP.EXCLUDED_NODESパラメータよりも優先されます。

構文

TCP.INVITED_NODES=(hostname | ip_address, hostname | ip_address, ...)

使用上のノート

  • このパラメータは、TCP.VALIDNODE_CHECKINGパラメータがyesに設定されている場合にのみ有効です。

  • このパラメータは、IPv4アドレスにワイルドカードを使用でき、IPv4およびIPv6アドレスにはCIDR表記を使用できます。

TCP.INVITED_NODES=(sales.us.example.com, hr.us.example.com, 192.0.*,
 2001:DB8:200C:433B/32)

5.2.92 TCP.NODELAY

用途

TCP/IPプロトコル・スタック内でバッファ・フラッシングの遅延を回避します。

デフォルト

yes

yes | no

TCP.NODELAY=yes

5.2.93 TCP.QUEUESIZE

用途

TCPリスニング・ソケットで保留中の接続用キューの最大長を構成します。

デフォルト

システムで定義された最大値。Linuxに定義された最大値は128です。

システム定義された最大値までの任意の整数値。

TCP.QUEUESIZE=100

5.2.94 TCP.VALIDNODE_CHECKING

用途

着信接続を確認して、有効なノードを有効または無効にします。

使用上のノート

このパラメータがyesに設定されていると、着信接続がTCP.INVITED_NODESまたはTCP.EXCLUDED_NODESパラメータで指定されているリストに適合しているノードから発信されている場合にのみ、着信接続が許可されます。

TCP.INVITED_NODESおよびTCP.EXCLUDED_NODESパラメータは、TCP.VALIDNODE_CHECKINGパラメータがyesに設定されている場合にのみ有効です。

このパラメータおよびそれに依存するパラメータである、TCP.INVITED_NODESおよびTCP.EXCLUDED_NODESは、リスナーのsqlnet.oraファイルに設定する必要があります。これは、Oracle Grid Infrastructureホームからリスナーが実行されるOracle RAC環境において重要です。データベース・ホームにパラメータを設定してもOracle RAC環境には影響しません。そのような環境では、すべてのSingle Client Access Name (SCAN)、仮想IP (VIP)、ローカルIPのアドレスをTCP.INVITED_NODESリストに含める必要があります。

VLAN環境では、Oracle Grid Infrastructureホームにあるsqlnet.oraファイルに、すべてのVLANのすべてのアドレスを含める必要があります。VLANはネットワークの分離を実行し、INVITED_NODESはVLAN内のデータベースへのアクセスを許可または制限します。

同じVLAN内の複数のデータベースに異なるINVITED_NODEリストが必要な場合は、個別のリスナーが必要になります。

デフォルト

no

yes | no

TCP.VALIDNODE_CHECKING=yes

5.2.95 TNSPING.TRACE_DIRECTORY

用途

TNSPINGユーティリティのトレース・ファイル(tnsping.trc)の宛先ディレクトリを指定します。

デフォルト

ORACLE_HOME/network/traceディレクトリ

TNSPING.TRACE_DIRECTORY=/oracle/traces

5.2.96 TNSPING.TRACE_LEVEL

用途

TNSPINGユーティリティのトレースをオン(指定されたレベルで)またはオフに切り替えます。

デフォルト

off

  • off: トレースを出力しません。

  • user: ユーザー用のトレース情報を出力します。

  • admin: 管理用のトレース情報を出力します。

  • support: Oracleサポート・サービス用のトレース情報を出力します。

TNSPING.TRACE_LEVEL=admin

5.2.97 TOKEN_AUTH

TOKEN_AUTHパラメータは、Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)またはMicrosoft Azure Active Directory (Azure AD)ユーザーのトークンベースの認証の構成に使用します。この設定では、/ (スラッシュ)ログインを使用すると、データベース・クライアントはトークン・ファイルを検索します。

用途

トークン・ベースのアクセスでは強力な認証が強制されるため、データベースへのより安全なアクセスが可能になります。IAMユーザーはOCI Database as a Service (DBaaS)データベースに接続可能であり、Azure ADユーザーはOracle Databases (クラウドまたはオンプレミス)に接続可能です。

このパラメータは、tnsnames.oraファイルまたはsqlnet.oraファイルのSECURITYセクションの下で使用するか、コマンドライン接続文字列の一部として直接使用します。接続文字列で指定されたパラメータ値は、他で指定された値より優先されます。

IAMに関する使用上のノート

  • OCI IAMトークン(db-token)は、Oracle Cloud Infrastructure (OCI)コマンドライン・インタフェース(CLI)を使用するか、OCI Software Development Kit (SDK)からプログラムによってIAMから取得される、有効期限とスコープのあるproof-of-possession (PoP)トークンです。

    APIキー、セキュリティ・トークン、リソース・プリンシパル、インスタンス・プリンシパル、委任トークンなどのIAMユーザー資格証明のいずれかを使用して、IAMからdb-tokenおよび秘密キーを取得できます。

  • これらのトークンは、セキュアなチャネルを経由して送信されます。TCP/IPプロトコルとTransport Layer Security (TLS)のみを使用する必要があり、そうしないと、TLS以外の接続が許可されていないことを示すエラー・メッセージが表示されます。

  • トークンベースの認証では、TCPSプロトコル(PROTOCOL=TCPS)を構成し、SSL_SERVER_DN_MATCHパラメータをTRUEに設定する必要があります。

  • IAMユーザーが/@connect_identifierを使用してログインした場合(および、TOKEN_AUTHOCI_TOKENに設定されている場合)、/@connect_identifierとともにTOKEN_AUTH=OCI_TOKENを使用する設定は、データベース・クライアントに、デフォルト・ディレクトリまたはTOKEN_LOCATIONで指定された場所(IAMトークンベースの認証を使用)からdb-tokenと秘密キーを取得するように指示します。

  • クライアント・アプリケーションがIAMからトークンを取得するように更新されている場合は、TOKEN_AUTH=OCI_TOKEN設定をオーバーライドできます。クライアント・アプリケーションは、IAMからdb-tokenと秘密キーを取得し、クライアントAPIを使用して、データベース・クライアントに属性として送信します。この場合、TOKEN_AUTHパラメータとTOKEN_LOCATIONパラメータを指定する必要はありません。

  • 一般的なIAMトークンベースの認証プロセスは次のとおりです。

    1. OCIのIAMユーザーまたはアプリケーションが、最初にAPIキー、セキュリティ・トークン、リソース・プリンシパル、サービス・プリンシパル、インスタンス・プリンシパルまたは委任トークンを使用して、IAMからdb-tokenをリクエストします(委任トークンはCloud Shellでのみ使用可能です)。

      セキュリティ・トークンを使用するには、ブラウザ認証プロセスを完了してセキュリティ・トークンを生成してから、そのセキュリティ・トークンを使用してdb-tokenをリクエストする必要があります。db-tokenの発行を認可するIAMポリシーが存在する場合は、db-tokenが返されます。

      OCI CLI (またはアプリケーションの場合はOCI SDK)を使用してdb-tokenをリクエストします。たとえば、次のOCI CLIコマンドを実行して、APIキー(apikey)を使用してdb-tokenをリクエストします。

      $ oci iam db-token get --profile scott

      profileオプションは、IAMユーザー資格証明にアクセスしてdb-tokenを取得するプロファイルを指定します。

      OCI CLIの使用方法の詳細は、Oracle Cloud Infrastructure CLIコマンド・リファレンスgetコマンドの詳細を参照してください。

    2. OCI CLIは、(プロファイルの一部としてIAMユーザー資格証明を格納する)configファイルを参照し、IAMを呼び出してdb-tokenを取得します。db-tokenおよび秘密キー・ファイルは、デフォルトまたは指定されたトークンの場所に書き込まれます。

    3. TOKEN_LOCATIONパラメータを指定して、db-tokenおよび秘密キー・ファイルが格納されるデフォルト・ディレクトリをオーバーライドできます。

      データベース・クライアントは、デフォルトのトークンの場所かTOKEN_LOCATIONで指定された場所からdb-tokenと秘密キーを取得し、秘密キーを使用してdb-tokenに署名して、データベース・サーバーに送信します。データベース・サーバーはdb-tokenを検証して、ユーザーのグループ・メンバーシップ情報を取得します。IAMユーザーがデータベース・スキーマにマップされている場合(排他的または共有)は、ログインが完了します。

ノート:

別のIAM資格証明とIAMデータベース・パスワードを使用して、IAMからdb-tokenをリクエストすることもできます。このdb-tokenはベアラー・トークンであり、秘密キーは付属していません。IAMユーザー名とIAMデータベース・パスワードを使用して、このトークンをリクエストするようにデータベース・クライアントを構成できます。アプリケーションは、このタイプのdb-tokenをクライアントに渡すことはできません。この場合は、別のパラメータ設定(PASSWORD_AUTH=OCI_TOKEN)を使用します。

トークンの取得にアプリケーションやツールを必要とするAPIキー、セキュリティ・トークン、リソース・プリンシパル、サービス・プリンシパル、インスタンス・プリンシパルおよび委任トークンとは異なり、データベース・クライアントがトークン取得のために使用できるのは、IAMデータベース・パスワードのみです。「PASSWORD_AUTH」を参照してください。

表5-2 IAMの値と例

デフォルト

なし

TOKEN_AUTH=OCI_TOKEN

tnsnames.oraファイル:
net_service_name=
    (DESCRIPTION =
       (ADDRESS=(PROTOCOL=tcps)(HOST=sales-svr)(PORT=1521))
       (SECURITY=
          (SSL_SERVER_DN_MATCH=TRUE)
          (SSL_SERVER_CERT_DN="C=US,O=example,CN=OracleContext")
          (TOKEN_AUTH=OCI_TOKEN))
       (CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))
     ) 
sqlnet.oraファイル:
SSL_SERVER_DN_MATCH=TRUE
TOKEN_AUTH=OCI_TOKEN

これらの例では、オプションのTOKEN_LOCATIONパラメータが指定されていません。したがって、クライアントはデフォルトのトークンの場所から、自動的にdb-tokenと秘密キーを取得します。

Azure ADに関する使用上のノート

  • Azure AD OAuth2アクセス・トークンは、有効期限とスコープを持つベアラー・トークンです。このトークンは、OAuth2.0標準とAzure AD拡張機能に準拠しています。これらのトークンは、Linux、Microsoft PowerShellまたはその他の環境で実行されるツールおよびスクリプトからリクエストできます。また、Microsoft SDKを使用してプログラム的にこれらのトークンをリクエストすることもできます。

  • これらのトークンは、セキュアなチャネルを経由して送信されます。TCP/IPプロトコルとTransport Layer Security (TLS)のみを使用する必要があり、そうしないと、TLS以外の接続が許可されていないことを示すエラー・メッセージが表示されます。

  • トークンベースの認証では、TCPSプロトコル(PROTOCOL=TCPS)を構成し、SSL_SERVER_DN_MATCHパラメータをTRUEに設定する必要があります。

  • Azure ADユーザーが/@connect_identifierを使用してログインすると、トークン・ファイルの名前がtokenの場合、TOKEN_AUTH=OAUTH設定は、TOKEN_LOCATIONで指定されたディレクトリの場所からアクセス・トークンを取得するようにデータベース・クライアントに指示します。トークン・ファイル名がtokenと異なる場合は、TOKEN_LOCATIONパラメータを指定するときにファイル名とディレクトリの場所を使用する必要があります。

    TOKEN_LOCATIONパラメータは、Azure ADトークンベースの認証では必須です。データベース・クライアントはこの場所からトークンを取得して、データベース・サーバーに送信します。

  • クライアント・アプリケーションがAzure ADからトークンを取得するように更新されている場合は、TOKEN_AUTH=OAUTH設定をオーバーライドできます。Azure ADはクライアントAPIを使用して、db-tokenを属性としてデータベース・クライアントに直接渡します。このリクエストをクライアントが受信すると、クライアントがデータベース・サーバーに送信します。

    この場合、TOKEN_AUTHパラメータとTOKEN_LOCATIONパラメータを指定する必要はありません。

  • 一般的なAzure ADトークンベースの認証プロセスは次のとおりです。
    1. Azure ADユーザーまたはアプリケーションが、最初に、サポートされているMicrosoft Azure AD認証フロー(リソース所有者のパスワード資格証明、認可コード、代理(OBO)フローまたはクライアント資格証明)のいずれかを使用して、Azure ADからアクセス・トークンをリクエストします。

      Azure ADユーザーは、サポートされている任意のユーティリティを使用して接続し、トークンを取得してローカル・ファイル・ディレクトリに格納できます。

      トークンは、Linux、Microsoft PowerShellまたはその他の環境で実行されるツールおよびスクリプトからリクエストできます。Microsoft SDKを使用して、プログラム的にリクエストすることもできます。

      Azure AD OAuth2アクセス・トークンを取得する方法の詳細な例は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

    2. 続いて、データベース・クライアントがトークンをデータベース・サーバーに送信します。データベース・サーバーはトークンを検証し(Azure AD公開キーを使用)、ユーザー名、アプリケーション・ロール、オーディエンスなど、様々なクレームをトークンから抽出します。Azure ADプリンシパルがデータベース・スキーマにマップされている場合(排他的または共有)、ログインは完了します。

表5-3 Azure ADの値と例

デフォルト

なし

トークン・ファイルがtokenという名前である場合:

TOKEN_AUTH=OAUTH TOKEN_LOCATION="token_file_directory"

tnsnames.oraファイル:
net_service_name=
    (DESCRIPTION=
      (ADDRESS=(PROTOCOL=tcps)(HOST=salesserver1)(PORT=1522))
      (SECURITY=
          (SSL_SERVER_DN_MATCH=TRUE)
          (SSL_SERVER_CERT_DN="C=US,O=example,CN=OracleContext")
          (TOKEN_AUTH=OAUTH)
          (TOKEN_LOCATION="/home/dbuser1/access-token"))
      (CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))
    )
sqlnet.oraファイル:
SSL_SERVER_DN_MATCH=TRUE
TOKEN_AUTH=OAUTH 
TOKEN_LOCATION="/home/dbuser1/access-token"

これらの例では、トークン・ファイル名はtokenです。したがって、ディレクトリ・パス(/home/dbuser1/access-token)のみが指定されています。クライアントは指定されたパスのtokenファイルを自動的に検索して、アクセス・トークンを取得します。

トークン・ファイル名がtokenと異なる場合:

TOKEN_AUTH=OAUTH TOKEN_LOCATION="token_file_directory/token_filename"

tnsnames.oraファイル:
net_service_name=
    (DESCRIPTION=
      (ADDRESS=(PROTOCOL=tcps)(HOST=salesserver1)(PORT=1522))
      (SECURITY=
          (SSL_SERVER_DN_MATCH=TRUE)
          (SSL_SERVER_CERT_DN="C=US,O=example,CN=OracleContext")
          (TOKEN_AUTH=OAUTH)
          (TOKEN_LOCATION="/home/dbuser1/access-token/mytoken"))
      (CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))
    )
sqlnet.oraファイル:
SSL_SERVER_DN_MATCH=TRUE
TOKEN_AUTH=OAUTH 
TOKEN_LOCATION="/home/dbuser1/access-token/mytoken"

これらの例では、トークン・ファイル名はmytokenです。したがって、ファイル名とディレクトリ・パス(/home/dbuser1/access-token)の両方が指定されています。クライアントは指定されたパスのmytokenファイルから、アクセス・トークンを取得します。

5.2.98 TOKEN_LOCATION

TOKEN_LOCATIONパラメータは、トークンベースの認証のためにトークン・ファイルが格納されるディレクトリの場所を指定するために使用します。

用途

トークン・ファイル・ディレクトリの場所を指定します。このパラメータは、Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)またはMicrosoft Azure Active Directory (Azure AD)ユーザーのトークンベースの認証を構成するときに使用します。データベース・クライアントはこの場所からトークンを取得して、データベース・サーバーに送信します。Azure ADの場合は、ディレクトリの場所とともにトークン・ファイル名を指定することもできます。

このパラメータは、tnsnames.oraファイルまたはsqlnet.oraファイルでTOKEN_AUTHパラメータとともに使用するか、コマンドライン接続文字列の一部として直接使用します。接続文字列で指定されたパラメータ値は、他で指定された値より優先されます。

IAMに関する使用上のノート

TOKEN_LOCATIONパラメータは、IAMトークンベースの認証ではオプションです。このパラメータをTOKEN_AUTHパラメータとともに使用すると、db-tokenおよび秘密キーが格納されるデフォルトのディレクトリをオーバーライドできます。この場所は、db-tokenおよび秘密キーを取得するために、データベース・クライアントによって使用されます。

IAMユーザーが/@connect_identifier (およびTOKEN_AUTHOCI_TOKENに設定)を使用して接続を開始すると、データベース・クライアントは、デフォルト・ディレクトリかTOKEN_LOCATIONで指定された場所から、db-tokenと秘密キーを取得します。その後、クライアントは秘密キーを使用してdb-tokenに署名し、db-tokenをデータベース・サーバーに送信します。

IAMのデフォルト設定

  • Linuxの場合:

    /home/username/.oci/db-token

  • Windowsの場合:

    データベース・クライアントは、次の順序でデフォルト・ディレクトリを検索します:

    USERPROFILE環境変数が設定されている場合、クライアントはUSERPROFILEディレクトリ(例: C:\Users\username)を検索します。

    USERPROFILEが設定されていない場合、クライアントはHOMEPATH (例: \Users\username)を使用して、HOMEDRIVEディレクトリ(例: C:)を検索します。

    たとえば、Windowsにおけるデフォルトのトークンの場所ディレクトリは次のとおりです。

    C:\Users\username\.oci\db-token

IAMの値と例

TOKEN_LOCATION="token_file_directory"

tnsnames.oraファイル:
net_service_name=
    (DESCRIPTION =
       (ADDRESS=(PROTOCOL=tcps)(HOST=sales-svr)(PORT=1521))
       (SECURITY=
          (SSL_SERVER_DN_MATCH=TRUE)
          (SSL_SERVER_CERT_DN="C=US,O=example,CN=OracleContext")
          (TOKEN_AUTH=OCI_TOKEN)
          (TOKEN_LOCATION="/home/oracle/.oci/db-token"))
       (CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))
     ) 
sqlnet.oraファイル:
SSL_SERVER_DN_MATCH=TRUE
TOKEN_AUTH=OCI_TOKEN
TOKEN_LOCATION="/home/oracle/.oci/db-token"

Azure ADに関する使用上のノート

TOKEN_LOCATIONパラメータは、Azure ADトークンベースの認証では必須です。このパラメータをTOKEN_AUTHパラメータとともに使用して、Azure AD OAuth2アクセス・トークンが格納されるディレクトリの場所を指定する必要があります。この場所は、アクセス・トークンを取得するために、データベース・クライアントによって使用されます。

トークン・ファイルがtokenという名前である場合は、ディレクトリ・パスのみを指定します。トークン・ファイル名がtokenと異なる場合は、ファイル名とディレクトリ・パスを使用する必要があります。

Azure ADユーザーが/@connect_identifierを使用して接続を開始すると、データベース・クライアントは、TOKEN_LOCATIONで指定された場所からアクセス・トークンを取得し、トークンをデータベース・サーバーに送信します。

Azure ADのデフォルト設定

なし

Azure ADの値と例

トークン・ファイルがtokenという名前である場合:

TOKEN_LOCATION="token_file_directory"

tnsnames.oraファイル:
net_service_name=
    (DESCRIPTION=
      (ADDRESS=(PROTOCOL=tcps)(HOST=salesserver1)(PORT=1522))
      (SECURITY=
          (SSL_SERVER_DN_MATCH=TRUE)
          (SSL_SERVER_CERT_DN="C=US,O=example,CN=OracleContext")
          (TOKEN_AUTH=OAUTH)(TOKEN_LOCATION="/home/dbuser1/access-token"))
      (CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))
    )
sqlnet.oraファイル:
SSL_SERVER_DN_MATCH=TRUE
TOKEN_AUTH=OAUTH 
TOKEN_LOCATION="/home/dbuser1/access-token"

これらの例では、トークン・ファイル名はtokenです。したがって、ディレクトリ・パス(/home/dbuser1/access-token)のみが指定されています。クライアントは指定されたパスのtokenファイルを自動的に検索して、アクセス・トークンを取得します。

トークン・ファイル名がtokenと異なる場合:

TOKEN_LOCATION="token_file_directory/token_filename"

tnsnames.oraファイル:
net_service_name=
    (DESCRIPTION=
      (ADDRESS=(PROTOCOL=tcps)(HOST=salesserver1)(PORT=1522))
      (SECURITY=
          (SSL_SERVER_DN_MATCH=ON)
          (SSL_SERVER_CERT_DN="C=US,O=example,CN=OracleContext")
          (TOKEN_AUTH=OAUTH)
          (TOKEN_LOCATION="/home/dbuser1/access-token/mytoken"))
      (CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))
    )
sqlnet.oraファイル:
SSL_SERVER_DN_MATCH=TRUE
TOKEN_AUTH=OAUTH 
TOKEN_LOCATION="/home/dbuser1/access-token/mytoken"

これらの例では、トークン・ファイル名はmytokenです。したがって、ファイル名とディレクトリ・パス(/home/dbuser1/access-token)の両方が指定されています。クライアントは指定されたパスのmytokenファイルから、アクセス・トークンを取得します。

5.2.99 USE_CMAN

用途

クライアントのOracle Connection Managerへの経路指定に使用します。

使用上のノート

trueに設定すると、クライアントはOracle Connection Managerのプロトコル・アドレスに経路指定されます。

falseに設定した場合、クライアントはアドレス・リストの1つを無作為に選択し、選択したADDRESS_LISTに障害がある場合、もう一方のアドレス・リストにフェイルオーバーします。USE_CMAN=trueの場合、クライアントは、常に最初のアドレス・リストを使用します。

Oracle Connection Managerのアドレスが使用可能でない場合、接続は使用可能なリスナー・アドレスを介して経路指定されます。

デフォルト

false

true | false

USE_CMAN=true

5.2.100 USE_DEDICATED_SERVER

用途

クライアントが使用する接続記述子のCONNECT_DATAセクションに(SERVER=dedicated)を追加します。

使用上のノート

tnsnames.oraファイルにあるSERVERパラメータの現在の値を上書きします。

onに設定すると、USE_DEDICATED_SERVERパラメータによって(SERVER=dedicated)が接続記述子の接続データに自動的に追加されます。この方法によって、このクライアントからの接続では、共有サーバーが構成されている場合でも、専用サーバー・プロセスが使用されます。

デフォルト

off

  • on: (SERVER=dedicated)が追加されます。

  • off: リクエストを既存のサーバー・プロセスに送ります。

USE_DEDICATED_SERVER=on

関連項目:

構成情報の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

5.2.101 WALLET_LOCATION

sqlnet.oraのパラメータWALLET_LOCATIONは、Oracleウォレットの場所を指定するために使用します。

用途

Oracleウォレットを作成して格納するディレクトリ・パスを指定します。ウォレットには、Oracle Databaseで使用される証明書、シークレット、秘密キーおよびトラスト・ポイントが安全に含まれています。

使用上のノート

  • パスワードで保護されたウォレットは、ewallet.p12ファイルに格納されます。自動ログイン・ウォレットとローカルの自動ログイン・ウォレットは、cwallet.ssoファイルに格納されます。

    たとえば、OracleウォレットがMicrosoft Windowsレジストリに格納されており、そのウォレットのキー(KEY)SALESAPPの場合、パスワードで保護されたウォレットの格納場所は、HKEY_CURRENT_USER\SOFTWARE\ORACLE\WALLETS\SALESAPP\EWALLET.P12です。自動ログイン・ウォレットおよびローカルの自動ログイン・ウォレットの格納場所は、HKEY_CURRENT_USER\SOFTWARE\ORACLE\WALLETS\SALESAPP\CWALLET.SSOです。

  • WALLET_LOCATIONパラメータは、クライアント・ウォレットを使用しないTLS接続ではオプションです。WALLET_LOCATIONsqlnet.oraまたは接続文字列に含まれていない場合、ドライバはクライアント・システムのデフォルトの証明書ストア(システムがLinuxまたはWindowsの場合)から共通ルート証明書を自動的に選択します。この場合、データベース・サーバー証明書は、クライアント・システムのデフォルト証明書ストアにすでにインストールされている信頼できるルート証明書によって署名される必要があります。デフォルトの証明書ストアは、Linuxの/etc/pki/tls/cert.pemおよびWindowsのMicrosoft Certificate Store (MCS)にあります。

    すべての接続に対してWALLET_LOCATIONsqlnet.oraに設定されている場合、接続文字列でWALLET_LOCATION=SYSTEMを(tnsnames.ora内またはコマンドラインで直接)使用することにより、クライアント・ウォレットを必要としない特定の接続に対してこの設定をオーバーライドできます。次に、データベース・クライアントは、(クライアント・ウォレットではなく)デフォルトの証明書ストアの共通ルート証明書を使用して、データベース・サーバー証明書を検証します。
    net_service_name=
        (DESCRIPTION =
           (ADDRESS=(PROTOCOL=tcps)(HOST=sales-svr)(PORT=1234))
           (SECURITY=(WALLET_LOCATION=SYSTEM))
           (CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))
         ) 

追加のパラメータ

WALLET_LOCATIONは、次のパラメータをサポートします。

  • SOURCE: ウォレットの格納タイプ(METHOD)と格納場所(METHOD_DATA)

  • METHOD: 格納タイプ

  • METHOD_DATA: 格納場所

  • DIRECTORY: ファイル・システムでのウォレットの場所

  • KEY: ウォレット・タイプとMicrosoft Windowsレジストリ内の位置

  • PROFILE: Entrustプロファイル・ファイル(.epf)

  • INIFILE: Entrust初期化ファイル(.ini)

構文と例

構文は、次のとおり、ウォレットによって異なります。

  • ファイル・システム上のウォレット:
    WALLET_LOCATION=
      (SOURCE=
        (METHOD=file)
        (METHOD_DATA=
           (DIRECTORY=directory)
           [(PKCS11=TRUE/FALSE)]))
    
    たとえば:
    WALLET_LOCATION=  
      (SOURCE=
          (METHOD=file)
          (METHOD_DATA=  
             (DIRECTORY=/etc/oracle/wallets/databases)))
    
  • Microsoft証明ストア
    WALLET_LOCATION=
      (SOURCE=
         (METHOD=mcs))
    

    MCSはウォレットを使用しないため、MCSのキーと値のペアにはMETHOD_DATAパラメータがありません。かわりに、Oracle PKI (公開キー・インフラストラクチャ)アプリケーションは、証明書、トラスト・ポイントおよび秘密キーをユーザーのプロファイルから直接取得します。

  • Microsoft Windowsレジストリ内のウォレット:
    WALLET_LOCATION=
       (SOURCE=
          (METHOD=reg)
          (METHOD_DATA=
             (KEY=registry_key)))
    
    たとえば:
    WALLET_LOCATION=
       (SOURCE=
         (METHOD=REG)
         (METHOD_DATA=
            (KEY=SALESAPP)))
    
  • Entrustウォレット:
    WALLET_LOCATION=
       (SOURCE=
          (METHOD=entr)
          (METHOD_DATA=
             (PROFILE=file.epf)
             (INIFILE=file.ini)))
    たとえば:
    WALLET_LOCATION=
       (SOURCE=
         (METHOD=entr)
         (METHOD_DATA=
           (PROFILE=/etc/oracle/wallets/example.epf)
           (INIFILE=/etc/oracle/wallets/example.ini)))

デフォルト

なし

5.3 sqlnet.oraファイルのADR診断パラメータ

クリティカル・エラーの診断データは、sqlnet.oraのADRに迅速に取得され格納されます。

5.3.1 ADR診断パラメータについて

ADRが有効な場合(デフォルト)は、自動診断リポジトリ(ADR)診断パラメータを使用できます。ADRを有効にすると、sqlnet.oraファイル内のADR以外のパラメータが無視されます。

Oracle Database 11g以降、Oracle Databaseには、問題の回避、検出、診断および解決のため高度な障害診断可能インフラストラクチャが組み込まれています。その対象の問題は、データベース・コードの不具合、メタデータの破損またはカスタマ・データの破損が原因で発生したエラーなどのクリティカル・エラーなどです。

クリティカル・エラーが発生すると、そのエラーにインシデント番号が割り当てられます。エラーの診断データ(トレースやダンプなど)が取得され、このインシデント番号でタグ付けされます。その後、データは自動診断リポジトリ(ADR)に格納されます(ADRはデータベースの外部にあるファイルベースのリポジトリです)。

ADRが有効な場合(DIAG_ADR_ENABLEDonに設定した場合)、次のsqlnet.oraのパラメータが使用されます。

5.3.2 ADR_BASE

sqlnet.oraファイル内の診断パラメータであり、ADRファイルのベースの場所を指定します。

用途

ADRが有効な場合に、トレース中およびロギング中のインシデントが格納されるベース・ディレクトリを指定します。

使用上のノート

このパラメータは、クライアントにのみ適用されます。サーバー側では、ADRベースの場所は、init.oraファイルのDIAGNOSTIC_DEST初期化パラメータによって定義されます。Oracle DatabaseリファレンスDIAGNOSTIC_DESTを参照してください。

デフォルト

ORACLE_BASEまたはORACLE_HOME/log (ORACLE_BASEが定義されていない場合)

書込み権限を持つディレクトリへの任意の有効なディレクトリ・パス

ADR_BASE=/oracle/network/trace

5.3.3 DIAG_ADR_ENABLED

sqlnet.oraファイルのDIAG_ADR_ENABLED診断パラメータは、ADRトレースを有効にするかどうかを指定します。

用途

ADRトレースが有効かどうかを指定します。

使用上のノート

DIAG_ADR_ENABLEDパラメータがOFFに設定されている場合は、ADR以外のファイル・トレースが使用されます。

デフォルト

on

on | off

例5-7 例

DIAG_ADR_ENABLED=on

5.3.4 TRACE_LEVEL_CLIENT

sqlnet.oraファイルのTRACE_LEVEL_CLIENT診断パラメータは、指定されたレベルでクライアント・トレースを有効または無効にします。

用途

クライアントのトレースをオン(指定されたレベルで)またはオフに切り替えます。

使用上のノート

このパラメータは、ADR以外のトレースを使用している場合にも適用できます。

デフォルト

offまたは0

  • offまたは0: トレースを出力しません。

  • userまたは4: ユーザー用のトレース情報を出力します。

  • adminまたは10: 管理用のトレース情報を出力します。

  • supportまたは16: Oracleサポート・サービス用のトレース情報を出力します。

TRACE_LEVEL_CLIENT=user

5.3.5 TRACE_LEVEL_SERVER

sqlnet.oraファイルのTRACE_LEVEL_SERVER診断パラメータは、指定されたレベルでサーバー・トレースを有効または無効にします。

用途

サーバーのトレースをオン(指定されたレベルで)またはオフに切り替えます。

使用上のノート

このパラメータは、ADR以外のトレースを使用している場合にも適用できます。

デフォルト

offまたは0

  • offまたは0: トレースを出力しません。

  • userまたは4: ユーザー用のトレース情報を出力します。

  • adminまたは10: 管理用のトレース情報を出力します。

  • supportまたは16: Oracleサポート・サービス用のトレース情報を出力します。

TRACE_LEVEL_SERVER=admin

5.3.6 TRACE_TIMESTAMP_CLIENT

sqlnet.oraファイルのTRACE_TIMESTAMP_CLIENT診断パラメータは、クライアント・トレース・ファイル内のすべてのトレース・イベントにタイム・スタンプを追加します。

用途

dd-mmm-yyyy hh:mm:ss:mil形式のタイムスタンプをクライアント・トレース・ファイル内の各トレース・イベントに追加します。このトレース・ファイルのデフォルトの名前はsqlnet.trcです。

使用上のノート

このパラメータは、ADR以外のトレースを使用している場合にも適用できます。

デフォルト

on

onまたはtrue | offまたはfalse

TRACE_TIMESTAMP_CLIENT=true

5.3.7 TRACE_TIMESTAMP_SERVER

sqlnet.oraファイルのTRACE_TIMESTAMP_CLIENT診断パラメータは、データベース・サーバーのトレース・ファイル内のすべてのトレース・イベントにタイム・スタンプを追加します。

用途

dd-mmm-yyyy hh:mm:ss:mil形式のタイムスタンプをデータベース・サーバー・トレース・ファイル内の各トレース・イベントに追加します。このトレース・ファイルのデフォルトの名前はsvr_pid.trcです。

使用上のノート

このパラメータは、ADR以外のトレースを使用している場合にも適用できます。

デフォルト

on

onまたはtrue | offまたはfalse

TRACE_TIMESTAMP_SERVER=true

5.4 sqlnet.oraファイルのADR以外の診断パラメータ

この項では、ADRが無効な場合に使用されるsqlnet.oraパラメータについて説明します。

ノート:

DIAG_ADR_ENABLEDのデフォルト値はonです。したがって、ADR以外のトレースを使用するためには、DIAG_ADR_ENABLEDパラメータを明示的にoffに設定する必要があります。

5.4.1 LOG_DIRECTORY_CLIENT

sqlnet.oraファイルのLOG_DIRECTORY_CLIENT非ADR診断パラメータは、クライアント・ログ・ファイルの宛先ディレクトリを指定します。

用途

クライアントのログ・ファイルの宛先ディレクトリを指定します。

使用上のノート

このパラメータは、ADRが有効でない場合に使用します。

デフォルト

ORACLE_HOME/network/log

任意の有効ディレクトリ・パス

LOG_DIRECTORY_CLIENT=/oracle/network/log

5.4.2 LOG_DIRECTORY_SERVER

用途

データベース・サーバーのログ・ファイルの宛先ディレクトリを指定します。

使用上のノート

このパラメータは、ADRが有効でない場合に使用します。

デフォルト

ORACLE_HOME/network/trace

書込み権限を持つディレクトリへの任意の有効なディレクトリ・パス

LOG_DIRECTORY_SERVER=/oracle/network/trace

5.4.3 LOG_FILE_CLIENT

用途

クライアントのログ・ファイル名を指定します。

使用上のノート

このパラメータは、ADRが有効でない場合に使用します。

デフォルト

ORACLE_HOME/network/log/sqlnet.log

デフォルト値は変更できません。

5.4.4 LOG_FILE_SERVER

用途

データベース・サーバーのログ・ファイル名を指定します。

使用上のノート

このパラメータは、ADRが有効でない場合に使用します。

デフォルト

sqlnet.log

書込み権限を持つディレクトリへの任意の有効なディレクトリ・パス

LOG_FILE_SERVER=svr.log

5.4.5 TRACE_DIRECTORY_CLIENT

用途

クライアントのトレース・ファイルの宛先ディレクトリを指定します。

使用上のノート

このパラメータは、ADRが有効でない場合に使用します。

デフォルト

ORACLE_HOME/network/trace

書込み権限を持つディレクトリへの任意の有効なディレクトリ・パス

TRACE_DIRECTORY_CLIENT=/oracle/traces

5.4.6 TRACE_DIRECTORY_SERVER

用途

データベース・サーバーのトレース・ファイルの宛先ディレクトリを指定します。このパラメータは、ADRが有効でない場合に使用します。

デフォルト

 ORACLE_HOME/network/trace

書込み権限を持つディレクトリへの任意の有効なディレクトリ・パス

TRACE_DIRECTORY_SERVER=/oracle/traces

5.4.7 TRACE_FILE_CLIENT

用途

クライアントのトレース・ファイル名を指定します。

使用上のノート

このパラメータは、ADRが有効でない場合に使用します。

デフォルト

ORACLE_HOME/network/trace/cli.trc

任意の有効ファイル名

TRACE_FILE_CLIENT=clientsqlnet.trc

5.4.8 TRACE_FILE_SERVER

用途

データベース・サーバー・トレース出力の出力先ディレクトリを指定します。

使用上のノート

このパラメータは、ADRが有効でない場合に使用します。

デフォルト

ORACLE_HOME/network/trace/svr_pid.trc

任意の有効ファイル名プロセス識別子(pid)が名前に自動的に付加されます。

TRACE_FILE_SERVER=svrsqlnet.trc

5.4.9 TRACE_FILEAGE_CLIENT

用途

クライアント・トレース・ファイルの最大経過期間を分数で指定します。

使用上のノート

保持期間制限に達すると、トレース情報は次のファイルに書き込まれます。ファイルの数は、TRACE_FILENO_CLIENTパラメータで指定します。このパラメータは、ADRが有効でない場合に使用します。

デフォルト

無制限

これはパラメータを0に設定するのと同じです。

例5-8 例

TRACE_FILEAGE_CLIENT=60

5.4.10 TRACE_FILEAGE_SERVER

用途

データベース・サーバー・トレース・ファイルの最大経過期間を分数で指定します。

使用上のノート

保持期間制限に達すると、トレース情報は次のファイルに書き込まれます。ファイルの数は、TRACE_FILENO_SERVERパラメータで指定します。このパラメータは、ADRが有効でない場合に使用します。

デフォルト

無制限

これはパラメータを0に設定するのと同じです。

例5-9 例

TRACE_FILEAGE_SERVER=60

5.4.11 TRACE_FILELEN_CLIENT

用途

クライアントのトレース・ファイルのサイズをキロバイト(KB)で指定します。

使用上のノート

このサイズに達すると、トレース情報は次のファイルに書き込まれます。ファイルの数は、TRACE_FILENO_CLIENTパラメータで指定します。このパラメータは、ADRが有効でない場合に使用します。

TRACE_FILELEN_CLIENT=100

5.4.12 TRACE_FILELEN_SERVER

用途

データベース・サーバーのトレース・ファイルのサイズをキロバイト(KB)で指定します。

使用上のノート

このサイズに達すると、トレース情報は次のファイルに書き込まれます。ファイルの数は、TRACE_FILENO_SERVERパラメータで指定します。このパラメータは、ADRが有効でない場合に使用します。

TRACE_FILELEN_SERVER=100

5.4.13 TRACE_FILENO_CLIENT

用途

クライアント・トレースのためのトレース・ファイルの数を指定します。

使用上のノート

このパラメータがTRACE_FILELEN_CLIENTパラメータとともに設定されている場合、トレース・ファイルは循環方式で使用されます。最初のファイルが満杯になると、2番目のファイルを使用します(その後、同様に続きます)。最後のファイルが満杯になると、最初のファイルが再利用されます(その後、同様に続きます)。

このパラメータがTRACE_FILEAGE_CLIENTパラメータとともに設定されている場合、トレース・ファイルは経過期間に基づいて循環使用されます。最初のファイルが経過期間制限に達するまで使用されてから、2番目のファイルが使用され、その後、同様に続きます。最後のファイルの保持期間制限に達すると、最初のファイルが再利用され、以降、同様に繰り返されます。

このパラメータがTRACE_FILELEN_CLIENTとTRACE_FILEAGE_CLIENTの両方のパラメータとともに設定されている場合、サイズ制限または経過期間制限のいずれかに達したときにトレース・ファイルが循環使用されます。

トレース・ファイル名は、順序番号によって識別されます。たとえば、デフォルトのトレース・ファイルsqlnet.trcが使用されている場合に、このパラメータを3に設定すると、トレース・ファイル名はsqlnet1.trcsqlnet2.trcおよびsqlnet3.trcとなります。

また、トレース・ファイル内のトレース・イベントの前には、そのファイルの順序番号が付きます。このパラメータは、ADRが有効でない場合に使用します。

デフォルト

なし

TRACE_FILENO_CLIENT=3

5.4.14 TRACE_FILENO_SERVER

用途

データベース・サーバー・トレースのためのトレース・ファイルの数を指定します。

使用上のノート

このパラメータがTRACE_FILELEN_SERVERパラメータとともに設定されている場合、トレース・ファイルは循環方式で使用されます。最初のファイルが満杯になると、2番目のファイルを使用します(その後、同様に続きます)。最後のファイルが満杯になると、最初のファイルが再利用されます(その後、同様に続きます)。

このパラメータがTRACE_FILEAGE_SERVERパラメータとともに設定されている場合、トレース・ファイルはトレース・ファイルの経過期間に基づいて循環使用されます。最初のファイルが経過期間制限に達するまで使用されてから、2番目のファイルが使用され、その後、同様に続きます。最後のファイルの保持期間制限に達すると、最初のファイルが再利用され、以降、同様に繰り返されます。

このパラメータがTRACE_FILELEN_SERVERとTRACE_FILEAGE_SERVERの両方のパラメータとともに設定されている場合、サイズ制限または経過期間制限のいずれかに達したときにトレース・ファイルが循環使用されます。

トレース・ファイル名は、順序番号によって識別されます。たとえば、デフォルトのトレース・ファイルsvr_pid.trcを使用し、このパラメータを3に設定すると、トレース・ファイル名はsvr1_pid.trcsvr2_pid.trcおよびsvr3_pid.trcになります。

また、トレース・ファイル内のトレース・イベントの前には、そのファイルの順序番号が付きます。このパラメータは、ADRが有効でない場合に使用します。

デフォルト

なし

TRACE_FILENO_SERVER=3

5.4.15 TRACE_UNIQUE_CLIENT

用途

各クライアント・トレース・セッションに対して一意のトレース・ファイルを作成するかどうかを指定します。

使用上のノート

値をonに設定すると、プロセス識別子が各トレース・ファイルの名前に追加され、複数のファイルの共存が可能になります。たとえば、デフォルトのトレース・ファイル名sqlnet.trcを使用すると、トレース・ファイルsqlnetpid.trcが作成されます。値をoffに設定すると、新規クライアント・トレース・セッションからのデータによって、既存のファイルが上書きされます。このパラメータは、ADRが有効でない場合に使用します。

デフォルト

on

onまたはoff

TRACE_UNIQUE_CLIENT=on