FACULTAD DE INGENIERIAS INDUSTRIAL, SISTEMAS E INFORMATICA
ESCUELA ACADEMICO PROFESIONAL DE INGENIERIA INFORMATICA
CURSO BASE DE DATOS
SEPARATA Nº 02 ADMINIS ADMINISTRA TRACIO CION N Y MANTEN MANTENIMI IMIENT ENTO O DE ARC ARCHIV HIVOS OS - ORACLE ORACLE 11G
DOCENTE ING. CIP EDWIN IVAN FARRO PACIFICO
HUACHO-LIMA PERU
ADMINISTRACION DE ARCHIVOS Archivos de Parámetros PFILE:
El fichero de parámetros, comúnmente llamado fichero init.ora, es un fichero de texto que puede ser mantenido utilizando un editor de un mismo sistema operativo estándar. Por defecto está localizado en el directorio $ORACLE_HOME/dbs en una máquina UNIX y en el directorio %ORACLE_HOME%\database en NT. El fichero de parámetros se lee sólo durante el inicio de la instancia. Si es modificado, cerrar y volver a iniciar la instancia para hacer efectivo el cambio de valores en l nuevo parámetro. Usos de parámetros
Los parámetros en el fichero init .ora pueden tener un efecto significativo en el rendimiento, y algunos necesitan ser modificados de las siguientes formas para sistemas de producción: Componentes del tamaño del área Global del Sistema (SGA) para optimizar el rendimiento Seleccionar valores por defecto de la base de datos y de la instancia. Seleccionar los límites de la base de datos. Definir (sólo en la creación de base de datos) varios atributos físicos de ella, tales como el tamaño del bloque de la misma. Especificar los ficheros de control, ficheros log archivados y la localización del fichero trace.
En resumen: Archivo de texto Parámetros y valores Esta en C:\app\Administrador\admin\oracle\pfile\init.ora.7 1520145454
Crear el archivo pfile
Lo trae como una plantilla. Procedimiento: 1. Apagar oracle 2. Borrar el archivo spfile 3. C o p i a r de C:\app\Administrador\admin\oracle\pfile\init.ora.7 1520145454 hacia C:\app\Administrador\product\1 1.1 .0\db_1 \database\ 4. Cambiar el nombre del archivo init.ora.71520145454 por initOracle.ora. Ahora reinicie la instancia para que los cambios tengan efecto. SPFILE:
Archivo binario Versión moderna administrado por el oracle
Para editarlo utilice la siguiente sintaxis: alter system set parametro=valor scope=spfile;
Mg Ing. Edwin Iván Farro Pacífico
Pag. 2
Está ubicado en: D:\oracle\product\1 0.2.0\db_1 \dbs\spfileOracle.ora Contiene los parámetros de inicio cuando Oracle arranca 1. Verifica si existe el PFILE 2. S i e x i s t el o L E E 3. Lee el SPFILE ¿Que pasa sino tenemos SPFILE?
Se crea en función del PFILE Crear el spfile en función al pfile.
create spfile from pfile 2. Apagar oracle 3. Encender oracle 4. Mostrar tamaño del db_cache y shared_pool_size ARRANQUE Y PARADA DE UNA BASE DE DATOS ORACLE ARRANQUE
El arranque de una base de datos ORACLE requiere tres etapas 1. Arrancar la instancia
En esta parte del arranque se generan los procesos background. Se crea la SGA. Sus dimensiones se basan en el fichero de inicialización "init.ora". SQL> shutdown immediate: SQL> startup nomount;
2. Montar la base de datos En esta parte del proceso de arranque se produce la
conexión al/los archivo/s de control. En este estado se puede: - Cambiar el modo de archivado de la B.D. - Renombrado de archivos de Redo Log o del asociado al tablespace SYSTEM - Crear, modificar o suprimir nuevos Redo Log o grupos de Redo Log Partiendo del anterior estado (nomount), montamos la base de datos de la siguiente forma: SQL>alter database mount;
Mg Ing. Edwin Iván Farro Pacífico
Pag. 3
3. Abrir la base de datos En esta parte de proceso abren todos los ficheros asociados a los tablespaces y los ficheros de Redo Log. La B.D. está accesible para todos los usuarios Si es necesaria una recuperación (por un fallo de luz o CPU), se produce en este momento.
Partiendo del anterio estando (mount), abrimos la base de datos de la siguiente forma: SQL> alter database open; Parada base de datos shutdown normal o shutdown
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.
SQL> shutdown normal; Shutdown Transactional
No permite nuevas conexiones No espera a los usuarios salgan, los desconecta Espera que todas las transacciones terminen
SQL> shutdown transactional; 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 están conectados al intentar realizar una nueva transacción reciben el mensaje "Shutdown in progress". El proceso PMON finaliza las sesiones no activas y realiza ROLLBACK de aquellas transacciones que no estén validadas. Cierra y desmonta la B.D. Cierra la SGA para los procesos background. Necesita recuperacion al arrancar la base de datos.
SQL> shutdown transactional; shutdown abort:(daña la base de datos)
No permiten nuevas conexions No se espera que todos los usuarios se desconecten No espera que las transacciones finalicen No hace checkpoint
SQL> shutdown abort;
Mg Ing. Edwin Iván Farro Pacífico
Pag. 4
MANTENIMIENTO DEL CONTROL FILE Es pequeño Es binario (no puede ser abierto desde el bloc de notas) Es administrado por oracle Contiene el estado físico de la base de datos o situación de la base de datos. Se carga en el estado mount Si está dañado no carga la base de datos. Contiene información sobre las tablas, TableSpace, Datafile, Redolofile. Multiplexar Control File Usando el spfile
Procedimiento. 1. Ver ubicación SQL>select * from v$controlfile; 2. Desmontar base de datos SQL>shutdown immediate; 3. Crear en otra unidad de disco la carpeta D:\bk_ctl
4. Copiar cualquiera de los control File hacia la carpeta D:\bk_ctl 5. Levantar en estado nomount SQL>startup nomount; 6. Modificar el spfile agregando la nueva ubicación del controlfile SQL>alter system set control_files=’c:\oracle\oradata\oracle\control01 .ctl’, ’c:\oracle\oradata\oracle\control02.ctl’, ’c:\oracle\oradata\oracle\control03.ctl’, ’d:\bk_ctl\control04.ctl’ scope=spfile 7. Desmontar las base de datos 8. Levantar la base de datos Usando el pfile
Procedimiento. 1. Desmontar base de datos SQL>shutdown immediate; 2. Crear en otra unidad de disco la carpeta D:\bk_ctl
3. Copiar cualquiera de los control File hacia la carpeta D:\bk_ctl 4. Modificar el pfile agregando la nueva ubicación del controlfile control_files=’c:\oracle\oradata\oracle\control01 .ctl’, ’c:\oracle\oradata\oracle\control02.ctl’, ’c:\oracle\oradata\oracle\control03.ctl’, ’d :\bk_ctl\control04.ctl’ scope=spfile 5. Borrar el spfile 6 . C r e a re l s p fi l e
Mg Ing. Edwin Iván Farro Pacífico
Pag. 5
create spfile from pfile; 7. Levantar la base de datos
MANTENIMIENTO DEL REDO LOG FILE Archivos con extensiones log que guardan las transacciones del RedoLogBuffer. Es administrado por oracle. Cuando se apaga incorrectamente oracle, el control file lo indica el RedoLogFile y este levanta al RedoLogBuffer las transacciones inconclusas y se vuelven a ejecutar. Están organizados en grupos y deben ser 2 como mínimo. Ver estado de los redolog: SQL>select * from v$log; Cada grupo está formado por miembros, que son equivalents a un archive. Mostrar ubicación: SQL>select * from v$logfile; Redo01 .log
Redo02.log
Redo03 .log
Lleno pasa -> Activo
Llena pasa -> Current
Llena pasa -> Inactivo
Cada grupo tiene 3 estados: Inactivo: Cuando es nuevo Current: Actual en el que se está escribiendo Activo: Ya nos es el actual pero contiene datos importantes
Cuando un grupo está en current no se puede manipular ¿Como hacer que pase el redo2 de current hacia activo y el inactivo a current? Haciendo un switch SQL> alter system switch logfile Al momento de crear la base de datos en el parámetro maxlogfile indicamos cuantos grupos puedo tener. Crear más grupos de redolog:
Mg Ing. Edwin Iván Farro Pacífico
Pag. 6
SQL>alter database add logfile group 4 (' d:\bk_redolog\redo04.log') size 10m; Multiplexar Espejos Redo01 .log
Redo0 1 a.log
Lleno pasa -> Activo
Redo02.log
Redo03 .log
Redo02a. log
Redo03a.log
Llena pasa -> Current
Llena pasa -> Inactivo
Para multiplexer redolog es recomendable que se haga en otra unidad de disco ¿Cuántos espejos puedo tener? El máximo número de espejos se especifica en MAXLOGMEMEBERS, al momento de crear la base de datos. SQL>alter database add logfile member ‘d:\bk_redolog\REDO01a.LOG’ to group 1; Agregar un miembro a cada grupo en una sóla instrucción SQL>alter database add logfile member ‘d:\bk_redolog\REDO02a.LOG’ to group 2, ‘d:\bk_redolog\REDO03a.LOG’ to group 3, ‘d:\bk_redolog\REDO04a.LOG’ to group 4; Crear un grupo con varios miembros SQL>alter database add logfile group 5 (‘d :\bk_redolog\REDO05a.LOG’, ‘d:\bk_redolog\REDO05b.LOG’, ‘d:\bk_redolog\REDO05c. LOG’) size 10mb;
Es el mismo miembro
Borrar miembros
Sin uso o inactiva SQL> alter database drop logfile member ‘d:\bk_redolog\REDO05a.LOG’ Borrar grupos
Sin uso o inactiva SQL> alter database drop logfile group4
Mg Ing. Edwin Iván Farro Pacífico
Pag. 7
‘d:\bk_redolog\REDO04.LOG’ Ver grupos y su estado SQL>select * from v$log;
Mg Ing. Edwin Iván Farro Pacífico
Pag. 8