manejo de administrador en oracle

7
MANEJO DE ADMINISTRADOR EN ORACLE Un nombre de usuario que no pase de 30 caracteres, que no tenga caracteres especiales y que inicie con una letra. Un método de autentificación, el más común es un password pero Oracle 10G soporta otros métodos como biometric, certificado y autentificacion por medio de token. Un tablespace de default, el cuál es donde el usuario va a poder crear sus objetos por default. Ojo, no porque tenga un tablespace de default va a significar que puede crear objetos, o una quota de espacio. Estos permisos se asignan de forma separada. Un tablespace temporal, donde el usuario pueda crear sus objetos temporales y hacer ordenamientos. Un porfile de usuario, que son las restricciones que puede tener su cuenta. CREATE USER marco IDENTIFIED BY marcopwd DEFAULT TABLESPACE usuarios; Si no se escibe el tablespace de defaul, el usuario tomaria el que esta definido en la base de datos. Ahora para cambiar el tablespace de default se puede ejecutar el siguiente comando. ALTER DATABASE DEFAULT TABLESPACE users; Si quisieramos cambiar el tablespace de default de un usuario se hace de la siguiente manera. ALTER USER marco DEFAULT TABLESPACE users; Asi como el tablespace de default, también se les asigna a los usuario un tablespace temporal donde se alamacenan operaciones de

Upload: laura-castro

Post on 29-Jun-2015

194 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MANEJO DE ADMINISTRADOR EN ORACLE

MANEJO DE ADMINISTRADOR EN ORACLE

Un nombre de usuario que no pase de 30 caracteres, que no tenga

caracteres especiales y que inicie con una letra.

Un método de autentificación, el más común es un password pero Oracle

10G soporta otros métodos como biometric, certificado y autentificacion por

medio de token.

Un tablespace de default, el cuál es donde el usuario va a poder crear sus

objetos por default. Ojo, no porque tenga un tablespace de default va a

significar que puede crear objetos, o una quota de espacio. Estos permisos

se asignan de forma separada.

Un tablespace temporal, donde el usuario pueda crear sus objetos

temporales y hacer ordenamientos.

Un porfile de usuario, que son las restricciones que puede tener su cuenta.

CREATE USER marco IDENTIFIED BY marcopwd

DEFAULT TABLESPACE usuarios;

Si no se escibe el tablespace de defaul, el usuario tomaria el que esta

definido en la base de datos. Ahora para cambiar el tablespace de default se

puede ejecutar el siguiente comando.

ALTER DATABASE DEFAULT TABLESPACE users;

Si quisieramos cambiar el tablespace de default de un usuario se hace de la

siguiente manera.

ALTER USER marco DEFAULT TABLESPACE users;

Asi como el tablespace de default, también se les asigna a los usuario un

tablespace temporal donde se alamacenan operaciones de ordenamiento

como ORDER BY,GROUP BY,SELECT DISTINCT,MERGE JOIN, o CREATE INDEX.

Y también es utilizado cuando se crean tablas temporales.

CREATE USER marco IDENTIFIED BY marcopwd

DEFAULT TABLESPACE usuarios

TEMPORARY TABLESPACE temp;

Page 2: MANEJO DE ADMINISTRADOR EN ORACLE

Para modificar un usuario y asignar un tablespace temporal

ALTER USER marco TEMPORARY TABLESPACE temp;

Para cambiar el tablespace temporal

ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;

Adicionalmente al tablespace de default y el temporal, cada usuario es

asignado a un profile, que tiene dos propositos principalmente, limita el uso

de recursos y refuerza la reglas de seguridad.

CREATE USER marco IDENTIFIED BY marcopwd

DEFAULT TABLESPACE usuarios

TEMPORARY TABLESPACE temp

PROFILE resource_profile;

ALTER USER marco

PROFILE resource_profile;

Eliminando un usuario de la Base de Datos

Para eliminar un usuario de la base de datos se hace uso de la clausula

DROP USER y opcionalmente se puede utilizar CASCADE, para decirle que

también elimine todos los objetos del usuario.

DROP USER marco CASCADE;

Privilegios

Existen en Oracle dos tipos de privilegios de usuario:

System: Que permiten al usuario hacer ciertas tareas sobre la base de datos,

como por ejemplo crear un tablespace. Estos permisos son otorgados por el

administrador o por alguien que haya recibido el permiso para administrar

Page 3: MANEJO DE ADMINISTRADOR EN ORACLE

ese tipo de privilegio. Existen como 100 tipos distintos de privilegios de este

tipo.

En general los permisos de sistema, permiten ejecutar comandos del tipo

DDL (Data definition Language), como CREATE, ALTER y DROP o del tipo DML

(Data Manipulation Language). Oracle 10G tiene m{as de 170 privilegios de

sistema los cuales pueden ser vistos mediante la vista

SYSTEM_PRIVILEGE_MAP

Entre todos los privilegios de sistema que existen, hay dos que son los más

fuertes: SYSDBA y SYSOPER. Estos practicamente son dados a los

administradores de base de datos.

Para otorgar estos permisos se hace de la siguiente manera

GRANT create user, alter user, drop user TO marco_dba;

Object: Este tipo de permiso le permite al usuario hacer cierta accion en un

objeto de la base de datos, como puede ser una tabla, vista, funcion etc. Si a

un usuario no se le dan estos permisos solo podrias acceder a sus propios

objetos. Y este tipos de permisos los da el dueño del objeto, el administrador

o alguien que haya recibido este permiso explicitamente.

Para otorgar estos permisos de hace de la siguiente manera

GRANT SELECT,INSERT,UPDATE,DELETE ON marco TO tbl_ventas;

Si quisieramos que tambien el usuario marco pudiera dar permisos sobre la

tabla venta anexariamos WITH GRANT OPTION

GRANT SELECT,INSERT,UPDATE,DELETE ON marco TO tbl_ventas WITH

GRANT OPTION;

Asignando cuotas a usuarios

Page 4: MANEJO DE ADMINISTRADOR EN ORACLE

Por default ningun usuario tiene una cuota en los tablespaces y se tienen

tres opciones para poder proveer a un usuario de una quota:

Sin limite, que permite al usuario usar todo el espacio disponible de un

tablespace.

Por medio de un valor, que puede ser en kilobytes o megabytes que el

usuario puede usar. Este valor puede ser mas grande que el table space o

m{as chico

Por medio del privilegio UNLIMITED TABLESPACE, el cuál va a pesar más que

cualquier cuota dada en un tablespace por lo que tienen disponibilidad de

todo el espacio incluyendo en SYSTEM y SYSAUX.

Como recomendación, no se deben de dar cuotas a los usuarios en los

tablespaces de SYSTEM y SYSAUX, pues tipicamente solo los usuarios de SYS

y SYSTEM pueden crear objetos en estos. También no dar cuotas en su

tablespace temporal o del tipo undo.

Roles

Por último solo nos resta hablar de los Roles, estos son simplemente un

conjunto de privilegios que se pueden otorgar a un usuario o a otro rol. Por

default cuando creamos un usuario pero desde el Enterprise Manager se le

asigna el rol de connect, lo que permite al usuario conectarse a la base de

datos y crear sus propios objetos en su propio esquema.

Para crear un rol y asignarlo a un usuario se hace de la siguiente manera

CREATE ROLE appl_dba;

SET ROLE appl_dba IDENTIFIED BY app_pwd;

Para asignar el role a un usuario:

Page 5: MANEJO DE ADMINISTRADOR EN ORACLE

GRANT appl_dba TO marco

Existen algunos roles predefinidos.

CONNECT CREATE SESSION, CREATE TABLE,

CREATE

VIEW, CREATE SYNONYM, CREATE

SEQUENCE,

CREATE DATABASE LINK, CREATE

CLUSTER,

ALTER SESSION

RESOURCE CREATE TABLE, CREATE

PROCEDURE,

CREATE SEQUENCE, CREATE

TRIGGER,

CREATE TYPE, CREATE CLUSTER,

CREATE

INDEXTYPE, CREATE OPERATOR

SCHEDULER_

ADMIN

CREATE ANY JOB, CREATE JOB,

EXECUTE

ANY CLASS, EXECUTE ANY

PROGRAM,

MANAGE SCHEDULER

DBA Tiene la mayoría de los privilegios,

no asignar a los que no son

administradores.

SELECT_CATALOG_ROLE No tiene privilegios de sistema,

pero tiene cerca de 1600 privilegios

de objeto.

Modificación de Usuarios

Page 6: MANEJO DE ADMINISTRADOR EN ORACLE

ALTER USER NOMBRE_USUARIO

   IDENTIFIED BY CLAVE _ACCESO

   [DEFAULT TABLESPACE ESPACIO_TABLA]

   [TEMPORARY TABLESPACE ESPACIO_TABLA]

   [QUOTA {ENTERO {K | M } | UNLIMITED } ON ESPACIO_TABLA

   [PROFILE PERFIL];