演習: アップグレードされたパスワード・ファイルでの大/小文字の区別の強制

この演習では、Oracle Database 20cのパスワード・ファイルでパスワードの大/小文字が区別される方法を示します。以前のOracle Databaseリリースのパスワード・ファイルでは、デフォルトで大/小文字を区別しない元のベリファイアが保持されます。パスワード・ファイルの大/小文字の区別を有効または無効にするパラメータIGNORECASEが削除されています。新しいパスワード・ファイル内のすべてのパスワードは大/小文字が区別されます。

  1. 新しい演習を開始する前に、演習の環境の推奨事項を参照してください。
  2. CDB20のパスワード・ファイル形式を表示します。
    $ export ORACLE_BASE=/u01/app/oracle
    $ cd $ORACLE_BASE/dbs
    $ ls -l orapwCDB20
    -rw-r----- 1 oracle oinstall 2048 Mar  5 09:48 orapwCDB20
    $ orapwd describe file=orapwCDB20
    Password file Description : format=12
    $
  3. SYSパスワードを変更し、パスワードの大/小文字が区別されるようになっていることを確認します。
    1. パスワード・ファイルでSYSユーザーのパスワードを変更します。
      $ orapwd file=$ORACLE_BASE/dbs/orapwCDB20 sys=Y force=Y format=12 ignorecase=Y
      Usage 1: orapwd file=<fname> force={y|n} asm={y|n}
                dbuniquename=<dbname> format={12|12.2}
                delete={y|n} input_file=<input-fname>
                'sys={y | password | external(<sys-external-name>)
                      | global(<sys-directory-DN>)}'
                'sysbackup={y | password | external(<sysbackup-external-name>)
                            | global(<sysbackup-directory-DN>)}'
                'sysdg={y | password | external(<sysdg-external-name>)
                        | global(<sysdg-directory-DN>)}'
                'syskm={y | password | external(<syskm-external-name>)
                        | global(<syskm-directory-DN>)}'
      
      Usage 2: orapwd describe file=<fname>
      
        where
          file   - name of password file (required),
          password
                 - password for SYS will be prompted
                   if not specified at command line.
                   Ignored, if input_file is specified,
          force  - whether to overwrite existing file, also clears
                   CRS resource if it already has password file
                   registered (optional),
          asm    - indicates that the ASM instance password file is to
                   be stored in Automatic Storage Management (ASM)
                   disk group (optional),
          dbuniquename
                 - unique database name used to identify database
                   password files residing in ASM diskgroup
                   or Exascale Vault.
                   Ignored when asm option is specified (optional),
          format - use format=12 for new 12c features like SYSBACKUP, SYSDG
                   and SYSKM support, longer identifiers, SHA2 Verifiers etc.
                   use format=12.2 for 12.2 features like enforcing user
                   profile (password limits and password complexity) and
                   account status for administrative users.
                   If not specified, format=12.2 is default (optional),
          delete - drops a password file. Must specify 'asm',
                   'dbuniquename' or 'file'. If 'file' is specified,
                   the file must be located on an ASM diskgroup
                   or Exascale Vault,
          input_file
                 - name of input password file, from where old user
                   entries will be migrated (optional),
          sys    - specifies if SYS user is password, externally or
                   globally authenticated.
                   For external SYS, also specifies external name.
                   For global SYS, also specifies directory DN.
                   SYS={y | password} specifies if SYS user password needs
                   to be changed when used with input_file,
          sysbackup
                 - creates SYSBACKUP entry (optional).
                   Specifies if SYSBACKUP user is password, externally or
                   globally authenticated.
                   For external SYSBACKUP, also specifies external name.
                   For global SYSBACKUP, also specifies directory DN.
                   Ignored, if input_file is specified,
          sysdg  - creates SYSDG entry (optional).
                   Specifies if SYSDG user is password, externally or
                   globally authenticated.
                   For external SYSDG, also specifies external name.
                   For global SYSDG, also specifies directory DN.
                   Ignored, if input_file is specified,
          syskm  - creates SYSKM entry (optional).
                   Specifies if SYSKM user is password, externally or
                   globally authenticated.
                   For external SYSKM, also specifies external name.
                   For global SYSKM, also specifies directory DN.
                  Ignored, if input_file is specified,
          describe
                 - describes the properties of specified password file
                   (required).
      
        There must be no spaces around the equal-to (=) character.
      $

      使用上の注意には、コマンドで使用できるすべての指定可能なパラメータが記載されています。IGNORECASEは非推奨のパラメータとなったため、記載されていません。

    2. 非推奨のパラメータを指定せずにコマンドを再入力します。
      $ orapwd file=$ORACLE_BASE/dbs/orapwCDB20 sys=Y force=Y format=12
      Enter password for SYS: password
      $
    3. SYSとしてCDB20にログオンします。
      $ sqlplus sys@CDB20 AS SYSDBA
      
      SQL*Plus: Release 20.0.0.0.0 - Production on Mon Dec 23 09:44:55 2019
      Version 20.2.0.0.0
      
      Copyright (c) 1982, 2020, Oracle.  All rights reserved.
      
      Enter password: password_with_case-sensitiveness
      
      Connected to:
      Oracle Database 20c Enterprise Edition Release 20.0.0.0.0 - Production
      Version 20.2.0.0.0
      
      SQL> CONNECT sys@CDB20 AS SYSDBA
      
      Enter password: password_without_case-sensitiveness
      ERROR:
      ORA-01017: invalid username/password; logon denied
      
      Warning: You are no longer connected to ORACLE.
      SQL>
    4. ユーザーのリストを表示します。
      SQL> CONNECT sys@CDB20 AS SYSDBA
      Enter password: password_with_case-sensitiveness 
      Connected.
      SQL> SET PAGES 100
      SQL> COL username FORMAT A30
      SQL> SELECT username, password_versions FROM dba_users ORDER BY 2,1;
      
      USERNAME                       PASSWORD_VERSIONS
      ------------------------------ -----------------
      SYS                            11G 12C
      SYSTEM                         11G 12C
      ANONYMOUS
      APPQOSSYS
      AUDSYS
      CTXSYS
      ...
      SQL> EXIT
      $