パスワードの大/小文字の区別およびORA-1017無効なユーザー名またはパスワード

Oracle Database 12cリリース2 (12.2)のデフォルトの認証プロトコルは12 (排他モード)です。このプロトコルでは認証に大/小文字のパスワードが必要です。以前のリリースのパスワード・バージョンがある場合は、オプションを確認してください。

Oracle Database 12cリリース2 (12.2)以降、SQLNET.ORAパラメータALLOWED_LOGON_VERSION_SERVERのデフォルト値は12に変更されました。このパラメータはOracle Databaseリリースにではなく、サーバーに使用されるログオン認証プロトコルのことです。

デフォルトで、Oracleでは大/小文字を区別しないパスワードに基づく認証はもうサポートせず、新しいパスワード・バージョン(11Gおよび12C)のみ使用できます。大/小文字を区別しない10Gのパスワード・バージョンはもう生成されません。

次の条件が当てはまる場合は、12.2へのアップグレード後にデータベースにログインできないアカウントがある可能性があります。

  • 以前のOracle Databaseリリースで作成されたユーザー・アカウントがあるサーバーをアップグレードしている。

  • 以前のリリースで作成されたユーザー・アカウントでは、以前のリリースの認証プロトコルの大/小文字を区別しないパスワード・バージョン(10Gパスワード・バージョンなど)を使用している。

  • 以前のリリースのユーザー・アカウントでパスワードを再設定していない。

  • サーバーは、SEC_CASE_SENSITIVE_LOGONをFALSEに設定して構成されているため、10Gの大/小文字の区別のないパスワード・バージョンを持つユーザーだけを認証できる。

10Gパスワード・バージョンが必要なアカウントがある場合は、そのパスワードを使用しているアカウントがデータベースでロックされないように、排他モードではなく、より許容度の高い認証プロトコルに変更できます。

注意:

排他モードで実行している間は、大/小文字を区別しないパスワードに基づく認証はサポートされません。Oracle Database 12cリリース2 (12.2)のデフォルトの認証プロトコルは排他モードです。Oracleでは次の条件付きでのみ、大/小文字の区別のない認証をサポートしています。

  • サーバーが排他モード以外のモードで実行されている

  • 10Gパスワード・バージョンがある

10Gパスワード・バージョンのみを使用したアカウントがあるサーバーのオプション

10Gパスワード・バージョンを使用したアカウントを有効にするには、Oracle Database 12cリリース2 (12.2)にアップグレードした後で次の手順を実行します。

  1. 管理者としてログインします。

  2. SQLNET.ORAファイルを編集して、SQLNET.ALLOWED_LOGON_VERSION_SERVER設定をデフォルトの12から、11以下に変更します。次に例を示します。

    SQLNET.ALLOWED_LOGON_VERSION_SERVER=11

より許容度の高いSQLNET.ALLOWED_LOGON_VERSION_SERVER設定に変更したら、ユーザーがパスワードを変更する必要が発生するように、そうしたユーザーのパスワードを期限切れにします。詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。