En dehors de l’annonce de Flex ASM, ASM évolue peu dans Oracle 12c. La plus intéressante des améliorations pour les administrateurs de bases de données en cluster est l’introduction de la gestion des “Password Files” dans ASM. C’est l’objet de ce posting.

Rappel

Tout d’abord, un retour sur l’utilité du Password File et des éléments de configuration: Orapwd est l’outil pour créer un fichier de mots de passe pour authentifier les utilisateurs Oracle à qui l’on veut octroyer des droits de haut niveau comme sysdba et des possibilités de connexion à distance.

La condition étant qu’une fois ce fichier orapwdcrée et posé dans le répertoire $ORACLE_HOME/dbs, le paramètre d’instance  REMOTE_PASSWORD_FILE doit être mis sur EXCLUSIVE ou SHARED.

Il est alors possible de se connecter à distance. La modification du mot de passe dans le fichier est assuré par l’instance elle même lors de la commande alter user est executée pour le modifier. Cela à des conséquences dans le cas d’une installation en cluster.

Nous allons donc voir comment, avec la version Oracle 12c, il est possible de partager le Password File d’une instance en le créant dans ASM et comment les nouvelles commandes d’ASM relatives à la gestion de ce mot de passe vont être utilisables.

Démonstration

Connexion à distance:

Sur le host où se trouve la base, nous vérifions la présence du fichier orapwSOUK dans le répertoire ORACLE_HOME/dbs de l’instance:

oracle@vmtestoel01:/u00/app/oracle/product/12.1.0/db_1_0/dbs/ [SOUK]ls -la orapw*
 -rw-r----- 1 oracle oinstall 2560 Jul 31 13:46 orapwSOUK
sur la machine distante une connexion fonctionne.
 oracle@vmtestoradg1:/home/oracle/ [DBITEST] sqlplus /nolog
SQL*Plus: Release 11.2.0.3.0 Production on Fri Sep 21 10:29:47 2012 Copyright (c) 1982, 2010, Oracle. All rights reserved.
> connect sys/xxxxxmanager@SOUK as sysdba
 Connected.
SYS> exit
oracle@vmtestoradg1:/home/oracle/ [DBITEST]

La suppression du fichier orapwSOUK entraîne l’impossibilité de ce connecter.

oracle@vmtestoradg1:/home/oracle/ [DBITEST] sqlplus /nolog
SQL*Plus: Release 11.2.0.3.0 Production on Fri Sep 21 10:34:10 2012 Copyright (c) 1982, 2010, Oracle. All rights reserved.
> connect sys/xxxxxmanager@SOUK as sysdba
ERROR: ORA-01031: insufficient privileges

Création d’un fichier password dans ASM:

N’ayant plus de fichier password dans le répertoire $ORACLE_HOME/dbs, nous allons utiliser la commande orapwd pour en créer un nouveau dans ASM:

/u00/app/oracle/product/12.1.0/db_1_0/dbs/ [SOUK] orapwd FILE='+DATA' ENTRIES=10 DBUNIQUENAME='SOUK'
 Enter password for SYS:

Cette action à pour conséquence immédiate :

  1. La creation d’un fichier dans ASM
  2. L’enregistrement au niveau de la resource database de l’accés à ce fichier
  3. la réactivation de la possibilité de se connecter

Nous pouvons vérifier ces trois conséquences par les commandes suivantes.

  • La première nous retourne où a été créé le fichier:
ASMCMD> pwget --dbuniquename SOUK
+DATA/SOUK/PASSWORD/pwdsouk.275.794572995
  • La deuxième commande vérifie l’enregistrement au niveau de la resource:
grid@vmtestoel01:/home/grid/pwdfile/ [+ASM] crsctl status res ora.souk.db -p | grep PWFILE
PWFILE=+DATA/SOUK/PASSWORD/pwdsouk.275.794572995
  • La troisieme commande démontre que la connexion à distance est de nouveau active:
oracle@vmtestoradg1:/home/oracle/ [DBITEST] sqlplus /nolog
 SQL*Plus: Release 11.2.0.3.0 Production on Fri Sep 21 10:43:58 2012 Copyright (c) 1982, 2010, Oracle. All rights reserved.
> connect sys/xxxxxmanager@SOUK as sysdba
Connected.

Parmi les commandes relatives au Password File dans ASM, la commande pwcopy permet de transférer le Password File dans ASM ou vers l’OS:

ASMCMD> pwcopy --dbuniquename SOUK +DATA/SOUK/PASSWORD/pwdsouk.275.794572995 /home/grid/pwdfile/soukpwd
 copying +DATA/SOUK/PASSWORD/pwdsouk.275.794572995 -> /home/grid/pwdfile/soukpwd

Conclusion

Cette nouvelle fonctionnalité de gestion des Password Files dans ASM sera grandement appréciée des administrateurs de bases de données en cluster, car elle évite quelques incidents lors de la mise à jour des mots de passe du user “sys”.
Au passage, on notera que le nombre d’attributs gérés a doublé: En plus de SYSDBA, SYSOPER et SYSASM, nous avons maintenant SYSBACKUP, SYSDG et SYSKM.