[ 2015-02-09 ]

Oracle Multitenant Database Users

Oracle Multitenant, una opción de Oracle Database 12c, incluye tanto usuarios "common" como "local". Un usuario "common"  se crea en la base de datos "container" (CDB) y tiene el mismo nombre de usuario y contraseña en todas las PDB(pluggable databases) que forman parte de esa CDB.  
Los usuario "common" pueden tener privilegios que se otorgan a nivel de contenedor y otros privilegios que se conceden en cada una de las bases "pluggable". Los privilegios pueden ser diferentes en cada una de las PDB, pero el usuario no necesita ser creado de manera individual en cada una de ellas.
Para crear un "common user" para la CDB y todas las PDB, iniciamos sesión en la base de datos contenedor como SYSTEM y creamos un usuario con CONTAINER = ALL.
Debemos tener en cuenta que todos los nombres de usuario "common" tienen que comenzar con el prefijo C##.

SQLPLUS> CONNECT SYSTEM@root
Enter password: **********
Connected.
SQLPLUS> CREATE USER C##DB_ADMIN
IDENTIFIED BY IronMan4
CONTAINER = ALL;


Un usuario "local", por el contrario, se crea en la base de datos PDB y no tiene acceso al contenedor. Esto es bueno para el DBA que gestiona un PDB pero no administra el sistema en general. 
Para crear un usuario local, nos conectamos a la PDB como SYSTEM, creamos el usuario y "granteamos" los roles y privilegios necesarios.
Como lo hicimos antes, pero especificando en este caso CONTAINER = CURRENT en lugar de CONTAINER = ALL.

SQLPLUS> CONNECT SYSTEM@pdb1
Enter password: *********
Connected.
SQLPLUS> CREATE USER pdb1_admin
IDENTIFIED BY SpiderMan3
CONTAINER = CURRENT;

Fuente:
Securing Oracle Database 12c, A Technical Primer (eBook)

No hay comentarios:

Publicar un comentario