対応バージョン
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');
パラメータを変更後、各ユーザに対して即座にパスワード管理方法が変更されるわけではありません。パラメータを変更した後に、各ユーザのパスワードを変更すると新しいパスワードポリシーが適用されます。
