Sei sulla pagina 1di 20

ADMINISTRACION DE BASES DE DATOS ORACLE ANTECEDENTES HISTORICOS

En sus comienzos, Oracle era principalmente una empresa de bases de datos relacionales, Las cuales eran una nueva forma de pensar sobre como deberan estructurarse y almacenarse los datos; la clave de este nuevo pensamiento consiste en entender las relaciones existentes entre los datos y en estructurar la base de Informacin para que refleje dichas relaciones. El objetivo de una base de datos relacional consiste en construir una estructura en la cual las modificaciones requeridas no la afecten a ella, sino nicamente a los datos, es decir, se minimicen las modificaciones a las aplicaciones, se termine con la redundancia de los datos y se garantice la sincronizacin de los cambios hechos a los mismos "estos cambios solo deben afectar una tabla, y no varios archivos como frecuentemente suceda cuando se manejaba el enfoque tradicional".

RESPONSABILIDADES DE UN ADMINISTRADOR DE BASES DE DATOS (DBA)

El DBA contribuye con su trabajo al funcionamiento eficaz de todos los sistemas que se ejecutan con la base de datos Oracle; Adems ofrece asistencia tcnica a quienes interactuan con la Base de Datos y se espera que tenga soltura en todos los aspectos tcnicos que surjan con el software de Oracle. Dentro de sus responsabilidades estn: o Instalacin y actualizacin del Oracle Server y de todos sus productos asociados o Asignacin de recursos para la utilizacin de Oracle: memoria, espacio en disco, perfiles de usuario etc. o Ajuste de la base de datos para conseguir el rendimiento optimo. o Enlace con el servicio mundial de asistencia al cliente de Oracle (Oracle Wordwide Support) para resolver problemas tcnicos que requieran la intervencin de Oracle. o Estrategias de copia de seguridad y recuperacin. o Colaboracin con el personal de administracin del sistema y desarrolladores de aplicaciones.

Shared Pool

Es una porcin de la SGA, creada al subir la Instancia Oracle; La cual contiene: El Diccionario de Datos Cache. Las sentencias SQL y PL/SQL. El rbol semntico de cada sentencia SQL.

El plan de ejecucin de cada sentencia SQL. Estas son guardadas para las sentencias sean requeridas en ms de una ocasin o por ms de un usuario.

Database Buffer Cache

Es un rea de la SGA que guarda copias de los bloques de datos ms recientemente ledos del disco, esto se hace para un mejor desempeo pues si los datos son de nuevo requeridos por un usuario, su acceso es ms rpido. Los bloques pueden contener datos modificados que no son permanentemente escritos a disco y los cuales maneja Oracle de una manera consistente para atender la concurrencia de los usuarios conectados a la base de datos, dichos usuarios comparten el acceso a esta rea.

Redo Log Buffer


Es un buffer en el cual se registran secuencialmente todos los cambios hechos a los datos (sentencias DML, commits, rollbacks). Es usado para reconstruir los cambios hechos a la Base de Datos y a los Segmentos de Rollback cuando ocurre una falla y se necesita hacer recuperacin de datos. Su uso se puede omitir con la opcin UNRECOVERABLE en sentencias create table, create index y en sql*loader.

Diccionario de Datos Cache


Es una coleccin de tablas y vistas que contienen informacin referente a la base de datos, sus estructuras y sus usuarios. Esta informacin incluye: los nombres de todas las tablas y vistas de la Base de Datos. los nombres y los tipos de datos de las columnas de las tablas. los privilegios de todos los usuarios.

Memoria Oracle (SGA)


Su tamao est determinado por los parmetros: Shared_Pool_Size= Tamao en bytes del rea para SQL compartidos y sentencias PL/SQL. Db_Block_Size = Tamao en bytes de un solo bloque de datos. Db_Block_Buffers = Numero de Buffers a localizar en memoria. Log_Buffer = Numero de bytes localizados para para los Redo Log Buffer. SGA = Shared_Pool_Size + (Db_Block_Size * Db_Block_Buffers) + Log_Buffer.

COMPOSICION DE UNA BASE DE DATOS ORACLE

Datafiles

DATAFILES Archivos fsicos que contienen toda la informacin de la base de datos; en ellos estn estructuras tales como tablas e ndices. REDO LOG FILES Archivos fsicos que almacenan el registro de todos los cambios hechos a la base de datos, son utilizados principalmente para procesos de recuperacin y almacena la informacin proveniente de los Redo Log Buffers.

SEGMENTOS DE ROLLBACK

Son una parte de la base de datos, la cual Oracle la utiliza para una actividad que lleva cabo y que consiste en poder restablecer los datos al estado en que estaban antes de que un usuario empezara a modificarlos. En estos segmentos se almacena una imagen de como eran los datos antes de realizar una transaccin para mantener la consistencia de los mismos en operaciones no grabadas y que requieran de un proceso de anulacin.

ALERT FILE

ALERT FILE Archivo en el cual se registran cronolgicamente: Los mensajes y errores producidos por Oracle. Operaciones administrativas como sentencias DDL, STARTUP, SHUTDOWN, ARCHIVE LOG y RECOVER. Los parmetros suministrados al subir la instancia. Oracle usa este archivo para facilitar la labor de administracin en el momento de solucionar problemas. La ubicacin de este archivo esta determinada por el parmetro BACKGROUND_DUMP_DEST (del archivo de parmetros).

Procesos Background

Database Writer (DBWR) Log Writer (LGWR) Checkpoint (CKPT)

System Monitor (SMON) Process Monitor (PMON) Archiver (ARCH) Recoverer (RECO) Lock (LCKn) Snapshot Refresh (Snnn) Shared Server (Snnn) Dispatcher (Dnnn) Parallel Query (Pnnn)

SMON System Monitor


Recuperaciones automticas de la instancia. Libera el espacio de segmentos temporales en memoria o en disco (sorts y join de tablas (tablespace temp)). Efecta el trabajo de defragmentacin en los datafiles (hace contiguas las reas de espacio libre).

LGWR Log Writer

Escribe las transacciones que se encuentran en los Redo Log a Disco cuando ocurre un commit, cuando se llena la tercera parte de los Redo Log. Esta operacin permite que Oracle pueda recuperarse frente a varios tipos de fallos y nicamente existe uno por instancia.

DBWR Database Writer

Es un proceso obligatorio que maneja el Database Buffer Cache para que los procesos de servidor siempre encuentren buffers libres, dicho de otra manera escribe los bloques de datos modificados (en memoria) en los archivos de la base de datos (datafiles) utilizando el algoritmo LRU (menos recientemente utilizados). Es uno de los dos nicos procesos que tienen permitido escribir en los archivos de datos que componen la base de datos Oracle. En ciertos sistemas operativos se pueden tener varios escritores de bases de datos por motivos de rendimiento.

PROCESOS OPCIONALES

ARCH Archiver Es un proceso opcional, encargado de copiar el contenido de los archivos de REDO LOG a cinta o a disco para hacer recuperaciones en caso de fallas. Unicamente es necesario cuando la base de datos se encuentra en modo ARCHIVELOG.

CKPT Checkpoint

Asegura que todos los datos modificados en memoria (database buffers) sean escritos a disco. Oracle produce un punto de comprobacin al conmutar entre los distintos registros que hay en memoria para que las transacciones sean consistentes entre los diferentes usuarios, adems escribe en disco toda la informacin que los usuarios han modificado en memoria y notifica al archivo de control el registro de la transaccin.

LCKn Lock

LCKn Lock Es un proceso opcional, configurado para manejar los bloqueos entre bases de datos Oracle cuando estas se encuentran en distintos computadores y compartiendo el mismo conjunto de discos (es decir en modo servidor en paralelo). RECO Recoverer Este proceso solo se observa cuando la base de datos ejecuta la opcin distribuida de Oracle. La transaccin distribuida es una en la que dos o ms emplazamientos de datos debe mantenerse sincronizados, Por ejemplo cuando se tiene una copia de los datos en diferentes ciudades y por fallas en una lnea telefnica se pierde una transaccin en la mitad de su actualizacin. El proceso recuperador entonces resuelve las transacciones que hayan quedado inconsistentes en las dos ciudades.

CREACION DE UNA BASE DE DATOS OPCIONES AL CREAR UNA BASE DE DATOS ORACLE

ARCHIVO DE PARAMETROS

Es un archivo texto que contiene una lista de los parmetros de configuracin de la instancia (Memoria y procesos Background utilizados por Oracle). Oracle para poder subir la instancia, debe leer el archivo de parmetros initSID.ora, en donde SID es el nombre de la base de datos; estos parmetros son determinados por el administrador de la base de datos al crearla o antes de subir una instancia, y con ellos se pueden determinar aspectos como el tamao de la memoria asignada a Oracle, el tamao de cada bloque en el cual se almacenarn datos etc.

MANIPULACION DE LA BASE DE DATOS


Startup nomount pfile=initprueba.ora (sube la instancia de la base de datos prueba). Alter database prueba open (Permite a todos los usuarios accesar la base de datos). Alter database prueba mount (monta la base de datos para mantenimiento). Alter database mount exclusive (es el default y solo permite a la actual instancia accesar la base de datos). Estando conectado a la base de datos como usuario Internal se puede alterar el estado de la base de datos asi: Alter system enable restricted session (Para futuras conexiones solo permite conectar usuarios que posean ese privilegio). Alter system disable restricted session (Permite que todos los usuarios se conecten a la base de datos).

BAJANDO LA INSTANCIA ORACLE

Conectarse a la base de datos como internal o como un usuario con privilegios suficientes para bajar la instancia (puede ser desde una utilidad como Svrmgrl, OEM o Sql*dba). Shutdown (si no hay usuarios conectados baja la instancia y cierra la base de datos, de lo contrario su funcin consiste en no dejar conectar ningn usuario y esperar a que los que estn conectados salgan o se maten sus tareas. Existen dos opciones que varan esta opcin:

BAJANDO LA INSTANCIA ORACLE

Shutdown Immediate: Las sentencias que estn siendo procesadas por los usuarios no son terminadas completamente, aquellas transacciones que no han sido grabadas (con commit) son reversadas y el servidor Oracle no espera a que los usuarios actualmente conectados a la base de datos se desconecten, sino que cierra y desmonta la base de datos y baja la instancia.

Shutdown Abort: El servidor Oracle no reversa las transacciones que no han sido grabadas y no espera que los usuarios se desconecten de la base de datos, tampoco cierra ni desmonta la base de datos, su trabajo consiste en bajar la instancia (procesos Oracle y memoria). Cuando se requiera volverla a subirla, Oracle por consistencia en sus procesos procede a hacer una recuperacin automtica de la instancia.

OBJETOS DE LA BASE DE DATOS

Oracle utiliza para su funcionamiento muchas estructuras con las cuales un administrador de base de datos debe familiarizarse, ellas se denominan objetos y cada uno de ellos tiene una funcin especfica o trabajo que realizar, y de su buen funcionamiento depende l ptimo desempeo de la Base de Datos. En los ejemplos presentados posteriormente para la creacin, borrado o manipulacin de registros o estructuras se debe saber que Oracle maneja Esquemas; un esquema es una forma de referirse a un Objeto que ha sido creado por otro usuario y al cual puedo tener o no los privilegios para manipularlo. Al necesitar manipular un registro de una tabla o un objeto creado por otro usuario y no tener los privilegios necesarios, debo anteponer el nombre del usuario creador del objeto seguido de un punto y del nombre del objeto "en la instruccin SQL". Ej, para seleccionar todos los registros de la tabla cliente debera escribir "SELECT * from VENTAS.cliente" en donde VENTAS es un usuario creado en la base de datos y el cual es el propietario de la tabla cliente.

TABLA: Es la unidad bsica de almacenamiento en un sistema de bases de datos relacionales, en ellas son almacenados los datos de los usuarios y los datos del sistema Oracle; Cada tabla se compone de varias columnas las cuales cuentan con un tipo de datos asociado. La informacin sobre la estructura de todas las tablas se encuentra en el diccionario de datos y Oracle la utiliza para su funcionamiento.

TABLA: Es la unidad bsica de almacenamiento en un sistema de bases de datos relacionales, en ellas son almacenados los datos de los usuarios y los datos del sistema Oracle; Cada tabla se compone de varias columnas las cuales cuentan con un tipo de datos asociado. La informacin sobre la estructura de todas las tablas se encuentra en el diccionario de datos y Oracle la utiliza para su funcionamiento. Creacin de una tabla: CREATE TABLE cliente ( k_cliente NUMBER(3) NOT NULL, n_cliente VARCHAR2(40) NOT NULL, r_vendedor DATE, PCTFREE 10 PCTUSED 65 STORAGE ( INITIAL 4M NEXT 3M PCTINCREASE 0 MINEXTENTS 2 MAXEXTENTS 20))

TABLESPACE USERS;

Modificacin de una tabla


Modificacin de una tabla 1. ALTER TABLE cliente ADD ( d_direccin VARCHAR2(25), n_telfono NUMBER(10)) 2. ALTER TABLE cliente MODIFY ( n_cliente VARCHAR2(50)) 3. ALTER TABLE cliente MODIFY ( d_direccin VARCHAR2(50) NOT NULL) 4. ALTER TABLE cliente STORAGE (PCTINCREASE 100 MAXEXTENTS 50) 1. Adicionando los campos d_direccin y n_telfono a la tabla 2. Ampliando el tamao del campo n_cliente 3. Agregando un constraint que impide la entrada de valores nulos en el campo d_direccin 4. Alterando los parmetros de almacenamiento de la tabla.

Borrando una tabla


Borrando una tabla 1. DROP TABLE cliente 2. DROP TABLE cliente CASCADE CONSTRAINTS 3. TRUNCATE TABLE cliente 1. Borra la tabla y su estructura si no existen constraints de integridad referencial 2. Borra la tabla y los CONSTRAINTS de integridad referencial hacia la tabla. 3. Borra los datos de la tabla si no existen constraints de integridad referencial. VISTA : Es una consulta SQL de una o varias tablas, la cual se encuentra almacenada en la base de datos y cuyos resultados se devuelven al usuario igual que los de una consulta a una tabla. A diferencia de una tabla, una vista no contiene datos sino nicamente una consulta SQL. Son tiles en seguridad, pues se pueden crear por ejemplo para restringir el acceso a ciertos campos de una tabla (es decir a los usuarios no se les da acceso a toda la tabla, sino a los campos contenidos en la vista), tambin se utilizan para facilitar a los usuarios los (join) complejos entre tablas y la escritura de nombres largos o difciles de las tablas o de sus columnas en las consultas creadas por ellos.

Creacin una Vista


Creacin una Vista 1. CREATE VIEW Vista_Cliente as select k_cliente, n_descripcin from cliente. 2. CREATE O REPLACE VIEW Vista_Cliente as select k_cliente, n_descripcin from cliente.

INDICE: As como el ndice de un libro ayuda a accesar su contenido de una manera ms gil, un ndice de una tabla le ayuda a la base de datos a recuperar informacin con mayor velocidad. Un ndice es una copia en miniatura de una tabla con informacin sobre la(s) columna(s) que forman parte del ndice, y no sobre todas las columnas de la tabla. De esta manera le proporcionan a Oracle un veloz acceso a los datos pues no necesitan subir a memoria los registros completos de la tabla sino nicamente la(s) columna(s) indexada(s) para proceder a realizar la bsqueda requerida, ello conlleva a que en la memoria se puedan cargar muchas mas columnas de registros deseados en lugar de registros completos no deseados. Creando un Indice 1. CREATE UNIQUE INDEX ind_ven_r_vendedor ON CLIENTE(R_VENDEDOR) TABLESPACE users STORAGE (INITIAL 200K NEXT 100K PCTINCREASE 75%). 2. CREATE BITMAP INDEX ind_ven_r_vendedor ON CLIENTE(R_VENDEDOR). 1. UNIQUE especifica que el valor de la columna en la tabla a ser indexada es UNICO. 2. BITMAP es un tipo de ndice utilizado para tablas con millones de registros o en columnas con baja cardinalidad, es decir, aquellas en las cuales el numero de valores distintos es pequeo por ejemplo el sexo "F/M" o el estado civil. Si no se especifica tablespace, Oracle crea el ndice en el tablespace default del usuario que crea el ndice. Se aconseja crear el ndice en un tablespace diferente al de datos y de ser posible en diferente disco para un mejor desempeo de la base de datos.

SINONIMO : Es un nombre alternativo que se crea para un objeto de la base de datos; es normalmente utilizado para las tablas y las vistas de Oracle. Los sinnimos se crean normalmente para ocultar el propietario, la ubicacin o el nombre real de una tabla (as otros usuarios la pueden accesar sin importar quien la haya creado o en donde se encuentre), tambin es utilizado para proporcionar a los usuarios nombres de objetos menos complicados que los reales.

SINONIMO : Es un nombre alternativo que se crea para un objeto de la base de datos; es normalmente utilizado para las tablas y las vistas de Oracle. Los sinnimos se crean normalmente para ocultar el propietario, la ubicacin o el nombre real de una tabla (as otros usuarios la pueden accesar sin importar quien la haya creado o en donde se encuentre), tambin es utilizado para proporcionar a los usuarios nombres de objetos menos complicados que los reales. Creacin de un sinnimo 1. CREATE PUBLIC SYNONYM cliente FOR ventas.cliente. 2. CREATE SYNONYM cliente FOR ventas.cliente@BASE2 1. Crea un sinnimo llamado cliente para todos los dems usuarios de la base de datos, aunque ellos solo podrn hacer actualizaciones al mismo cuando se les otorguen privilegios tales como select, update, insert y delete. 2. Crea un sinnimo llamado cliente de un objeto que se encuentra en otra base de datos llamada BASE2.

ROLE: Es un objeto creado para simplificar el manejo de los privilegios en la Base de Datos cuando existen muchas tablas y muchos usuarios que las accesan. Consisten en agrupar una serie de privilegios en un objeto llamado rol, para que posteriormente este objeto sea otorgado diferentes usuarios o a otros roles. La racionalizacin se da debido a que hay usuarios que necesitan los mismos privilegios que otros y bastara con asignar tales privilegios al mismo rol y este a su vez a cada usuario en lugar de tener que asignar individualmente los privilegios por usuario); de la misma manera, para eliminar un privilegio a estos usuarios solo necesitara eliminarla del role y automticamente lo perderan.

ROLE: Es un objeto creado para simplificar el manejo de los privilegios en la Base de Datos cuando existen muchas tablas y muchos usuarios que las accesan. Consisten en agrupar una serie de privilegios en un objeto llamado rol, para que posteriormente este objeto sea otorgado diferentes usuarios o a otros roles. La racionalizacin se da debido a que hay usuarios que necesitan los mismos privilegios que otros y bastara con asignar tales privilegios al mismo rol y este a su vez a cada usuario en lugar de tener que asignar individualmente los privilegios por usuario); de la misma manera, para eliminar un privilegio a estos usuarios solo necesitara eliminarla del role y automticamente lo perderan. La asignacin de privilegios si no existieran los roles se observan en la figura 2, y empleando los roles serian como muestra la figura 3. Algunas propiedades de los roles son: * Una vez creados no tienen dueo. * Pueden ser asignados a algn usuario de la base de datos o a otro rol. * Pueden ser habilitados o deshabilitados por un usuario que tenga permisos. * Pueden requerir autorizacin (password) para ser habilitados en determinada aplicacin. * Deben ser creados con cierto criterio de empresa, por aplicaciones, por cargos. * Pueden ser habilitados desde SQL*PLUS, PL/SQL, lenguajes de tercera generacin.

Creacin de un rol

Creacin de un rol 1. CREATE ROLE rol_ventas. 2. CREATE ROLE rol_ventas identified by xxxxxx. Crea un rol llamado rol_ventas. Crea un rol llamado rol_ventas y el usuario debe digitar el password xxxxxx para habilitarlo. GRANTS (PRIVILEGIOS): Son otorgados por los dueos de los objetos y permiten a otros usuarios trabajar con sus datos. Algunos son: * Select: permite que otros usuarios pueden examinar el contenido de tablas o vistas que no fueron creadas por ellos. * insert permite a quien lo posee la creacin de registros en las tablas de otros usuarios. * update permite que otros usuarios puedan modificar o cambiar datos en tablas que no son de su propiedad. * delete permite que otros usuarios puedan eliminar registros en tablas que no hayan sido creadas por ellos.

Asignacin de Privilegios

Asignacin de Privilegios 1. GRANT select, insert, update ON cliente TO rol_ventas. 2. GRANT rol_ventas TO Marina 3. GRANT rol_ventas TO Marina WITH ADMIN OPTION 1. Asigna privilegios de consulta insercin y actualizacin a rol_ventas. 2. Otorga todos los privilegios dados a rol_ventas a un usuario de la base de datos llamado Marina. 3. Hace los mismo que el anterior pero adicionalmente permite que el usuario Marina pued conceder privilegios de rol_ventas a otros usuarios de manera transitiva.

1. Creacin Usuarios

El Superusuario de Oracle es system sql> connect system/password sql> create user Carlos identified by Carlos99 solo se puede conectar a al bd sql> connect Carlos/Carlos99 sql> connected sql> connect system/password sql> Grant dba to Carlos (maxima permiso) Grant resource to Carlos (puede crear tabla paces, tablas) sql>

METODOS DE RESPALDO Y RECUPERACION

Oracle ofrece varios tipos de respaldo para la informacin; entre ellos no existe un mtodo que sea el ms ptimo para todas las organizaciones, debido a que son muchos los factores que inciden y se deben evaluar para determinar cual es el mejor procedimiento para determinado escenario de recuperacin. Cada mtodo de respaldo cumple funciones definidas, es por ello que se debe conocer muy bien la Base de Datos, la carga transaccional y la criticidad de la informacin entre otros para determinar el tipo de respaldo que necesita cada organizacin. EXPORT E IMPORT Es uno de los ms usados por los clientes de Oracle por su flexibilidad y portabilidad y solo se puede hacer si la Base de Datos esta abierta;

Ventajas

Selectividad muy alta: se puede respaldar desde una tabla de la base de datos hasta toda la informacin almacenada en ella. Si se desea se pueden guardar nicamente las estructuras de los objetos, los triggers, los constraints etc. Esta misma selectividad funciona al restaurar la informacin posteriormente desde el Backup. Portabilidad: Un archivo de "export" puede ser exportado de y desde cualquier sistema operativo que soporte Oracle7 o superior y ser importado en y desde

cualquier sistema operativo con la ayuda de SQL*Net (herramienta de conectividad de Oracle). Herramienta de Reorganizacin: una vez hecho un "export ", al restaurar los datos con el "Import" correspondiente se pueden relocalizar los objetos en otros tablespaces o si se quiere se pueden cambiar sus parmetros de almacenamiento; tambin permite crear los ndices por separado acelerando el tiempo del import y cambiar de esquema (usuario dueo) los objetos si quien los importa posee los privilegios suficientes. Permite recuperar informacin perdida por errores de usuario o del servidor como son: drops, truncates, deletes, corrupcin de registros en tablas, perdida de tablas al perderse el tablespace o la base de datos, borrado de objetos y por ende su definicin entre ellos triggers, constraints etc.

Desventajas

Tamao y tiempos impredecibles: es muy difcil predecir el tamao que tendr un archivo de "export" al igual que el tiempo que durar el mismo o en su defecto el import. Puede que se requiera pasar todo el archivo de export para importar solo una parte: debido al recorrido secuencial para realizar un import, si el objeto buscado esta al comienzo del archivo se detiene despus de importarlo, pero si est al final tiene que recorrer todo el archivo para recuperar solo ese(os) objeto(s).

2. RESPALDOS EN FRIO (Cold backup)

Es un mtodo de respaldo muy restrictivo, y debe hacerse nicamente cuando la base de datos este cerrada. Es til en el evento de perdida total de la base de datos. Ventajas: La consistencia de datos est garantizada: No se da el caso de que los datos a ser respaldados estn siendo usados por algn usuario por que ellos no pueden acceder a la base de datos. Todo incluido: Este tipo de respaldo incluye todos los Datafiles, los Controlfiles, y los Logfiles; no hay posibilidad de que alguna tabla o vista no quede en el backup. El espacio que ocupa es conocido, adems el tiempo de respaldo y recuperacin es predecible. Desventajas: Nada excluido: esto se convierte en una desventaja cuando no se desea restaurar toda la informacin. Aqu no se permiten hacer respaldos ni restauraciones parciales, es decir "se respalda todo o nada y se restaura todo o nada"; Solo se puede hacer con la base de datos cerrada: nadie puede estar trabajando.

3. RESPALDOS EN CALIENTE (Hot Backup)

Este tipo de respaldo es especialmente utilizado en organizaciones en las cuales la base de datos necesita estar disponible durante las veinticuatro horas y los siete dias de la semana. Los respaldos en caliente son una consecuencia de una funcionalidad de Oracle llamada el modo "ARCHIVE". Este modo consiste en configurar algunos

parmetros de la base de datos para que se registren todos los cambios hechos a la misma por mnimos que sean en unos archivos llamados "REDO LOGS". Oracle lleva un histrico del orden de los Redo Logs (y por ende de las transacciones realizadas a la base de datos) y cuando hay necesidad de restaurar informacin, lo hace consistentemente y deja la base de datos como estaba hasta el momento en el cual las fallas ocurrieron o hasta el punto en el tiempo que el cliente lo desee; esto se hace restaurando un cold backup y aplicando los Redo Logs (transacciones) ocurridas a partir de ese backup hasta una fecha y hora determinada que se necesite. De esta forma se obtiene una fotografa exacta y consistente de cmo estaba la base de datos en un da y hora determinados. Ventajas

Selectivo a nivel de tablespace: Se respaldan todos los datafiles (archivos fsicos de datos) de un tablespace completo y por ende todos los objetos almacenados en l. No interfiere con la operacin normal de la base de datos en produccin: no hay necesidad de cerrar la base de datos y los usuarios pueden estar trabajando. Se puede recuperar hasta cualquier punto en el tiempo: si se respaldan los Redo Logs suficientes y se mantienen respaldos en fro o calientes anteriores, se puede recuperar informacin en cualquier fecha y hora especificados. Siempre recupera de manera consistente: es la nica manera de recuperar la informacin.

Desventajas

La consistencia es forzosa: si se recupera toda la informacin no hay espacio para hacer modificaciones, selecciones o adecuaciones. Si se desea recuperar un objeto, no importa que haya sufrido o cual objeto sea, se deben recuperar todos los archivos de datos "datafiles" en donde ese objeto resida hasta el momento cuando la base de datos quede consistente. Es necesario mantener todos los Redo Logs archivados: Si por alguna razn un Redo Log archivado se pierde, no se podr recuperar la base de datos mas all del ltimo Redo Log antes del cual se perdi. Se necesitan recursos importantes de disco para almacenar todos los Redo Logs, adems de una administracin cuidadosa con polticas para bajar estos archivos a cinta en horas determinadas y para relacionar en alguna parte informacin como el numero de la cinta, la fecha, la hora, de que numero a que numero de Redo Log se bajo y la persona que realiz la labor.

PROCESO ESTANDAR PARA LA GENERACION DE UN FULL-EXPORT


Se debe tener un comando "AT" programado para que active un archivo llamado "Backup" de manera automtica. El archivo Backup contendr lo siguiente: EN WINDOWS NT : El archivo Backup es una opcin de Inicio, programas y contendr lo siguiente: d:\orant\bin\exp73.exe parfile = d:\orant\backup\param_fullexp.txt El archivo PARAM_FULLEXP.TXT contiene lo siguiente Backup/Backup

full=y compress=y indexes=y file=d:\orant\backup\fullexpor.dmp log=d:\orant\backup\fullexpor.log rows=y EN UNIX: EXP USERID=Backup/Backup BUFFER=3076000 FILE=/u01/Backup/Fullexport.dmp FULL=Y COMPRESS=Y GRANTS=Y INDEXES=Y CONSTRAINTS=Y ROWS=Y LOG=/u01/Backup/Fullexport.log Para lo anterior se debe crear un usuario llamado Backup en las bases de datos, y direccionar los archivos con extensin (.dmp) a un disco con suficiente espacio.

PROCESO ESTANDAR PARA LA GENERACION DE UN Cold-Backup

Este es un respaldo de todos los archivos de la base de datos (no de sistema operativo, aunque se podran incluir), habiendo sido esta bajada en forma normal. Los archivos a copiar en este tipo de respaldo son los generados en las siguientes busquedas: select status, enabled, bytes, name from v_$datafile; select * from v_$controlfile; select status, member from v_$logfile; Adems se debe respaldar el archivo initsid.ora. Para respaldarlos se requiere una utilera del sistema operativo como tar,cp,cpio etc. Siempre y cuando se garantice que los archivos cuando se restauren queden iguales; (Se debe tener en cuenta que en algunos sistemas operativos estos comandos producen lo que se llama un 'sparce file' lo cual significa que trunca los espacios vacios de un archivo, esto daa o corrompe los datafiles).

EN WINDOWS NT :

1. Verificar que no hayan usuarios conectados a la base de datos. 2. Entrar a Inicio, Programas y ejecutar el comando "BAJAR_BD", el cual baja la base de datos y contiene: d:\orant\bin\oradim73.exe -shutdown -sid ORCL -usrpwd oracle shuttype srvc,inst -shutmode n 3. Entrar a la utilidad de backup de Windows NT, escoger la unidad requerida, y los archivos a ser respaldados, incluyendo D:orant y los directorios en donde estn los archivos con extensiones .trc, .dmp, .ctl, .dbf, .log, init*.ora. 4. Entrar a Inicio, Programas y ejecutar el comando "SUBIR_BD", el cual sube la Base de Datos y contiene: d:\orant\bin\oradim73.exe -startup -sid ORCL -usrpwd oracle -starttype srvc,inst -pfile d:\orant\database\initorcl.ora

EN UNIX

Bajar la base de datos asi:

Estando conectado a Unix verificar que no hayan usuarios conectados a la base de datos svrmgrl connect internal shutdown exit ejecutar el script que genera la copia de los archivos a ser respaldados Subir la base de datos asi: svrmgrl connect internal startup

PROCESO ESTANDAR PARA LA GENERACION DE Hot-Backup

Para inicializar este modo de operacin se recomienda hacer antes un backup de la base de datos por si ocurre algn problema. Posteriormente se deben configurar en el archivo INITsid.ORA los siguientes parmetros: LOG_ARCHIVE_DEST = (Directorio donde seran grabados los archivos Ejemplo: d:/backup/archive/arch). LOG_ARCHIVE_FORMAT = (Formato del nombre de los archivos Ejemplo: %t_%s.dbf) LOG_ARCHIVE_START = TRUE enseguida se deben ejecutar los siguientes comandos: Alter database mount; (Sube la instancia pero no abre la base) Alter database archivelog; (Coloca la base en modo Archivelog) Archive log start; (Activa el archive automaticamente cada vez suba la instancia) Alter database open; (Abre la base de datos y la deja disponible) Para minimizar el impacto en el rendimiento por este mtodo de respaldo, se aconseja incrementar el numero de LOG_ARCHIVE_BUFFERS a 2,3 o mas y el tamao de LOG_ARCHIVE_BUFFER_SIZE al mximo posible (dependiendo del sistema operativo consultar users guide). Informacin adicional de este metodo de respaldo se encuentra digitando ARCHIVE LOG LIST, o haciendo la consulta select group#, archived from sys.v_$log.

PROCESO ESTANDAR PARA LA RESTAURACION DE UN FULL-EXPORT

Se debe tener presente si se desea restaurar la informacin por tabla, usuario o la base de datos, pues del fullexport puedo obtener los tres. Adems se debe evaluar si se desea sobreescribir la informacin existente al bajar el fullexport o si se baja sobre un usuario temporal para posteriormente proceder a hacer el insert a las tablas originales. Restaurar el archivo (Fullexport.dmp) de la cinta a un disco con suficiente capacidad. EN WINDOWS NT : Modificar uno de los siguientes tres archivos segn el tipo de Import que se desee realizar : d:\orant\backup\Imp_tabla d:\orant\backup\Imp_user d:\orant\backup\Imp_full.

Digitar el siguiente comando por inicio ejecutar o por Ms-dos (no se hace automatico por que son muchos los escenarios que se pueden presentar y especificos segn el import deseado,debido a ello existe cierto riesgo de error). d:\orant\bin\imp73.exe parfile = d:\orant\backup\imp_tabla d:\orant\backup\imp_user d:\orant\backup\imp_full segn el archivo que haya modificado anteriormente.

UN EJEMPLO del archivo IMP_TABLA sera:


UN EJEMPLO del archivo IMP_TABLA sera: IMP Backup/Backup Fromuser = contab (usuario dueo de la tabla a ser restaurada) Touser=bajarinf (usuario en el cual deseorestaurar la tabla, puede ser el dueo File= d:\orant\backup\fullexpor.dmp (archivo restaurado de la cinta) Tables = (emp,cliente,...) Log = d:\orant\backup\impt.log UN EJEMPLO del archivo IMP_USER sera: IMP Backup/Backup Fromuser = contab (usuario dueo de los objetos a restaurar) Touser = bajarinf (usuario en donde voy a bajar los objetos) File= d:\orant\backup\fullexpor.dmp(archivo restaurado de la cinta) Log = d:\orant\backup\impu.log UN EJEMPLO del archivo IMP_FULL sera: IMP Backup/Backup Full = Y File= d:\orant\backup\fullexpor.dmp Log = d:\orant\backup\impf.log Commit = Y

EN UNIX

Crear un directorio Modificar uno de los siguientes tres archivos segn el tipo de Import que se desee realizar : d:\orant\backup\Imp_tabla d:\orant\backup\Imp_user d:\orant\backup\Imp_full. EXP USERID=Backup/Backup BUFFER=3076000 FILE=/u01/Backup/Fullexport.dmp FULL=Y COMPRESS=Y GRANTS=Y INDEXES=Y CONSTRAINTS=Y ROWS=Y LOG=/u01/Backup/Fullexport.log

PROCESO ESTANDAR PARA LA RESTAURACION DE Cold-Backup


PROCESO ESTANDAR PARA LA RESTAURACION DE Cold-Backup Bajar estos archivos es tan sencillo como copiar los archivos del medio en donde se respaldaron a su posicin original. Se debe tener en cuenta que cuando se esta en modo NOARCHIVELOG (este se verifica haciendo un select * from sys.v_$database) se debe bajar completamente, sin dejar ningn archivo de lado,

de lo contrario la base de datos no reconocer los archivos bajados o los que ya estaban y presentar problemas.

RECOMENDACIONES Generar ayudas con EXP HELP=Y El usuario con el que se va a hacer el full_export de la base de datos debe tener el rol exp_full_database. Evaluar si se hace por usuario (por tabla no ??) o fullexport. O si se requiere Archive mode. El export incremental es recomendable cuando no se modifican mucho los datos. De escogerse uno de estos dos ver si hay un administrador que verifique cada incremental export y/o cumulative para consistencia. Cualquier duda consultar el Utilities users guide.

IMPORT

IMPORT El import se puede hacer a nivel de tabla, usuario o Full database dependiendo de los privilegios de quien importa y de la manera como se hizo el export. SECUENCIA DE RECUPERACION UTILIZANDO IMPORT Digite el comando IMP username / password PARFILE = filename o IMP PARFILE = filename El username/password especifican quien hace el import, lo importante es que tenga los privilegios suficientes. el tamao del Buffer Size se estima como = rows_in_array * maximun_row_size

RECOMENDACIONES

RECOMENDACIONES Si se necesita importar tablas con campos tipo LONG debe aumentar el tamao del Buffer Size por que se genera un error. Para importar los indices se debe cambiar el default tablespace del usuario con el cual se desea hacer la restauracin para que estos no se mezclen en el tablespace de los datos (este proceso es posterior al de la importacin de los datos). Debido a los privilegios que necesita el import para crear cada objeto seria aconsejable darle grant DBA o (IMP_FULL_DATABASE ??) al usuario con el cual se va a restaurar ??.(adems de quotas por tablespace o unlimited tablespace. Si se desea ayuda en el import se digita IMP HELP=Y mirar que es KEYWORD = value , = (value) o = (value,value,)

OBJETOS DE LA BASE DE DATOS

Para una mejor comprensin del tema es muy importante familiarizarse con los principales objetos con los cuales trabaja Oracle. Cada uno de ellos tiene una funcin especfica o trabajo que realizar, y de su buen funcionamiento depende l ptimo desempeo de la Base de Datos. Por seguridad e integridad de la informacin, Oracle maneja Esquemas; un esquema es una forma de referirse a un Objeto que ha sido creado por otro usuario y al cual puedo tener o no los privilegios para manipularlo.

Al necesitar manipular un registro de una tabla o un objeto creado por otro usuario y no tener los privilegios necesarios, debo anteponer el nombre del usuario creador del objeto seguido de un punto y del nombre del objeto "en la instruccin SQL". Ej: para seleccionar todos los registros de la tabla cliente debera escribir "SELECT * from VENTAS.cliente" en donde VENTAS es un usuario creado en la base de datos y el cual es el propietario de la tabla cliente.

TABLA: Es la unidad bsica de almacenamiento en un sistema de bases de datos relacionales, en ellas son almacenados los datos de los usuarios y los datos del sistema Oracle; Cada tabla se compone de varias columnas las cuales cuentan con un tipo de datos asociado. La informacin sobre la estructura de todas las tablas se encuentra en el diccionario de datos y Oracle la utiliza para su funcionamiento.

TABLA: Es la unidad bsica de almacenamiento en un sistema de bases de datos relacionales, en ellas son almacenados los datos de los usuarios y los datos del sistema Oracle; Cada tabla se compone de varias columnas las cuales cuentan con un tipo de datos asociado. La informacin sobre la estructura de todas las tablas se encuentra en el diccionario de datos y Oracle la utiliza para su funcionamiento. VISTA: Es una consulta SQL de una o varias tablas, la cual se encuentra almacenada en la base de datos y cuyos resultados se devuelven al usuario igual que los de una consulta a una tabla. A diferencia de una tabla, una vista no contiene datos sino nicamente una consulta SQL. Son tiles en seguridad, pues se pueden crear por ejemplo para restringir el acceso a ciertos campos de una tabla (es decir a los usuarios no se les da acceso a toda la tabla, sino a los campos contenidos en la vista), tambin se utilizan para facilitar a los usuarios los (join) complejos entre tablas y la escritura de nombres largos o difciles de las tablas o de sus columnas en las consultas creadas por ellos.

INDICE: As como el ndice de un libro ayuda a accesar su contenido de una manera mas gil, un ndice de una tabla le ayuda a la base de datos a recuperar informacin con mayor velocidad. Un ndice es una copia en miniatura de una tabla con informacin sobre la(s) columna(s) que forman parte del ndice, y no sobre todas las columnas de la tabla. De esta manera le proporcionan a Oracle un veloz acceso a los datos pues no necesitan subir a memoria los registros completos de la tabla sino nicamente la(s) columna(s) indexada(s) para proceder a realizar la bsqueda requerida, ello conlleva a que en la memoria se puedan cargar muchas mas columnas de registros deseados en lugar de registros completos no deseados.

INDICE: As como el ndice de un libro ayuda a accesar su contenido de una manera mas gil, un ndice de una tabla le ayuda a la base de datos a recuperar informacin con mayor velocidad. Un ndice es una copia en miniatura de una tabla con informacin sobre la(s) columna(s) que forman parte del ndice, y no sobre todas las columnas de la tabla. De esta manera le proporcionan a Oracle un veloz acceso a los datos pues no necesitan subir a memoria los registros completos de la tabla sino nicamente la(s) columna(s) indexada(s) para proceder a realizar la bsqueda requerida, ello conlleva a que en la memoria se

puedan cargar muchas mas columnas de registros deseados en lugar de registros completos no deseados.

SINONIMO: Es un nombre alternativo que se crea para un objeto de la base de datos; es normalmente utilizado para las tablas y las vistas de Oracle. Los sinnimos se crean normalmente para ocultar el propietario, la ubicacin o el nombre real de una tabla (as otros usuarios la pueden accesar sin importar quien la haya creado o en donde se encuentre), tambin es utilizado para proporcionar a los usuarios nombres de objetos menos complicados que los reales.

ROLE (FUNCION): Son objetos creados para simplificar el manejo de los privilegios en la Base de Datos cuando existen muchas tablas y muchos usuarios que las accesan. Consisten en agrupar una serie de privilegios en un objeto llamado Rol, para que posteriormente este objeto sea otorgado diferentes usuarios o a otros roles. La racionalizacin se da debido a que hay usuarios que necesitan los mismos privilegios que otros y bastara con asignar tales privilegios al mismo rol y este a su vez a cada usuario en lugar de tener que asignar individualmente los privilegios por usuario); de la misma manera, para eliminar un privilegio a estos usuarios solo necesitara eliminarla del role y automticamente lo perderan.

ROLE (FUNCION): Son objetos creados para simplificar el manejo de los privilegios en la Base de Datos cuando existen muchas tablas y muchos usuarios que las accesan. Consisten en agrupar una serie de privilegios en un objeto llamado Rol, para que posteriormente este objeto sea otorgado diferentes usuarios o a otros roles. La racionalizacin se da debido a que hay usuarios que necesitan los mismos privilegios que otros y bastara con asignar tales privilegios al mismo rol y este a su vez a cada usuario en lugar de tener que asignar individualmente los privilegios por usuario); de la misma manera, para eliminar un privilegio a estos usuarios solo necesitara eliminarla del role y automticamente lo perderan. Algunas propiedades de los roles son: Una vez creados no tienen dueo. Pueden ser asignados a algn usuario de la base de datos o a otro rol. Pueden ser habilitados o deshabilitados por un usuario que tenga permisos para ello. Pueden requerir autorizacin (password) para ser habilitados en determinada aplicacin. Deben ser creados con cierto criterio de empresa, por aplicaciones, por cargos etc. Pueden ser habilitados desde SQL*PLUS, PL/SQL, lenguajes de tercera generacin.

GRANTS (PRIVILEGIOS): Son otorgados por los dueos de los objetos y permiten a otros usuarios trabajar con sus datos. Algunos de ellos son:

GRANTS (PRIVILEGIOS): Son otorgados por los dueos de los objetos y permiten a otros usuarios trabajar con sus datos. Algunos de ellos son: Select: permite que otros usuarios pueden examinar el contenido de tablas o vistas que no fueron creadas por ellos. Insert permite a quien lo posee la creacin de registros en las tablas de otros usuarios. Update permite que otros usuarios puedan modificar o cambiar datos en tablas que no son de su propiedad.

Delete permite que otros usuarios puedan eliminar registros en tablas que no hayan sido creadas por ellos. DICCIONARIO DE DATOS:Contiene informacin referente a las estructuras de las tablas; es actualizado y utilizado por Oracle.

Potrebbero piacerti anche