sql >> Base de Datos >  >> RDS >> Database

Error ORA-65048 al cambiar la contraseña de usuario en la base de datos del contenedor (CDB)

Al intentar cambiar la contraseña de un usuario terminó con el error ORA-65048. Esta es una instancia 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

El PDB HPDBSERV se creó sin el espacio de tabla USERS, lo que impide que el PDB se sincronice con el contenedor principal. El pdb_plug_in_violations contenía el siguiente mensaje:


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

He solucionado el problema utilizando la siguiente solución:

1. Conéctese al contenedor al que le falta el tablespace:


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

SQL> show con_name

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

2. Cree el espacio de tabla que falta:


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

3. Cierre y vuelva a abrir la base de datos conectable:


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

SQL> alter pluggable database HPDBSERV open read write;

Pluggable database altered.

4. Cambiar la contraseña de usuario:


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

User altered.