oracle database 12c: privilegios, usuarios y roles
TRANSCRIPT
Oracle Database 12c: Usuarios, Roles y Privilegios
Deiby GómezOracle Linux Certified Implementation Specialist.Oracle Database 11g Administrator Certified Professional.Oracle Database 12c Administrator Certified Professional.Oracle Service Oriented Architecture Infrastructure Implementation Certified Expert.Oracle Exadata Database Machine X3 AdministratorOracle RAC 11g and Grid Infrastructure Administrator
@hdeibywww.oraclefromguatemala.com.gt
Arquitectura de Oracle Database 12c
Container Database (CDB)
Pluggable Database (PDB)
Arquitectura de Oracle Database 12c
Arquitectura de Oracle Database 12c
¿En dónde se crean los usuarios?
¿En dónde se crean los privilegios?
¿En dónde se crean los roles?
Una vez creados, ¿Cómo funcionan?
Arquitectura de Oracle Database 12c
Metadatos de Oracle…
… mezclados con los metadatos del usuario.
Arquitectura de Oracle Database 12c
Cada PDB tiene su propio diccionario de Datos
Arquitectura de Oracle Database 12c
Común y Local
CDB y PDB
Oracle Database 12c: Común y Local
Común
Local
Usuarios ComunesRoles ComunesPrivilegios asignados comúnmente
Usuarios LocalesRoles LocalesPrivilegios asignados localmente
Nota: Roles comunes pueden contener privilegios locales y comunes
Oracle Database 12c: Común y Local
Privilegio cedido comúnmente
Privilegio cedido localmente
Privilegio cedido localmente
Oracle Database 12c: Común y Local
Oracle Database 12c: Común y Local
_common_user_prefix http://www.oraclefromguatemala.com.gt/?p=388
Común
Usuarios ComunesRoles Comunes
Privilegios asignados comúnmente
C##<nombre>c##<nombre>CONTAINER=ALL
CONTAINER=ALL
LocalUsuarios LocalesRoles LocalesPrivilegios asignados comúnmente
CONTAINER=CURRENT
Usuario y RolesCOMMON | LOCAL
PDB | CDB$ROOT
CONTAINER=ALL | CURRENT | NULL
Oracle Database 12c: Común y Local
Toda operación de tipo común debe realizarse en el CDB$ROOT, utilizando la cláusula CONTAINER=ALL y con un usuario Común
Toda operación de tipo local debe realizarse en la PDB y utilizando la cláusula CONTAINER=CURRENT
12
Sin clausula CONTAINERSi la operación se realiza en:
• PDB: será operación LOCAL• CDB$ROOT: será operación COMUN
3
Creación y Eliminación de Usuarios y Roles
Oracle Database 12c: Común y Local
Bug Drop User - 1619287.1 http://www.oraclefromguatemala.com.gt/?p=384
Escenarios - Creación y Eliminación de Usuarios
Oracle Database 12c: Común y Local
Bug Drop User - 1619287.1 http://www.oraclefromguatemala.com.gt/?p=384
Arquitectura de Oracle Database 12c
Toda operación de tipo común debe realizarse en el CDB$ROOT, utilizando la cláusula CONTAINER=ALL y con un usuario común
Toda operación de tipo local debe realizarse en la PDB y utilizando la cláusula CONTAINER=CURRENT
12
Sin clausula CONTAINERSi la operación se realiza en:
• PDB: será operación LOCAL• CDB$ROOT: será operación LOCAL
3
Manejo de Privilegios
Usuario y RoleCOMMON | LOCAL
PDB | CDB$ROOT
CONTAINER=ALL | CURRENT | NULL
Oracle Database 12c: Común y Local
Usuario y RoleCOMMON | LOCAL
PDB | CDB$ROOT
CONTAINER=ALL | CURRENT | NULL
Oracle Database 12c: Común y Local
Oracle Database 12c: Común y Local
Privilegio cedido conCOMMON | LOCAL
PDB | CDB$ROOT
CONTAINER=ALL | CURRENT | NULL
Conclusiones
La clausula CONTAINER es opcional, domina el contenedor donde se realice la operación.
Operaciones en una PDB son realizadas como normalmente se hacían en <12
12
Trabajando con privilegios, la clausula CONTAINER tiene mucha importancia.
3Trabajando usuarios/roles la clausula el contenedor tiene mucha importancia y la clausula CONTAINER no.4
¿Es una operación común? Si ->CDB$ROOTNo->PDB
5
@hdeibywww.oraclefromguatemala.com.gt
Deiby Gómez