sql >> Base de Datos >  >> RDS >> Oracle

Usuario común con privilegio SYSBACKUP

Con el cambio de arquitectura en Oracle Database 12c, surgió la necesidad de un USUARIO/ESQUEMA que tenga acceso tanto a la base de datos del contenedor (CDB) como a la base de datos conectable (PDB). Con el lanzamiento de Oracle Database 12c, Oracle introdujo un nuevo concepto denominado "usuario común “.

Cada usuario común puede conectarse y realizar operaciones dentro del contenedor raíz y dentro de cualquier PDB donde tenga privilegios. Aprendamos cómo crear un usuario común. Y, cómo asignar SYSBACKUP privilegio para ello.

Asignando SYSBACKUP privilegio a un USUARIO COMÚN puede tener un esquema dedicado para realizar operaciones de copia de seguridad y recuperación en su base de datos Oracle.

Características del Usuario Común

Estas son algunas características de un usuario común de Oracle Database

  1. Un usuario común puede iniciar sesión en cualquier contenedor (incluido CDB$ROOT) en el que tenga el privilegio CREAR SESIÓN.
  2. El nombre de cada usuario común creado por el usuario debe comenzar con los caracteres c## o C##.
  3. Los nombres de los usuarios comunes deben contener solo caracteres ASCII o EBCDIC.
  4. Cada usuario común tiene un nombre único en todos los contenedores.
  5. Los esquemas para un usuario común pueden diferir en cada contenedor.

Ahora vamos a crear un usuario común para realizar la copia de seguridad y la recuperación de la base de datos Oracle mediante Recovery Manager (RMAN).

¿Cómo crear un usuario común?

La creación de un usuario común para la copia de seguridad y la recuperación en Oracle Database es un proceso muy simple de 2 pasos. En el paso 1 creamos un usuario común y en el paso 2 le otorgamos los privilegios necesarios.

Comencemos con el paso número 1

Paso 1:Crear el usuario común

Para crear el usuario, usaremos el comando DDL "Crear usuario" como este –

C:/> SQLPLUS / as sysdba

primero conéctese con la base de datos de su contenedor raíz utilizando el usuario SYS. Ahora, borre rápidamente la pantalla y verifique el usuario y el contenedor.

SQL> cl scr

pantalla clara.

SQL> SHOW user;

Estamos conectados con la base de datos utilizando el usuario sys.

SQL> SHOW con_name

y también estamos conectados con el contenedor raíz. A continuación, no crearemos una cuenta de usuario normal, sino que crearemos un usuario común

SQL> CREATE USER c##BackupAdmin 
     IDENTIFIED BY pass101
     DEFAULT TABLESPACE users 
     QUOTA 10M ON users 
     TEMPORARY TABLESPACE temp
     ACCOUNT UNLOCK;

En la ejecución exitosa de la instrucción DDL CREATE USER anterior, tendrá su usuario común con el nombre c##BackupAdmin creado.

Para comprender mejor esta declaración CREATE USER, puede consultar mi tutorial sobre CREATE USER DDL:simplemente haga clic aquí.

Paso 2:otorgar privilegios

Antes de Oracle 12c, solo teníamos un privilegio que podíamos asignar al usuario para las operaciones de copia de seguridad y recuperación, que era SYSDBA .

Dado que SYSDBA es un privilegio administrativo de base de datos con pleno poder, no es una buena idea asignarlo al azar a cualquier usuario. Podría conducir a eventos catastróficos.

Teniendo en cuenta este problema, Oracle introdujo un nuevo privilegio con el lanzamiento de Oracle Database 12c. Y eso fue SYSBACKUP .

SYSBACKUP privilegio tenía todos los privilegios necesarios que se requerían para realizar copias de seguridad y recuperación de la base de datos de Oracle. Y estos privilegios también resultaron ser un subconjunto de SYSDBA privilegios.

Eso significaba que el usuario que tiene SYSBACKUP privilegio tenía todo el poder para realizar copias de seguridad y recuperación, pero no los privilegios que podrían convertirlo en una amenaza potencial para la base de datos.

Ahora aprendamos cómo asignar SYSBACKUP privilegio para el usuario de la base de datos común que acabamos de crear.

Asignando SYSBACKUP privilegio para un usuario en Oracle Database solo necesita una declaración simple. Así –

SQL> GRANT SYSBACKUP TO c##BackupAdmin; 

Eso es todo lo que tienes que hacer –

En caso de querer revocar SYSBACKUP privilegio del usuario, entonces puede emitir una declaración REVOKE DCL como esta –

SQL> REVOKE sysbackup FROM c##BackupAdmin; 

SYSBACKUP revocado con éxito.

Así creamos un Usuario Común y asigne SYSBACKUP privilegio para ello. Puedes ver esta demostración en vivo en mi video de YouTube. Y, para obtener más tutoriales informativos de este tipo, suscríbase a mi canal de YouTube.

¡Gracias y que tengas un gran día!