3.3. Privilegios de usuarios

Una vez creados los usuarios será necesario dotarlos de privilegios para que puedan realizar operaciones especéficas en la base de datos. Estos privilegios suelen clasificarse en:

Para otorgar privilegios utilizamos la sentencia GRANT, para quitar un privilegio o permiso a un usuario utilizamos la sentencia REVOKE

Para conocer los privilegios y su sintaxis es necesario consultar los manuales de referencia de su SGBD. En el caso de Oracle usaremos la vista SYSTEM_PRIVILEGE_MAP

SELECT * FROM SYSTEM_PRIVILEGE_MAP

Comando GRANT

Se utiliza para crear usuarios y concederle previlegios. La sintaxis general del comando GRANT es la siguiente:

GRANT privilegios (columnas) ON elemento
 TO nombre_usuario IDENTIFIED BY 'contraseña'
    (with grant option);

Lo que esta dentro de los parentisis son opcionales, y los parentisis no hay que ponerlos.

GRANT ALL ON * TO super IDENTIFIED BY 'algo'
    WITH GRANT OPTION;

Ejemplo: Creamos desde la consola un usuario llamado alumno. Use la cuenta SYSTEM.

Ahora si nos tratamos de conectar con este usuario. Ocurre un error, debido a que no tenemos el privilegio

Ahora otorgaremos el privilegio de conexión

Entre todos los privilegios de sistema que existen, hay dos que son los importantes: SYSDBA y SYSOPER. Estos son dados a otros usuarios que serán administradores de base de datos.

Ejemplo: Asignar los privilegios de SYSBA a el usuario alumno. Desde la consola.

Verificamos que todo marche bien

Ahora nos conectamos con la cuenta alumno como SYSDBA

En resumen

SYSDBA y SYSOPER son privilegios administrativos necesarios para llevar a cabo las operaciones administrativas de alto nivel tales como la creación, puesta en marcha, el cierre, la copia de seguridad, o la recuperación de la base de datos. El sistema de privilegios SYSDBA es para los administradores de bases de datos totalmente habilitadas y el privilegio del sistema SYSOPER permite a un usuario realizar tareas operativas básicas, pero sin la capacidad de mirar a los datos del usuario.

Los privilegios del sistema SYSDBA y SYSOPER permiten el acceso a una instancia de base, incluso cuando la base de datos no está abierto. por lo tanto, el control de estos privilegios está completamente fuera de la base de datos en sí. Este control permite a un administrador que se concede uno de estos privilegios para conectarse a la base de datos de ejemplo para iniciar la base de datos.

También se puede pensar de los privilegios de SYSDBA y SYSOPER como los tipos de conexiones que le permiten realizar ciertas operaciones de base de datos para los que los privilegios no se pueden conceder de ninguna otra manera. Por ejemplo, si usted tiene el privilegio SYSDBA, a continuación, puede conectarse a la base de datos utilizando como SYSDBA.

CONNECT alumno/key AS SYSDBA

El usuario SYS se concede automáticamente el privilegio SYSDBA momento de la instalación. Al iniciar la sesión como usuario SYS, debe conectarse a la base de datos como SYSDBA o SYSOPER. Conexión como usuario SYSDBA invoca el privilegio SYSDBA; conectar como SYSOPER invoca el privilegio SYSOPER. EM Express le permite entrar como usuario SYS y conectar como SYSDBA o SYSOPER.

Cuando se conecta con el privilegio SYSDBA o SYSOPER, se conecta con un esquema predeterminado, no con el esquema que se asocia generalmente con el nombre de usuario. Para SYSDBA este esquema es SYS; para SYSOPER el esquema es PUBLIC