Lorsque vous essayez de modifier le mot de passe d'un utilisateur, vous obtenez l'erreur ORA-65048. Ceci est une instance 12R1 :
$ sqlplus / as sysdbaSQL*Plus :Version 12.1.0.2.0 Production le jeudi 19 juin 07:15:51 2020Copyright (c) 1982, 2014, Oracle. Tous droits réservés.Connecté à :Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - Production 64 bitsAvec les options Partitionnement, Real Application Clusters, Automatic Storage Management, OLAP,Advanced Analytics et Real Application TestingSQL> modifier l'utilisateur "C##USRMASTER" identifié par valeurs password container=all;ERROR at line 1:ORA-65048 :erreur rencontrée lors du traitement de l'instruction DDL actuelle dans la base de données enfichable HPDBSERVORA-01918 :l'utilisateur 'C##USRMASTER' n'existe pas
La PDB HPDBSERV a été créée sans le tablespace USERS qui empêche la PDB d'être synchronisée avec le conteneur parent. Le pdb_plug_in_violations contenait le message suivant :
'CREATE USER C##USRMASTERIDENTIFIED BY * DEFAULT TABLESPACE USERSTEMPORARY TABLESPACE TEMPPROFILE DEFAULTACCOUNT UNLOCK container =all'
J'ai résolu le problème en utilisant la solution suivante :
1. Connectez-vous au conteneur avec le tablespace manquant :
SQL> alter session set container=HPDBSERV;Session modified.SQL> show con_nameCON_NAME------------------------------HPDBSERV
2. Créez le tablespace manquant :
SQL> créer un tablespace USERS datafile size 8M autoextend sur les 2M suivants maxsize 3G ; Tablespace créé.
3. Fermez et rouvrez la base de données enfichable :
SQL> modifier la base de données enfichable HPDBSERV fermer;Base de données enfichable modifiée.SQL> modifier la base de données enfichable HPDBSERV ouvrir lire écrire;Base de données enfichable modifiée.
4. Modifiez le mot de passe utilisateur :
SQL> modifier l'utilisateur "C##USRMASTER" identifié par les valeurs password container=all;User modified.