Lo que hace tener una cierta seguridad en nuestros datos es la utilización de usuarios.
Estos usuarios son nombres que definimos y a los cuales damos una contraseña para acceder a la base de datos.
En Oracle cada usuario esta asignado a un esquema. Siendo un esquema una colección lógica de objetos. Por defecto un usuario tiene acceso a todos los objectos de su esquema y podría acceder a los objetos de otros esquemas como los permisos necesarios.
Cuando instanciamos Oracle se crean por defecto dos usuarios importantes:
create user nombre_usuario
identified by contraseñas
[default tablespace nombre_tablespace]
[temporary tablespace nombre_tablespace]
[quota {entero {K|M} | unlimited} on nombre_tablespace]
[profile nombre_perfil];
Oracle ofrece varios roles o funciones ya creadas que ofrecen ciertos privilegios. Esos roles son los siguientes:
grant {privilegio_objeto[,privilegio_objeto]...| all [privileges]}
[(columna [,columna]...)]
on [usuario.]objeto}
to {usuario|rol| public [,{usuario|rol|public} ...]
[with grant option];
Mientras que la sentencia para crear privilegios de sistema es la siguiente:
grant {privilegio|rol} [,privilegio|rol}, ....]
to {usuario|rol| public [,{usuario|rol|public} ...]
[with admin option];
En ambos caso se utiliza la sentencia revoke para suprimir privilegios, cambiando la sintaxis.
Para los privilegios de sistema:
revoke {privilegio|rol} [,privilegio|rol}] ...
from {usuario|rol|public} [,usuario|rol|public}] ...;
para los privilegios de objetos:
revoke {privilegio[,privilegio] ... | all [privileges]}
on [usuario.]objeto
from {usuario|rol|public}[ ,{usuario|rol|public}]...;
Con esto podríamos empezar a gestionar una base de datos, siempre y cuando tengamos algunos conocimientos de pl/sql. Esto lo veremos en sucesivos artículos que iremos publicando.