34
Bases de Datos Oracle Bases de Datos Oracle Conceptos Basicos Conceptos Basicos [email protected]

Bases de Datos Oracle Conceptos Basicos [email protected]

Embed Size (px)

Citation preview

Page 1: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Bases de Datos OracleBases de Datos OracleConceptos BasicosConceptos Basicos

[email protected]

Page 2: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Temario:

1- ARQUITECTURA DE ORACLE

2- LA INSTANCIA ORACLE

3- CREACIÓN DE UNA BASE DE DATOS

4- AREAS LOGICAS Y ARCHIVOS FISICOS

5- MANEJO DE DATOS

6- OBJETOS FUNDAMENTALES DE LA BASE

7- ADMINISTRACION DE USUARIOS

Page 3: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

ARQUITECTURA DE ORACLEARQUITECTURA DE ORACLE

La Base de DatosLa Base de Datos La Capa FísicaLa Capa Física La Capa LógicaLa Capa Lógica

Page 4: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

La Capa FisicaLa Capa Fisica

Son los archivos fisicos en disco. Hay tres clasesSon los archivos fisicos en disco. Hay tres clases

DatafilesDatafilesContienen la información propiamente dicha.Contienen la información propiamente dicha.Puede haber uno o mas.Puede haber uno o mas.

Redo LogsRedo LogsMantienen la historia en los cambios en los datos para revertirlos en Mantienen la historia en los cambios en los datos para revertirlos en caso de fallas.caso de fallas.

Control FIlesControl FIlesContienen Información sobre localización fisica de Datafiles y Redo Contienen Información sobre localización fisica de Datafiles y Redo Logs. Logs.

Page 5: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

La Capa LogicaLa Capa Logica

Son las estructuras que relacionan los datos con los Son las estructuras que relacionan los datos con los componentes fisicos.componentes fisicos.

TablespacesTablespacesDividen la información y los objetos en grupos que pueden residir en Dividen la información y los objetos en grupos que pueden residir en uno o mas datafilesuno o mas datafiles

Esquemas (Schemas)Esquemas (Schemas)Contienen objetos como Tablas, Vistas, Procedimientos almacenados, Contienen objetos como Tablas, Vistas, Procedimientos almacenados, Triggers, Indices, Secuencias, Sinonimos, etc, Triggers, Indices, Secuencias, Sinonimos, etc,

Page 6: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Relaciones entre Datafiles y TablespacesRelaciones entre Datafiles y Tablespaces

Un Tablespace puede estar repartido entre uno o mas datafilesUn Tablespace puede estar repartido entre uno o mas datafiles ..

Page 7: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Segmentos, Extensiones y BloquesSegmentos, Extensiones y Bloques

Bloques: Unidad de almacenamiento minimo. Bloques: Unidad de almacenamiento minimo. Tipicamente 2K. Contiene Datos almacenados y un Tipicamente 2K. Contiene Datos almacenados y un Header que los describeHeader que los describe

Extensiones: Grupo de Bloques de Datos. Cada Extensiones: Grupo de Bloques de Datos. Cada Tablespace tiene una tamaño inicial y crece en Tablespace tiene una tamaño inicial y crece en extensiones de una cantidad fija de bloques a medida extensiones de una cantidad fija de bloques a medida que se requiere.que se requiere.

Segmentos: Grupo de Extensiones usado para Segmentos: Grupo de Extensiones usado para almacenar un tipo particular de datos. Existen 4 tipos: almacenar un tipo particular de datos. Existen 4 tipos: Datos, Indices, Rollback y Temporales.Datos, Indices, Rollback y Temporales.

Page 8: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Esquemas de Base de Datos (Schema)Esquemas de Base de Datos (Schema)

Colección de Objetos logicos.Colección de Objetos logicos.

Tablas: Unidad logica basica de almacenamiento.Tablas: Unidad logica basica de almacenamiento.Clusters:Grupo de tablas almacenadas en conjunto fisicamente Clusters:Grupo de tablas almacenadas en conjunto fisicamente

como una sola tabla que comparten una columna como una sola tabla que comparten una columna Indices: Estructura que agrupa datos para acceder rapidamente Indices: Estructura que agrupa datos para acceder rapidamente

a la informacióna la informaciónVistas: Vistas: Selección de varias columnas de una o mas tablasSelección de varias columnas de una o mas tablasProcedimientos: Programas que independizan Procedimientos: Programas que independizan el manejo de el manejo de

datos desde una aplicación. Actuan datos desde una aplicación. Actuan desde el motor desde el motor de la Base de Datosde la Base de Datos

Packages: Agrupan procedimientos y funciones almacenadosPackages: Agrupan procedimientos y funciones almacenadosTriggers: Procedimiento que ejecuta automaticamente Triggers: Procedimiento que ejecuta automaticamente

asociado a eventos especificos.asociado a eventos especificos.Secuencias: Generan numeros unicos para todas las sesiones Secuencias: Generan numeros unicos para todas las sesiones

de una instanciade una instanciaDBLink: Nexo de comunicación entre instancias de base de datos.DBLink: Nexo de comunicación entre instancias de base de datos.Sinonimos: Son referencias a objetos de la propio esquema, Sinonimos: Son referencias a objetos de la propio esquema,

otros esquemas o esquemas de otras instancias de otros esquemas o esquemas de otras instancias de base de datos relacionadas a traves de un DBLinkbase de datos relacionadas a traves de un DBLink

Page 9: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Arquitectura OracleArquitectura Oracle

Page 10: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Arquitectura OracleArquitectura Oracle

La instancia Oracle esta compuesta por:La instancia Oracle esta compuesta por:

Procesos y memoria compartidaProcesos y memoria compartida

Procesos: De usuario - Server Process.Procesos: De usuario - Server Process. Comunes - DBWR, LGWR, CKPT, PMON, SMON, Comunes - DBWR, LGWR, CKPT, PMON, SMON,

ARCH ARCH

Memoria; SGA - System Global AreaMemoria; SGA - System Global Area PGA - Program Global AreaPGA - Program Global Area

Page 11: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Procesos de la InstanciaProcesos de la Instancia

Arquitectura OracleArquitectura Oracle

DBWR - Database Writer, responsable de la escritura en DBWR - Database Writer, responsable de la escritura en

disco de la informacióndisco de la información

LGWR - Log Writter, escribe la información en los redo Logs.LGWR - Log Writter, escribe la información en los redo Logs.

CKPT - Checkpoint, Avisa al DBWR que debe actualizar la CKPT - Checkpoint, Avisa al DBWR que debe actualizar la

información a disco.información a disco.

PMON - Process Monitor, Supervisa los procesos del PMON - Process Monitor, Supervisa los procesos del

servidor y corrige fallasservidor y corrige fallas

SMON - System Monitor, Actua durante el arranque de la SMON - System Monitor, Actua durante el arranque de la

instancia, limpia segmentos temporales y recupera instancia, limpia segmentos temporales y recupera

transacciones interrumpidas. Agrupa extensiones libres.transacciones interrumpidas. Agrupa extensiones libres.

ARCH - Archiver, Respalda la informacion de los Redo Logs ARCH - Archiver, Respalda la informacion de los Redo Logs

cuando estos se llenan.cuando estos se llenan.

Page 12: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Areas de Memoria de la InstanciaAreas de Memoria de la Instancia

Arquitectura OracleArquitectura Oracle

SGA - System Global Area, Area de memoria compartida que SGA - System Global Area, Area de memoria compartida que

almacena información de control y datos de la instancia. almacena información de control y datos de la instancia.

Consta de los siguientes elementos, cada uno con un Consta de los siguientes elementos, cada uno con un

tamaño fijo:tamaño fijo:

Buffer Cache - Almacena los bloques de datos usados Buffer Cache - Almacena los bloques de datos usados

recientemente.recientemente.

Buffer de Redo Logs: - Guarda los cambios efectuados en la Buffer de Redo Logs: - Guarda los cambios efectuados en la

base de datos antes de ser guardada en los redo logs.base de datos antes de ser guardada en los redo logs.

Shared Pool Area - Memoria compartida que funciona como Shared Pool Area - Memoria compartida que funciona como

dos caches, una para información del diccionario de datos y dos caches, una para información del diccionario de datos y

otra de codigo SQL. otra de codigo SQL.

PGA - Program Global Area, Contiene datos e información de PGA - Program Global Area, Contiene datos e información de

control para los procesos que se ejecutan en el servidor de control para los procesos que se ejecutan en el servidor de

oracle. oracle.

Page 13: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

CREACIÓN DE UNA BASE DE DATOSCREACIÓN DE UNA BASE DE DATOS

Crear una instanciaLa creación de una instancia, generalmente se lleva a cabo desde una herramienta

(p/ej, DBA Studio). Tambien puede hacerce desde linea de comandos usando el utilitario ORADIM90. Se define: Nombre de la Instancia de Base de Datos (SID), Password de la cuenta internal o usuario DBA.

Iniciar la instanciaPuede ser arrancada en forma manual (linea de comandos o

Herramientas graficas como Enterprise Manager)o automatica (cron en Unix o Servicio en Windows). Opcionalmente se puede montar una Base de Datos, y abrirla a los usuarios o restringir el acceso al DBA.

Crear la Base de DatosTambien puede ser hecho desde una herramienta como Enterprise

Manager o desde linea de comandos. Durante la creación se informa: Nombre de la Base, SID, Passwor de la cuenta internal, ruta a archivos deinicializacion, (initxxx.ora), ruta de archivos de control y tamaño de los datafiles para tablespaces de usuario, sistema y temporales, tamaño de redo logs, etc.

Page 14: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

AREAS LOGICAS Y ARCHIVOS FISICOSAREAS LOGICAS Y ARCHIVOS FISICOS Las areas logicas se extienden a traves de los arcivos fisicos. Durante la creacion de la Base de Datos se crea por default un Tablespace llamado

SYSTEM y un datafile asociado al mismo con Ubicación, Nombre y Tamaño especificados.

Durante la creación tambien se generan automaticamente dos usuarios SYS y SYSTEM con caracteristicas de DBA, A traves de estos usuarios se realizan las operaciones de mantenimiento, creacion de nuevos tablespaces, usuarios, esquemas, etc.

Se pueden agregar dinamicamente datafiles y aumentarlos de tamaño. Los Rollback segments, contienen la informacion de transacciones en curso que no

hayan sido confirmadas con COMMIT o dehechas con ROLLBACK. Los segmentos de Rollback se usan concurrentemente por varias transacciones. Funcionan como un buffer circular con varias extensiones, Pueden estar ONLINE OFFLINE INVALID, NEEDS RECOVERY o PARTLY AVAILABLE.

Redo Logs, Llevan registro de todas las transacciones que se ejecutan sobre la base de datos para poder reconstruir la informacion en caso de falla. La instrucción COMMIT, no termina su ejecución hasta que no se completa la escritura de estos archivos. Podria decirse que hasta tanto se ejecuta una instrucción COMMIT, la información de las transacciones realizadas se almacena en los Rollback Segments,Una vez ejecutado el COMMIT, está información pasa a estar en los Redo Logs.

Page 15: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

MANEJO DE DATOSMANEJO DE DATOS

EXPORTGenera un archivo binario conteniendo información de los objetos seleccionados.

Registra tanto datos como estructuras.

Usos:Respaldo del contenido de la base de datosLlevar datos de una base a otraReplicar estructuras en bases de datos diferentesReconstruir y defragmentar bases de datosReordenar datafiles

Opciones:Se puedenn especificar en linea de comandos o a traves de un archivo de

parametros.

IMPORTIncporpora a una base de datos la información exportada con el comando EXPORT

Opciones:Se puedenn especificar en linea de comandos o a traves de un archivo de

parametros.

Page 16: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Opciones del comando EXPORT

BUFFER=bytes Especifica el tamaño del buffer de copia (en bytes) usado por el utilitario. Si el valor es cero, se recuperan las filas de a una.

COMPRESS=[Y o N] Este parámetro indica cómo se tratará la extensión inicial.“Y” - Se incluirá toda la información en una única extensión.“N” - Se utilizarán los parámetros vigentes para la cláusula storage. El valor por defecto es “Y”.

CONSISTENT=[Y o N] Indica si se espera o no a que la información que se está exportando sea confirmada. Esta opción es muy costosa en tiempoEl valor por defecto es “N”.

CONSTRAINTS=[Y o N] Define si se exportan las restricciones de las tablas. Por defecto siempre se exportan

FILE=nombre_archivo Especifica el nombre del archivo de salida donde quedará la información

FULL=[Y o N] Este parámetro controla la exportación total o parcial de la base de datos. En caso de responder “N”, habrá que enumerar los objetos a exportardatos. El valor por defecto es “N”.

MANEJO DE DATOSMANEJO DE DATOS

Page 17: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Opciones del comando EXPORT (Cont.)

GRANTS=[Y o N] Permite indicar si se exportaran los permisos (grants) de cada usuario sobre los objetos que son exportados.El valor por defecto es “N”

INDEXES=[Y o N] Este parámetro especifica si se exportaran los índices El valor por defecto es “Y”.

ROWS=[Y o N] Se utiliza para exportar todos los datos de las tablas o solo la estructura de los objetos“Y” - Exportar Estructuras y datos“N” - Solo exportar estructuras de los objetos

OWNER=usuarios Permite enumerar los esquemas que se exportarán, en caso de ser mas de uno, se separan con coma.

TABLES=tablas Permite enumerar las tablas que se van a exportar. Este parámetro solo es aplicable cuando se exporta un solo esquema

MANEJO DE DATOSMANEJO DE DATOS

Page 18: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Opciones del comando IMPORT

FROMUSER=usuario Indica importar solo los objetos del esquema especificado como usuario

TOUSER=usuario Fuerza un esquema (indicado como usuario) donde importar los objetos

IGNORE=[Y o N] Indica si se desea ignorar los errores que pudieran ocurrir durante la importaciónEl valor por defecto es “N”

OWNER=usuarios Permite enumerar los esquemas que se exportarán, en caso de ser mas de uno, se separan con coma.

TABLES=tablas Permite enumerar las tablas que se van a importar

MANEJO DE DATOSMANEJO DE DATOS

Page 19: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Los objetos fundamentales de una base de datos son:

Tablas

Vistas

Sinonimos

Indices

Secuencias

OBJETOS FUNDAMENTALES DE UNA BASEOBJETOS FUNDAMENTALES DE UNA BASE

Page 20: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Tablas

Una tabla se crea en un segmento. Este segmento posee una o más extensiones. Si la tabla crece hasta alcanzar el tamaño máximo de una extensión, entonces se crea un segmento nuevo para esa tabla. Las extensiones crecen de la manera en que se definieron cuando se creó la tabla, dentro de la cláusula STORAGE. Cuando la cláusula anterior no se define para una tabla, se utilizan los parámetros por defecto definidos dentro del tablespace donde reside. Si tampoco existen estos, se utilizan los parámetros del sistema. Las opciones de la clausula STORAGE son las siguientes:

INITIAL: Tamaño de la extension inicial en bytesNEXT: Tamaño de la segunda extensionPCTINCREASE: Tamaño de las extensiones posteriores a la segunda en porcentaje

respecto de la segunda extension.El valor 0 (cero) indica que todas las extensiones tendrán el mismo tamaño que la segunda

MINEXTENTS: Cuántas extensiones se crean al mismo tiempo de la tablaMAXEXTENTS: Máxima cantidad de extensiones que podrá tener la tabla

OBJETOS FUNDAMENTALES DE UNA BASEOBJETOS FUNDAMENTALES DE UNA BASE

Page 21: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Tablas (Cont.)

PCTFREE y PCTUSED - Especifican condiciones de almacenamiento estan en relación con la volatilidad de los datos y cómo gestionar mejor el espacio asignado a cada extensión

PCTFREE: Fija el porcentaje de espacio que se reservará en cada bloque de datos de una tabla para futuras actualizaciones de los registros del mismo bloque. El valor que se asigne al parámetro esta relacionado con la frecuencia de updates que se harán a la tabla.Valores recomendados:

· Tablas con muchas actualizaciones que no necesariamente hagan crecer el registro: alrededor de 10.

·Tablas en que se incrementa el tamaño de las filas frecuentemente: alrededor de 20· Tablas sin actualizaciones o con baja frecuencia es de las mismas: del orden de 5

PCTUSED: Este parámetro está relacionado con la frecuencia de inserciones que se hacen en una tabla. Determina el mínimo porcentaje de espacio usado que será mantenido para cada bloque de datos, antes de crear el próximo segmento.

En función de esta frecuencia se sugieren los siguientes valores:· Alta: Alrededor de 40.· Alta con muchas actualizaciónes: alrededor de 60.· Baja:u en torno a 60

OBJETOS FUNDAMENTALES DE UNA BASEOBJETOS FUNDAMENTALES DE UNA BASE

Page 22: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Tablas (Cont.)

Tablas particionadas

La caracteristica distintiva de las tablas particionadas es cómo se va a almacenar la información físicamente.

En el momento de crearlas, se puede elegir qué rangos de datos van a quedar almacenados en un tablespace u otro.

La ventaja de esta organización es que al poder distribuir los datos entre los tablespaces y estos entre los datafiles, se puede determinar donde estará esa información, con las consiguientes posibilidades de optimización a saber:

- Segmentos de datos más pequeños: influye en forma directa en el rendimiento de las búsquedas ya que cada partición es tratada como si fuera una tabla diferente.

- Indices más pequeños: con la partición por rangos es posible crear índices individuales para cada partición.

- Respaldo más rápido: ya que los datos se encuentran en segmentos separados, Se puede paralelizar el procedimiento de respaldo

OBJETOS FUNDAMENTALES DE UNA BASEOBJETOS FUNDAMENTALES DE UNA BASE

Page 23: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Vistas

Una vista es una ventana dentro de una tabla. Permite aislar el uso de la información

protegiendola y facilitar operaciones que requieran de un modo especial de acceso a las

mismas.

Se forman de la misma manera en que se realizan las selecciónes de registros (instrucción

SELECT) sobre una o mas tablas, tambien facilitan el mantenimiento, al poderse modificar

las condiciones de selección sin afectar a la estructura de datos retornada

OBJETOS FUNDAMENTALES DE UNA BASEOBJETOS FUNDAMENTALES DE UNA BASE

Page 24: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Indices

Los indices permiten acceso mas rapido a los datos contenidos en una tabla. Son independientes. Inmediatamente luego de creado el índice, Oracle comienza a mantenerlo de acuerdo a las inserciones, actualizaciones y eliminaciones de registros de la tabla en la cual se ha implementado.

Existen tres tipos de índices cuya naturaleza depende de la forma en que se crean a saber:- Indice único funciona como una clave primaria, obligando a que el valor de la columna

indexada no se repita- Indice no único, no impone la restricción antes descripta-- Indice compuesto agrupa varias columnas de la tabla. Es importante el orden en que se

ponen las columnas al crear el índice; la columna más referenciada debe ser puesta en primer lugar y así sucesivamente.

Cuando se crea un índice también se crea un segmento de datos para guardarlo el espacio de almacenamiento usado se ve afectado por la cláusula storage que tiene la misma estructura que la explicada para las tablas

OBJETOS FUNDAMENTALES DE UNA BASEOBJETOS FUNDAMENTALES DE UNA BASE

Page 25: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Indices (cont)

Consideraciones para el uso de indices:

- Indexar solo tablas cuando las consultas no accedan a mas del 5% de las filas de una tabla.- No indexar tablas que son actualizadas frecuentemente- Las consultas con condiciones (WHERE) muy complejas generalmente no usan indices

Reglas para elegir columnas a indexar:- Eleqir aquellas que se utilizan con mayor frecuencia en las cláusulas WHERE de las

consultas.- No indexar columnas o grupos de columnas en que se repitan muchos vaores- Indexe las columnas que sirven para unir una tabla con otras (join en las consultas).

Sintaxis de creación de índices:

CREATE INDEX nombre_indice ON [esquema.]nombre_tabla (columna1 [, columna2, ...])TABLESPACE nombre_tablespace ;

Al igual que las tablas, los indices tambien pueden ser particionados

OBJETOS FUNDAMENTALES DE UNA BASEOBJETOS FUNDAMENTALES DE UNA BASE

Page 26: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Sinonimos

Los sinónimos son objetos del sistema que apuntan a otros objetos. implementan alias de tablas, vistas, secuencias o unidades de programa. Se utilizan para proteger u ocultar al usuario final ciertos detalles del objeto al que apuntan

Los sinónimos pueden ser públicos o privados. Los primeros son aquellos que residen en el esquema PUBLIC y son vistos por todos los usuarios de la misma base de datos. Los sinónimos privados se crean dentro del esquema de un usuario en particular y sólo son visibles para quienes él de acceso

Sintaxis de creación de sinónimos:

CREATE [PUBLIC] SYNONYM [schema.]synonym FOR [schema.]objeto

OBJETOS FUNDAMENTALES DE UNA BASEOBJETOS FUNDAMENTALES DE UNA BASE

Page 27: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Sinonimos

Devuelven numeros de acuerdo a un orden definido en su creación, garantizando su irrepetibilidad

En la creación de una secuencia, se deben indicar, como mínimo, el valor de partida (valor mínimo) y el incremento.

La sintaxis de creación de una secuencia es la siguiente:

CREATE SEQUENCE [schema.]nombre opciones

Las opciones pueden ser:

INCREMENT BY numero, START WITH numero MAXVALUE numero | NOMAXVALUE MINVALUE numero | NOMINVALUE CYCLE | NOCYCLE CACHE numero | NOCACHE ORDER | NOORDER

OBJETOS FUNDAMENTALES DE UNA BASEOBJETOS FUNDAMENTALES DE UNA BASE

Page 28: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Usuario: Tiene asociada información especifica como nombre, esquema, password

Rol: Utilizado para asignar privilegios a los usuarios

Perfil: Denota la cantidad de recursos del sistema que se permite consumir a un usuario o grupo de ellos.

ADMINISTRACION DE USUARIOSADMINISTRACION DE USUARIOS

Page 29: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Creación de Usuarios

Cuando se da de alta a un usuario como mínimo, debe indicarse el nombre y el password de la cuenta (esquema) que se está creando. Se asigna un espacio físico al nuevo esquema dentro de la base de datos con los parámetros por defecto.

CREATE USER nombre_usuarioIDENTIFIED BY password[DEFAULT TABLESPACE nombre_tablespace][TEMPORARY TABLESPACE nombre_tablespace][QUOTA [número, K o M o UNLIMITED] ON nombre_tablespace1][, QUOTA [número, K o M o UNLIMITED] ON nombre_tablespace2][PROFILE nombre_perfil][PASSWORD EXPIRE][ACCOUNT LOCK o ACCOUNT UNLOCK]

ADMINISTRACION DE USUARIOSADMINISTRACION DE USUARIOS

Page 30: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Modificación de Usuarios

En la modificación de usuarios, todos los parámetros que fueron establecidos en el instante de la creación pueden cambiarse

ALTER USER nombre_usuarioIDENTIFIED BY password[DEFAULT TABLESPACE nombre_tablespace][TEMPORARY TABLESPACE nombre_tablespace][QUOTA [número, K o M o UNLIMITED] ON nombre_tablespace1][, QUOTA [número, K o M o UNLIMITED] ON nombre_tablespace2][PROFILE nombre_perfil][PASSWORD EXPIRE][ACCOUNT LOCK o ACCOUNT UNLOCK]

ADMINISTRACION DE USUARIOSADMINISTRACION DE USUARIOS

Page 31: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Eliminación de Usuarios

Para eliminar un usuario se utiliza la siguiente instrucción:

DROP USER nombre_usuario [CASCADE]

La opción Cascade es obligatoria cuando el usuario posee objetos en su esquema (tablas, vistas, etc.) para borrarlos junto con él.

Sin esta opción, no se puede eliminar un usuario con objetos.

ADMINISTRACION DE USUARIOSADMINISTRACION DE USUARIOS

Page 32: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Mantenimiento de Perfiles

Los perfiles se usan para limitar las posibilidades de los usuarios del sistema de base de datos. Tipicamente se establecen tres tipos de usuarios• Administradores: Tienen acceso a recursos ilimitados

Desarrolladores: Múmero ilimitado de sesiones Restricciónes en utilización de la CPU

• Otros.

CREATE PROFILE y ALTER PROFILE

Los recursos que se puede administrar para un perfil son:SESSIONS_PER_USER, CPU_PER_SESSION, CPU_PER_CALL CONNECT_TIME, IDLE_TIME LOGICAL_READS_PER_SESSION, LOGICAL_READS_PER_CALL COMPOSITE_LIMIT, PRIVATE_SGA

Con las siguientes posibilidades: UNLIMITED | DEFAULT | cantidad

ADMINISTRACION DE USUARIOSADMINISTRACION DE USUARIOS

Page 33: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Creación y asignación de Roles, control Privilegios

Los Roles son la forma más segura y rápida de asignar recursos a los grupos de usuarios

CREATE ROLE nombre_rol NOT IDENTIFIED o IDENTIFIED BY password

Para asignar y eliminar roles y privilegios a un usuario se usan los siguientes comandos:

Grant: Otorga privilegios a un rol (o a un usuario cualquiera) o también asigna un rol a un usuario.

GRANT Rol o Privilegio1, Rol o privilegio 2 TO Usuario o Rol;

Revoke: Elimina privilegios otorgados previamente a un rol (o a un usuario).

REVOQUE Rol o Privilegio 1, Rol o privilegio 2 FROM Usuario o Rol;

ADMINISTRACION DE USUARIOSADMINISTRACION DE USUARIOS

Page 34: Bases de Datos Oracle Conceptos Basicos oscarlin@dc.uba.ar

Creación y asignación de Roles, control Privilegios (Cont.)

Hay algunas opcionas adicionales para administrar Roles y Privilegios

GRANT nombre_rol o nombre_privilegio [, nombre_rol o nombre_privilegio]TO nombre_usuario o nombre_rol o PUBLIC [, nombre_usuario o nombre_rol][WITH ADMIN OPTION]

Si los privilegios se otorgan a PUBLIC, significa que tidis los usuarios gozaran del mismo.

Si los privilegios se otorgan con la cláusula “with admin option” esto quiere decir que los usuarios que reciben los privilegios pueden a su vez otorgarlos a otros.

ADMINISTRACION DE USUARIOSADMINISTRACION DE USUARIOS