Como siempre, comience conectándose a su servidor donde está alojado Oracle, luego conéctese a Oracle mismo como SYSTEM
cuenta.
El SYSTEM
account es una de las pocas cuentas administrativas predefinidas que se generan automáticamente cuando se instala Oracle. SYSTEM
es capaz de realizar la mayoría de las tareas administrativas, pero la tarea que nos interesa especialmente es la gestión de cuentas.
Creando un Usuario
Una vez conectado como SYSTEM
, simplemente emita el CREATE USER
comando para generar una nueva cuenta.
CREATE USER books_admin IDENTIFIED BY MyPassword;
Aquí simplemente estamos creando un books_admin
cuenta que está IDENTIFIED
o autenticado por la password
especificada .
La declaración de subvención
Con nuestro nuevo books_admin
cuenta creada, ahora podemos comenzar a agregar privilegios a la cuenta usando GRANT
declaración. GRANT
es una declaración muy poderosa con muchas opciones posibles, pero la funcionalidad principal es administrar los privilegios de ambos users
y roles
en toda la base de datos.
Provisión de roles
Por lo general, primero querrá asignar privilegios al usuario adjuntando la cuenta a varios roles, comenzando con CONNECT
rol:
GRANT CONNECT TO books_admin;
En algunos casos, para crear un usuario más poderoso, también puede considerar agregar el RESOURCE
función (que permite al usuario crear tipos con nombre para esquemas personalizados) o incluso el DBA
función, que permite al usuario no solo crear tipos con nombres personalizados, sino también modificarlos y destruirlos.
GRANT CONNECT, RESOURCE, DBA TO books_admin;
Asignación de privilegios
A continuación, querrá asegurarse de que el usuario tenga privilegios para conectarse realmente a la base de datos y crear una sesión usando GRANT CREATE SESSION
. También combinaremos eso con todos los privilegios usando GRANT ANY PRIVILEGE
.
GRANT CREATE SESSION GRANT ANY PRIVILEGE TO books_admin;
También debemos asegurarnos de que nuestro nuevo usuario tenga espacio en disco asignado en el sistema para crear o modificar tablas y datos, por lo que GRANT TABLESPACE
así:
GRANT UNLIMITED TABLESPACE TO books_admin;
Privilegios de mesa
Si bien no suele ser necesario en las versiones más recientes de Oracle, algunas instalaciones anteriores pueden requerir que especifique manualmente los derechos de acceso que tiene el nuevo usuario a un esquema y tablas de base de datos específicos.
Por ejemplo, si queremos que nuestro books_admin
usuario para tener la capacidad de realizar SELECT
, UPDATE
, INSERT
y DELETE
capacidades en los books
tabla, podríamos ejecutar el siguiente GRANT
declaración:
GRANT
SELECT,
INSERT,
UPDATE,
DELETE
ON
schema.books
TO
books_admin;
Esto asegura que books_admin
puede realizar las cuatro declaraciones básicas para los books
tabla que forma parte del schema
esquema.