Database
 sql >> Database >  >> RDS >> Database

Errore ORA-65048 durante la modifica della password utente nel database del contenitore (CDB)

Quando si tenta di modificare la password per un utente si è verificato l'errore ORA-65048. Questa è un'istanza 12R1:


$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Thu Jun 19 07:15:51 2020

Copyright (c) 1982, 2014, Oracle. All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Advanced Analytics and Real Application Testing options

SQL> alter user "C##USRMASTER" identified by values password container=all;

ERROR at line 1:
ORA-65048: error encountered when processing the current DDL statement in pluggable database HPDBSERV
ORA-01918: user 'C##USRMASTER' does not exist

Il PDB HPDBSERV è stato creato senza lo spazio tabella USERS che impedisce la sincronizzazione del PDB con il contenitore padre. Il pdb_plug_in_violations conteneva il seguente messaggio:


'CREATE USER C##USRMASTER
IDENTIFIED BY * DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
PROFILE DEFAULT
ACCOUNT UNLOCK container = all'

Ho risolto il problema utilizzando la seguente soluzione:

1. Connettiti al container con il tablespace mancante:


SQL> alter session set container=HPDBSERV;
Session altered.

SQL> show con_name

CON_NAME
------------------------------
HPDBSERV

2. Crea il tablespace mancante:


SQL> create tablespace USERS datafile size 8M autoextend on next 2M maxsize 3G;
Tablespace created.

3. Chiudere e riaprire il database collegabile:


SQL> alter pluggable database HPDBSERV close;
Pluggable database altered.

SQL> alter pluggable database HPDBSERV open read write;

Pluggable database altered.

4. Modificare la password utente:


SQL> alter user "C##USRMASTER" identified by values password container=all;

User altered.