TEMA: Prcticas en ORACLE CATEDRTICO: Ing. Maribel Castillejo Toledo ALUMNO: Hctor Manuel Zarate Prez ESPECIALIDAD: Ing. Sistemas Computacionales SEMESTRE: 6 GRUPO: O
HEROICA CD. DE JUCHITAN, OAX. A 25 DE MAYO DE 2014
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
ARRANQUE Y CIERRE DE LA BASE DE DATOS EN ORACLE
El arranque de la base de datos en Oracle, requiere de tres etapas: 1. Arrancar la instancia 2. Montar la base de datos 3. Abrir la base de datos
ARRANCAR UNA INSTANCIA: Creacin de los procesos background. Creacin de la SGA segn los parmetros del init.ora
sqlp>startup nomount
MONTAR LA BASE DE DATOS: La BD se conecta a una instancia. Se abren los archivos de control. Una BD montada y no abierta permite acciones del archivo redolog, conmutacin del modo de archivado, recuperacin completa de la BD, renombrado de archivos de la BD.
sql>alter database mount
ABRIR LA BASE DE DATOS: Disponible para uso normal. Se abren todos los archivos log y de datos. Recuperacin parcial.
sql>alter database open
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
PRACTICA 1.-ARRANQUE DE LA BASE DE DATOS EN ORACLE Para poder iniciar el arranque de la base de datos de Oracle se prosigue a seguir las tres etapas siguientes: Arrancar la instancia, Montar la base de datos y Abrir la base de datos.
1.-Abrimos la consola de comando de Windows (cmd)
2.-Iniciamos sesin con el usuario administrador sys, que tiene todos los privilegios y el cual realizara las operaciones para arrancar la base de datos. C:\Users\ProyectoH> sqlplus / as sysdba
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
3.- Arrancamos la instancia de la base de datos, En el indicador de lnea de comandos de SQL tecleamos los comandos: SQL>startup nomount
4.-Montamos la base de datos SQL> alter database mount
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
5.- Se inicia la base de datos sql>alter database open
ALTERNATIVAS DE ARRANQUE DE LA BASE DE DATOS Arranque con un slo comando, el comando startup, realiza los tres pasos para iniciar la base de datos: SQL> startup
Arrancar la instancia
Monta la base de datos
Abre la base de datos
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
DETENER BASE DE DATOS
Para detener la Base de Datos Oracle se realiza mediante el comando SHUTDOWN desde SQL*DBA despus de haber establecido una conexin como SYS AS SYSDBA
Existen tres tipos de shutdown:
SHUTDOWN NORMAL
Espera a que los usuarios conectados actualmente finalicen TODAS las operaciones. Evita nuevas conexiones. Los usuarios que intentan conectarse reciben el mensaje "Shutdown in progress". Cierra y desmonta la B.D. Cierra la SGA para los procesos background. No necesita recuperacion al arrancar la base de datos.
SHUTDOWN IMMEDIATE
Espera a que las transacciones actuales se completen. Evita nuevas transacciones y nuevas conexiones. Los usuarios que intentan conectarse o los que ya estn conectados al intentar realizar una nueva transaccin reciben el mensaje "Shutdown in progress". El proceso PMON finaliza las sesiones no activas y realiza ROLLBACK de aquellas transacciones que no estn validadas. Cierra y desmonta la B.D. Cierra la SGA para los procesos background. No necesita recuperacin al arrancar la base de datos.
SHUTDOWN ABORT
Parada drstica, no espera a que los usuarios conectados actualmente finalicen sus transacciones. El usuario conectado recibe el mensaje "No logged on". No se realiza ROLLBACK de las transacciones pendientes. El proceso PMON finaliza las sesiones no activas y realiza ROLLBACK de aquellas transacciones que no estn validadas. SI necesita recuperacin al arrancar la base de datos.
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
PRACTICA 1.- DETENER BASE DE DATOS
SQL> shutdown
SHUTDOWN IMMEDIATE SQL> shutdown immediate
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
SHUTDOWN ABORT
SQL> shutdown abort
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
PRIVILEGIOS, ROLES, PERFILES EN ORACLE
USUARIOS Deben tener una cuenta asignada a travs de la cual entren en la BD y manipulen los objetos de la BD.
PRIVILEGIOS A nivel de Objeto El derecho a ejecutar una accin sobre una tabla, vista, secuencia, disparador o procedimiento almacenado especfico. Puede incluir permisos para pasar privilegios de uno a otro usuario (with grant option). El propietario de un objeto adquiere automticamente todos los privilegios sobre dicho objeto. Los privilegios son: alter, execute, delete, index, insert, references, select, update, all. A nivel de Sistema Derecho a ejecutar un tipo de comando sobre objetos de un esquema, objetos de un tipo especificado, sobre el sistema o sobre un usuario. El dba puede tener cualquier variedad de privilegios del sistema. Existen unos 80 privilegios distintos disponibles.
ROLES
Grupo de privilegios que se concede a los usuarios o a otro rol. No son propiedad de nadie ni estn en un esquema. Se puede dar acceso a cualquier usuario a un rol excepto a uno mismo (reflexiva). Pueden ser activados y desactivados, por usuarios autorizados (contrasea). Las definiciones de roles son almacenadas en el diccionario. Un rol puede decidir el acceso se usuario a un objeto, pero no puede permitir la creacin de objetos.
PERFILES
Restringe la cantidad de recursos del sistema disponible para un usuario. Un usuario puede tener un perfil individual o utilizar los lmites por defecto. En principio, todos los perfiles por defecto son ilimitados.
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
PRIVILEGIOS DEL SISTEMA
Privilegio Capacidades Manejo de Objetos ... CREATE ANY INDEX Crear cualquier ndice. CREATE [PUBLIC] SYNONYM Crear sinnimos [pblicos]. CREATE [ANY] TABLE Crear tablas. El usuario debe tener cuota en el espacio de tablas, o ha de tener asignado el privilegio UNLIMITED TABLESPACE. CREATE [ANY] VIEW Crear vistas. ALTER ANY INDEX Alterar cualquier ndice. ALTER ANY TABLE Alterar cualquier tabla DROP ANY INDEX Borrar cualquier ndice. DROP ANY SYNONYM Borrar cualquier sinnimo. DROP PUBLIC SYNONYM Borrar sinnimos pblicos. DROP ANY VIEW Borrar cualquier vista. DROP ANY TABLE Borrar cualquier tabla. SELECT ANY TABLE Efectuar selecciones de cualquier tabla o vista. INSERT ANY TABLE Insertar en cualquier tabla o vista. DELETE ANY TABLE Borrar filas de cualquier tabla o vista, y tambin truncar. ALTER SESSION Alterar los parmetros de la sesin. CREATE SESSION Conectarse a la BD. Gestin de la BD ... CREATE PROFILE Crear perfiles de usuario. CREATE ROLE Crear roles. CREATE ROLLBACK SEGMENT Creacin de segmentos de rollback. CREATE TABLESPACE Crear espacios de tablas. CREATE USER Crear usuarios. ALTER PROFILE Alterar perfiles existentes. ALTER ANY ROLE Alterar cualquier rol. ALTER ROLLBACK SEGMENT Alterar segmentos de rollback. ALTER TABLESPACE Alterar espacios de tablas. ALTER USER Alterar usuarios.
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
DROP PROFILE Borrar un perfil existente. DROP ANY ROLE Borrar cualquier rol. DROP ROLLBACK SEGMENT Borrar un segmento de rollback existente. DROP TABLESPACE Borrar un espacio de tablas. DROP USER Borrar un usuario. Aadir CASCADE si el usuario posee objetos. ALTER DATABASE Permite una sentencia ALTER DATABASE. GRANT ANY PRIVILEGE Otorgar cualquiera de estos privilegios. GRANT ANY ROLE Otorgar cualquier rol a un usario. UNLIMITED TABLESPACE Puede usar una cantidad de almacenamiento ilimitada. DROP PROFILE Borrar un perfil existente.
PERFILES DE USUARIO
Recurso Descripcin SESSIONES_PER_USER El nmero de sesiones concurrentes que un usuario puede tener en una instancia. CPU_PER_SESSION El tiempo de CPU, en centenas de segundos, que una sesin puede utilizar. CONNECT_TIME El nmero de minutos que una sesin puede permanecer activa. IDLE_TIME El nmero de minutos que una sesin puede permanecer sin que sea utilizada de manera activa. LOGICAL_READS_PER_SESS ION El nmero de bloques de datos que se pueden leer en una sesin. LOGICAL_READS_PER_CALL El nmero de bloques de datos que se pueden leer en una operacin. PRIVATE_SGA La cantidad de espacio privado que una sesin puede reservar en la zona de SQL compartido de la SGA. COMPOSITE_LIMIT El nmero de total de recursos por sesin, en unidades de servicio. Esto resulta de un calculo ponderado de CPU_PER_SESSION, CONNECT_TIME,LOGICAL_READS_PER_SE SSION y PRIVATE_SGA, cuyos pesos se pueden variar con el comando ALTER RESOURCE COST.
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
PRIVILEGIOS Privilegio Capacidades Otorgadas SELECT Puede consultar a un objeto. INSERT Puede insertar filas en una tabla o vista. Puede especificarse las columnas donde se permite insertar dentro de la tabla o vista. UPDATE Puede actualizar filas en una tabla o vista. Puede especificarse las columnas donde se permite actualizar dentro de la tabla o vista. DELETE Puede borrar filas dentro de la tabla o vista. ALTER Puede alterar la tabla. INDEX Puede crear ndices de una tabla. REFERENCES Puede crear claves ajenas que referencie a esta tabla. EXECUTE Puede ejecutar un procedimieto, paquete o funcin.
CREACIN DE USUARIOS
El objetivo de la creacin de usuarios es establecer una cuenta segura y til, que tenga los privilegios adecuados y los valores por defecto apropiados. En Oracle se puede especificar todo lo necesario para abrir una cuenta con el comando CREATE USER. Los parmetros que se le pueden pasar son:
Parmetro Significado Username Nombre del Usuario (Esquema) Password Palabra clave de la cuenta. Puede ser asociada directamente a una cuenta del sistema operativo. Default Tablespace Espacio de tablas por defecto en el que los objetos de este usuario sern creados. Esto no da al usuario derechos de crear objetos. Temporary Tablespace El espacio de tablas en el que se almacenarn los segmentos temporales de las ordenaciones. Quota Espacio mximo que puede ocupar en un espacio de tablas. Profile Asigna un perfil al usuario. Los perfiles se utilizan para restringir el uso de recursos como el tiempo de CPU.
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
PRACTICA 2 CREACIN DE USUARIOS Y PRIVILEGIOS EN ORACLE.
Esta prctica consiste en crear 3 usuarios en Oracle teniendo ciertos permisos y con la particularidad que los privilegios del usuario 3 es que puede asignarles privilegios a otros usuarios. Los privilegios son: - Usuario 1 solo tendr el privilegio de consultar la tabla Ventas. - Usuario 2 tendr el privilegio de hacer cualquier cosa con la tabla clientes. - Usuario 3 tendr todos los privilegios sobre todas las tablas de la Base de Datos Adems de poder crear usuarios nuevos y asignarle privilegios.
USUARIO 1 SOLO TENDR EL PRIVILEGIO DE CONSULTAR LA TABLA. 1. INGRESAMOS A LA CUENTA SYS SQL>sqlplus / as sysdba
2. CREAMOS UN USUARIO SQL>create user hectorZP identified by 123456;
3. CONCEDER EL PERMISO DE CONECTARSE A LA BASE DE DATOS SQL> grant connect to hectorZP;
4. CONCEDER EL PERMISO DE EFECTUAR SELECCIONES A LA TABLA VENTAS SQL> grant select on ventas to hectorZP;
INGRESAR CON LA CUENTA CREADA A SQLPLUS C:\...> sqlplus Enter User-name: hectorZP Enter password: 123456 SQL>
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
1.- CREAMOS UN USUARIO
2.- INGRESAR CON LA CUENTA CREADA Y CONSULTAR LA TABLA VENTAS SQL> select * from ventas
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
USUARIO 2 TENDR EL TODOS LOS PRIVILEGIOS SOBRE LAS TABLAS
1. CREAMOS UN USUARIO DESDE SYSDBA SQL>create user hectorZP2 identified by 123456; SQL> grant connect to hectorZP2;
2. CONCEDEMOS TODOS LOS PERMISOS DE EFECTUAR TODAS LAS OPERACIONES SOBRE LA TABLA VENDEDORES. SQL> grant all on vendedores to hectorZP2;
2.- INGRESAR CON LA CUENTA CREADA A SQLPLUS C:\...> sqlplus Enter User-name: hectorZP2 Enter password: 123456 SQL>
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
3. REALIZAR OPERACIONES SOBRE LA TABLA VENDEDORES SQL> select * from vendedores SQL> insert into vendedores values (178,juan perez);
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
USUARIO 3 TENDR TODOS LOS PRIVILEGIOS SOBRE TODAS LAS TABLAS: CLIENTES, VENDEDORES Y VENTAS.
1. CREAMOS UN USUARIO DESDE SYSDBA SQL>create user hectorZP3 identified by 123456; SQL> grant connect to hectorZP3;
CONCEDEMOS TODOS LOS PERMISOS SOBRE LAS TABLAS: CLIENTES, VENDEDORES Y VENTAS. SQL> grant all on clientes to hectorZP3; SQL> grant all on vendedores to hectorZP3; SQL> grant all on ventas to hectorZP3;
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
TABLESPACE
Una de las tareas habituales en la administracin de una base de datos Oracle es la de crear un nuevo tablespace para contener nuevos objetos como tablas, ndices, etc. Un tablespace en Oracle es una unidad de almacenamiento lgica y utiliza datafiles para la parte fsica donde se guardarn las tablas, ndices.
Existen tres tipos de TableSpace: 2. Tablespace Permanente 3. Tablespace Temporal 4. Deshacer Tablespace
TABLESPACE PERMANENTE Un tablespace permanente contiene objetos de esquema persistentes que se almacenan en archivos de datos.
TABLESPACE TEMPORAL Un espacio de tablas temporal contiene objetos de esquema que se almacenan en archivos temporales que existen durante una sesin.
UNDO TABLESPACE Un tablespace de deshacer se crea para administrar los datos de deshacer si la base de datos Oracle se ejecuta en el modo de gestin de deshacer automtico.
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
PRACTICA 1.- CREAR TABLESPACE PERMANENTE
1. INICIAMOS CON EL USUARIO SYS
SQL> sqlplus / as sysdba
2. CREAMOS UNA TABLESPACE SQL>create tablespace prueba datafile '/ora/tablespace/prueba.dbf' size 100m autoextend on next 10m maxsize 200m;
La sentencia CREATE TABLESPACE crea un espacio de tabla permanente llamado prueba que tiene un archivo de datos llamado prueba.dbf Cuando se requiere ms espacio, se aadir automticamente extensiones 10M hasta alcanzar 200 MB.
PRACTICA 2.- CAMBIAR A LOS USUARIOS A LA TABLESPACE CREADA
SQL> alter user hectorZP default tablespace prueba; SQL> alter user hectorZP2 default tablespace prueba; SQL> alter user hectorZP4 default tablespace prueba;
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
PRACTICA 3.- MOVER TABLAS DE UNA TABLESPACE PRUEBA
SQL> alter table vendedores move tablespace prueba; SQL> alter table clientes move tablespace prueba; SQL> alter table ventas move tablespace prueba;
PRACTICA 4.- CAMBIARNOS A LA TABLESPACE CREADA SQL> alter database default tablespace prueba;
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
PRACTICA 5.- REVISAR PRIVILEGIOS DE LOS USUARIOS
SQL>select table_name, privilege from dba_tab_privs where grantee='hectorZP'; SQL>select table_name, privilege from dba_tab_privs where grantee='hectorZP2'; SQL>select table_name, privilege from dba_tab_privs where grantee='hectorZP4';
PRACTICA 6.- DENTRO DE LA TABLESPACE PRUEBA CREAR DOS USUARIOS
SQL>create user hectorZP5 identified by 123456; SQL> grant connect to hectorZP5;
SQL>create user hectorZP6 identified by 123456; SQL> grant connect to hectorZP6;
ASIGNAR PRIVILEGIOS DE OBJETO AL USUARIO Y SELECT INSERT VENTAS Y VENDEDORES
SQL> grant select,insert on vendedores to hectorZP5; SQL> grant select,insert on ventas to hectorZP5;
ADMINISTRACIN DE BASE DE DATOS MANUAL DE PRACTICAS EN ORACLE
ASIGNAR PRIVILEGIOS DE SISTEMA AL USUARIO 6 CREATE TABLE
SQL> grant create table to hectorZP6;
BLOQUEAR A UN USUARIO
Al bloquear a un usuario, este no tiene acceso al sistema aunque este registrado, hasta que se vuelva a activar su inicio sesin podr acceder.
SQL> Alter user hectorZP6 account lock;
Despus de haber bloqueado a un usuario este no tiene accesos