対応バージョン

Oracle Database 11.1 – 12.1

更新履歴

更新概要
2014/12/11記事公開

10g以前のバージョンではパスワードのアルファベット大文字と小文字が区別されず、11gからSEC_CASE_SENSITIVE_LOGON初期化パラメータにより、大文字と小文字が区別されるようになりました。
Oracle Database 12cR1からはSEC_CASE_SENSITIVE_LOGON初期化パラメータが非推奨となっています。

パラメータ説明

初期化パラメータ: SEC_CASE_SENSITIVE_LOGON

項目
パラメータ・タイプ文字列
構文SEC_CASE_SENSITIVE_LOGON = { true , false }
デフォルト値true
Oracle RAC 適用複数インスタンスには、異なる値を指定可能。 ※接続するインスタンスによりポリシーが変わってしまう為、一致させることを推奨します。
オンライン変更

パラメータ値の説明

  • true データベースのログオン・パスワードで大文字と小文字が区別されます。
  • false データベースのログオン・パスワードで大文字と小文字が区別されません。

変更手順

以下ではtrueからfalseへ変更することで、アルファベットの大小区別を無効にしています。
SQL*Plusにログイン後、以下のコマンドを実行します。

$ sqlplus / as sysdba
SQL> -- 以下にて使用しているspfileのパスが出力される場合はSPFILEを使用しています。
SQL> show parameter spfile
SQL>
SQL> set line 120 pages 1000 trim on
SQL> col name for a30
SQL> col value for a20
SQL> col sid for a10
SQL> -- 現在値の確認
SQL> select INST_ID, NAME, VALUE from gv$parameter where name in ('sec_case_sensitive_logon');
SQL> -- SPFILEの内容の確認
SQL> select SID, NAME, VALUE from gv$spparameter where name in ('sec_case_sensitive_logon');
SQL> -- 値の変更
SQL> ALTER SYSTEM SET sec_case_sensitive_logon = false SCOPE=BOTH;
SQL> -- 変更値の確認
SQL> select INST_ID, NAME, VALUE from gv$parameter where name in ('sec_case_sensitive_logon');
SQL> -- SPFILEの内容の確認
SQL> select SID, NAME, VALUE from gv$spparameter where name in ('sec_case_sensitive_logon');

パラメータを変更後、各ユーザに対して即座にパスワード管理方法が変更されるわけではありません。パラメータを変更した後に、各ユーザのパスワードを変更すると新しいパスワードポリシーが適用されます。