Está en la página 1de 23

ASIGNATURA:

Administracin de Base de Datos


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


USUARIO BLOQUEADO

También podría gustarte