Professional Documents
Culture Documents
Si existen problemas en los ficheros de control la BD puede quedar en estado NOMOUNT, es decir se levanta la instancia pero no monta los ficheros. Cuando se abre los ficheros de control pero no se comunica con la instancia estar en modo MOUNT pero no OPEN
ESTRUCTURAS ALMACENAMIENTO
Estructuras bsicas de almacenamiento: Control Files, Data Files y Redo Log Files. Control Files: es un fichero (catlogo) guarda la estructura de la BD es decir donde estn los data files, los redo logs. Es un fichero crtico si este se corrompe no puede arrancar la BD. Es bueno tener dos copias de este y en almacenamientos diferentes.
Se ponen de forma ordenada los inserts, updates y deletes ; tambin commits y rollbacks de esas transacciones . Oracle es una BD relacional y transaccional ejemplo se realizan 10 updates a la BD eso se commitan como una sola transaccin Las secuecias se guardan mediante el LGWR se almacenan en el buffer y el LGWR los escribe en cada grupo.
ESTRUCTURA DE ALMACENAMIENTO
Los tablespace almacenan los datos. Data File es la estructura fsica es cada uno de los ficheros donde se almacenan los datos
TABLAS, INDICES, CUANDO EXISTEN PROBLEMAS DE BLOQUES CORRUPTOS MUESTRA Y LOS RECUPERA
Rendimiento muestra grficas de la BD como trabaja la memoria, la cpu si hay algn problema de esperas en grabacin de datos, espera en bloqueos, etc. La pestaa disponibilidad aqu se realizan los backups aqu se puede ver como se han realizado los backups y tambin se puede usar para recuperarlos. En la pestaa servidor manejaremos los tablespace, datafiles. Esquema maneja dentro de un esquema las tablas, los ndices, las secuencias. Movimiento de datos es la parte de DataPump se puede hacer los export e import de datos. El DataPump se debe programarlo ya que se crea como un job en la DB y se puede hacer una programacin para que todos los das se haga un export de un esquema o todos los esquemas de la BD o de una tabla especfica. Soporte y software con licencia de metalink propone parches y soporte dar CR de manera automtica la notificacin para que oracle lo revise. Alertas, porcentajes de cumplimiento que da oracle ejemplo disponibilidad de la base de datos, nmero de reglas crticas que se han violado. Actividades planificadas, cuales han dado problemas y cuales se han suspendido Enlaces relacionado varan de acuerdo a la pantalla en la que se
Existen tablespace preconfigurados cuando se crea la BD SYSTEM, SYSAUX, TEMP, UNDO son obligatorios y otros optativos como USER y EXAMPLES SYSTEM contiene diccionario de datos SYSAUX datos auxiliares como datos del repositorio del EM
Un data file puede estar en un tablespace Tablespace puede tener ms de un datafile Cuando se crea el esquema de la BD se indica cual es el tablespace por defecto
Comunicacin por medio de TCP/IP y protocolo oracle Net; en el server esta el Listener y en el cliente que utiliza Oracle Net por medio de un archivo TNSNAMES en el cual se le indica la IP y el nombre de la instancia.
Aplicacin puede ser un JDBC o cualquier aplicativo
LISTENER
Utilizando NETCA, EM
Pantalla inicial, enlaces relacionados , puede ir a ver los Listener que tiene y crear uno nuevo , suprimir, detener, etc.. No es recomendable suprimir listener desde esta pantalla.
Usuario se conecta al servidor con el nombre descrito en la conexin Tnsnames , llama al Listener el cual crea una conexin a la BD, crea un proceso server, reserva un tamao determinado en la PGA y se puede trabajar con la BD.
PRCTICA
Utilizar distintas formas de conexin a la Base de Datos desde un cliente Windows 1.- Usar Putty 2.- Abrir EM desde el browser 3.- Oracle Sql Developer
FRAMEWORK ORACLE
Oracle tiene 3 componentes bsicos: Instancia BD,
Listener que permite la conexin a la BD La interface de administracin o control BD (EM) DBCONSOLE, si tiene 1 DB el puerto es 1158. $ORACLE_HOME/install se encuentra portlist.ini indica los puertos de la BD.
SQL PLUS
Puede ejecutar comandos SQL Plus, SQL y PL/SQL Ingresar, editar, ejecutar, almacenar, recuperar y grabar bloques de comandos SQL y PL/SQL Formatear, calcular, almacenar e imprimir resultados de query Listar las columnas de cualquier tabla Enviar mensajes y aceptar respuestas desde un usuario final
Realizar la administracin de la DB
Inicio 1. Abrir una sesin terminal
En este ejemplo, las sentencias SELECT, UPDATE Y COMMIT son ejecutadas antes que el SQL PLUS retome el control del sistema operativo.
Para ejecutar desde la sesin de SQL se utiliza @script.sql @script La extensin de los script es .sql
Al iniciar una instancia se lee un archivo con parmetros de inicializacin es leido. SPFILE.- es preferido, es una binario puede ser escrito y ledo por la DB y no puede ser editado. Reside en el servidor en el que la instancia de oracle este ejecutndose; el nombre por defecto spfile<SID>.ora La BD oracle busca el archivo de inicializacin en el directorio
Tipos de valores para los parmetros de inicializacin. Boolean String Integer Parameter file Reserver Big Integer
Valores derivados de parmetros.- significa que sus valores son calculados de valores de otros parmetros. Normalmente no se debe alterar pero si lo hace, el valor que especifique sobrescribe al valor calculado.
Ejemplo el valor del parmetro SESSIONS es derivado del valor PROCESSES. Si el valor de PROCESSES cambia, el default valor de SESSIONS cambiar a menos que especifique otro valor. Valores de parmetros que dependen del SO.- Un valor vlido o un rango de valores de algunos parmetros de inicializacin dependen del SO host. Ejemplo DB_FILE_MULTIBLOCK_READ_COUNT especifica el mximo nmero de bloques que son leidos en una operacin I/O durante una bsqueda secuencial, este parmetro depende de la plataforma. El tamao de estos bloques estn configurados en DB_BLOCK_SIZE y tiene un valor por default que depende del SO. Configurando valores para parmetros.- el incrementar valores de parmetros puede incrementar el rendimiento del sistema, debe tener en cuenta que tambin debe incrementar el tamao de system global area (SGA), as tambin si la SGA es demasiado grande puede degradar el rendimietno. Los parmetros del SO que controlan la memoria virtual trabajan en reas que debera estar configuradas con el tamao de la SGA. As tambin hay parmetros que limitan la capacidad pero no afectan el rendimiento. Ejemplo OPEN_CURSORS es 10 si el usuario intenta abrir el 11 dar un msg. de error.
Los parmetros bsicos son 30 y son los que se deberan trabajar para conseguir un rendimiento razonable de la BD. En raras ocasiones es necesario modificar los parmetros avanzados y estos son alrededor de 314. Un parmetro bsico se define como uno que usted puede cambiar para mantener su BD funcionando con buen rendimiento, todos los dems parmetros son considerados avanzados. DB_NAME , DB_DOMAIN determina el global database name DB_RECOVERY_FILE_DEST , DB_RECOVERY_FILE_DEST_SIZE especifica un rea y tamao de fast recovery SGA_TARGET especifica el total size de todos los componentes SGA CONTROL_FILES uno o ms control file names. De 1 8 nombres de archivos con su path
PROCESSES nmero mximo de OS user processes que puede conectarse al simultaneamente. Default 100
DB_BLOCK_SIZE standard database block size usado por todos. Este valor es configurado en la creacin y no puede ser cambiado, especifica el tamao del bloque; el rango es 2048 32768 (depende SO). Default 8192
DB_CACHE_SIZE.- especifica el tamao del bloque standard buffer cache, el rango de valores al menos 16 MB. Default 0 si el SGA_TARGET es cambiado sobreescribe el ms grande de 48 MB SGA_TARGET.- especifica el tamao total de todos los componentes SGA. Si SGA_TARGET es especificado los siguientes pools de memoria son automaticamente asigandos . Buffer cache (DB_CACHE_SIZE) Shared pool (SHARED_POOL_SIZE)
PGA_AGGREGATE_TARGET.-especifica la cantidad de memoria para todos los procesos de servidor (PGA) asociados a una instancia. La BD usa este parmetro como un objetivo de la cantidad de memoria PGA por usar. El valor mnimo es 10MB y el mximo 4096 GB. SHARED_POOL_SIZE.-especifica el tamao shared pool en bytes. Este pool contiene objetos como cursores, stored procedures, control structures y parallel execution message buffers. El rango de valores depende del SO, por defecto es 0 si SGA_TARGET es configurado, caso contrario 128 MB si es de 64 bits o 48 MB si es 32 bits. UNDO_MANAGEMENT.- especifica el espacio que el sistema debera usar. Puede estar en AUTO o MANUAL, si esta AUTO la instancia es iniciada automticamente, el valor por defecto es AUTO.
VISUALIZANDO PARMETROS
V$PARAMETER es una vista de diccionario para encontrar valores de varios parmetros. Visauliza los valores de parametros en la sesin activa. Puede usar tambin el comando SHOW PARAMETER SQL> SELECT name, value FROM V$PARAMETER WHERE name LIKE %pool%; utiliza WHERE para especificar nombres de parmetros especificos. SQL> desc V$parameter; descripcin de la vista SQL> show parameter db; ver configuracin de parmetros
V$SPARAMETER visualiza informacin sobre el contenido del archivo de parmetros del servidor. Si el archivo de parmetros del servidor no fue usado al iniciar la instancia, cada fila de la vista contendr FALSE en la columna ISSPECCIFIED. V$PARAMETER2: visualiza informacin sobre los parmetros de inicializacin para la sesin. Cada valor del parmetro aparece como una fila en la vista. V$SYSTEM_PARAMETER.- visualiza informacin sobre la inicializacin de parmetros que estn actualmente en efecto para la instancia. CAMBIANDO PARMETROS Parmetros estticos.- afecta la instancia o toda la base de datos puede ser modificado solamente cambiando el contenido de init.ora. Los parmetros estticos requieren que la base de datos este apagada, no se pueden cambiar para la instancia actual (reiniciar instancia para que tomen efecto); son alrededor de 110 parmetros. Parmetros Dinmicos.- pueden ser cambiados mientras la DB esta en lnea, son de dos tipos Session-level parameters que afecta a sesin de usuario y System-level parameters afecta a toda la base de datos y todas las sesiones ejemplo SGA_TARGET. Los parmetros dinmicos pueden ser cambiados usando ALTER SESSION y ALTER SYSTEM. Son alrededor de 234 parmetros, son vlidos durante la sesin o basados en la configuracin
VISTAS
Session-level.-En el primero el usuario cambia el formato de fecha mon dd yyyy. Cualquier query se mostrar con este formato de fecha. En el segundo cambia el nmero mximo de intentos para conectarse, incluye un comentario y de forma explcita que el cambio ser realizado solamente en el server parameter file. Este no es un parmetro dinmico por lo que se requiere que la instancia sea reiniciada antes que los cambios tomen efecto.
Para usar la opcin startup o shutdown debe hacerlo con una cuenta con privilegios SYSDBA. Puede usar las Opciones Avanzadas para cambiar opciones de inicio o pagado, tambin puede ver las sentencias SQL que estn siendo usadas para esta operaciones SHOW SQL. La opcin por defecto del EM para apagado es IMMEDIATE y si lo hace desde SQL PLUS es NORMAL.
INICIANDO LA INSTANCIA
ESTADOS DE STARTUP
PRCTICA
PRCTICA
. 1.12
SQL> show parameter shared_pool_size SQL> select * from v$sgainfo; SQL> select * from v$sga_dynamic_components where component='shared pool'; SQL> select sum(bytes) from v$sgastat where pool='shared pool' and name like '%free%'; SQL> alter system set shared_pool_size=52M; SQL> show parameter shared_pool_size SQL> select * from v$sgainfo; SQL> select * from v$sga_dynamic_components where component='shared pool'; SQL> select sum(bytes) from v$sgastat where pool='shared pool' and name like '%free%'; SQL> alter system set shared_pool_size=0; SQL> show parameter shared_pool_size SQL> select * from v$sga_dynamic_components where component='shared pool';
COMANDO SHUTDOWN
ALERT LOG
Puede revisar desde EM el archivo alert log y notificaciones de los errores crticos, as como mensajes informativos. V$DIAG_INFO es la vista que indica el path que corresponde a las entradas como Diag Trace En Oracle Database 11g podemos contar con un archivo de alertas en formato xml denominado log.xml el cual est ubicado en un directorio dado por el parmetro de inicializacin DIAGNOSTIC_DEST, el cual por defecto apunta a la ruta $ORACLE_BASE/diag dentro de la cual encontrarn una carpeta denominada rdbms.
TRACE FILES
Desde una sesin del DBA con dbms_system.set_sql_trace_in_session(sid,serial,true), donde SID es el n de sesion oracle (V$SESSION, V$PROCESS). Se desactiva de igual forma (indicando false en lugar de true).
A nivel de instancia, con el parmetro SQL_TRACE=TRUE. Utilidad TKPROF. Permite generar un informe legible, a partir de un fichero de traza generado explcitamente para una sesin. tkprof cursoXY_ora_23654.trc salida.txt explain=scott/tiger sys=no
DICCIONARIO DE DATOS
El DD est compuesto por un conjunto de tablas y vistas asociadas donde se almacena toda la informacin sobre los objetos que componen la BD, as como la estructura lgica y fsica de la misma.
El DD incluye dos tipos de objetos: tablas base y vistas. Las tablas base se crean automticamente cuando creamos la BD con el comando CREATE DATABASE; y son las que realmente contienen la informacin del DD.
Las vistas se crean al lanzar el script catalog.sql; y permiten acceder a la informacin de las tablas del DD (que est codificada).
El DD contiene informacin sobre: la definicin de todos los objetos de la BD (tablas, vistas, ndices, sinnimos, secuencias, procedimientos, funciones, paquetes, triggers, etc), el espacio ocupado por cada objeto, condiciones de integridad, usuarios, privilegios, roles, as como auditora del sistema
Cada BD q usa ASM, tiene dos nuevos procesos background: OSMB: comunicacin entre BD y la instancia ASM. RBAL: abre y cierra los discos en los grupos, en la parte de la BD.
Parmetros del init (para instancia ASM y/o BD q la usa): instance_type = ASM (para una BD es RDBMS) db_unique_name = +ASM (valor por defecto) asm_power_limit = 1 (mximo 11; velocidad rebalanceo; 1 = lento) asm_diskstring (limita los dispositivos de disco usables para grupos de discos; ejemplo: '/dev/hd*'). asm_diskgroups (nombres de grupos de discos q se mostrarn automticamente; por defecto vale NULL y los monta todos). large_pool_size (al menos 8M, para ejecutar los paquetes internos de uso de ASM) Ejemplo de init de una instancia ASM instance_type=ASM db_unique_name=+ASM asm_power_limit=1 asm_disk_string=/dev/vgora01/rdsk/*, /dev/vgora02/rdsk/* asm_disk_groups=diskgrp1, diskgrp2 large_pool_size=16M
PRCTICA
2.1. Fichero init.ora. Arranque y parada de la BD. Localizar el fichero init.ora (y spfile si existe) de nuestra BD: ls -l $ORACLE_HOME/dbs/init$ORACLE_SID.ora ls -l $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora Anotar el valor de los parmetros: db_block_size, sga_target, sga_max_size, shared_pool_size, db_cache_size, log_buffer, processes. more $ORACLE_HOME/dbs/init$ORACLE_SID.ora grep processes $ORACLE_HOME/dbs/init$ORACLE_SID.ora Crear fichero /home/CURSO/cursoxy/init01xy.ora, copia del initCURSOxy.ora, y modificar processes=17. cp $ORACLE_HOME/dbs/init$ORACLE_SID.ora init01xy.ora echo processes=17 >> init01xy.ora tail init01xy.ora Arrancar la BD y comprobar valor de parmetros, por qu no ha tomado el nuevo valor?. STARTUP show parameter processes Parar la BD y arrancar con el init01xy.ora. Comprobar parmetro processes. Abrir otra conexin de sqlplus y ver qu ocurre. SHUTDOWN immediate STARTUP pfile=init01xy.ora show parameter processes Parar la BD de forma normal, estando conectado algn usuario y ver qu ocurre. Y qu sucede cuando todos los usuarios se desconectan. SHUTDOWN Repetir la parada de la BD, estando conectado algn usuario, de forma que no espere: SHUTDOWN IMMEDIATE
PRCTICA
Crear un copia del archivo SPFILE
SQL> CREATE SPFILE [='spfile_name'] FROM PFILE [='Spfile_name'];
PRCTICA
2.3. Fichero alert.log y ficheros de traza. Diccionario de datos. Connect to the database with SQL*Plus or another query tool, such as SQL Developer. To view the text-only alert log, without the XML tags, complete these steps: SELECT * FROM V$DIAG_INFO; In the V$DIAG_INFO query results, note the path that corresponds to the Diag Trace entry, and change directory to that path. Open file alert_SID.log with a text editor. To view the XML-formatted alert log, complete these steps: In the V$DIAG_INFO query results, note the path that corresponds to the Diag Alert entry, and change directory to that path. Open the file log.xml with a text editor.
Diag Trace.- Location of background process trace files, server process trace files, SQL trace files, and the text-formatted version of the alert log Diag Alert.- Location of the XML-formatted version of the alert log
SELECT VALUE FROM V$DIAG_INFO WHERE NAME = 'Diag Trace'; The path to the ADR trace directory for the current instance is returned. To determine the trace file for each Oracle Database process:
PRCTICA
2.3. Fichero alert.log y ficheros de traza. Diccionario de datos.
Sacar la lista de vistas del DD. Consultar las columnas de dichas vistas. Select * from DICTIONARY; Select * from DICT_COLUMNS;
2.4. Impedir las conexiones de usuarios, de modo que el DBA s pueda conectarse. Intenta conectarte como scott/tiger. Volver a permitir conexiones de usuarios.
STARTUP RESTRICT (si la BD est parada) ALTER SYSTEM ENABLE RESTRICTED SESSION; (sila BD estaba arrancada) ALTER SYSTEM DISABLE RESTRICTED SESSION;
PRCTICA
2.5. Forzar un checkpoint y hacer un insert en la tabla SCOTT.DEPT. Inmediatamente despus hacer SHUTDOWN ABORT. Arrancar y comprobar SCOTT.DEPT. Volver a repetir el insert, haciendo commit antes del SHUTDOWN ABORT; y compruebe el contenido de SCOTT.DEPT.
ALTER SYSTEM CHECKPOINT; insert into scott.dept values (99,'FORMACION','MURCIA'); SHUTDOWN ABORT STARTUP SELECT * FROM SCOTT.DEPT; insert into scott.dept values (99,'FORMACION','MURCIA'); COMMIT; SHUTDOWN ABORT STARTUP SELECT * FROM SCOTT.DEPT; 2.6. Conctase como SCOTT y haga update sobre DEPT (sin hacer commit). Desde otra sesin, cierre la BD con SHUTDOWN TRANSACTIONAL. Qu pasa al hacer commit en la sesin de SCOTT? CONNECT SCOTT/TIGER SHUTDOWN TRANSACTIONAL (sesin del sys) update dept set deptno=88 where deptno=99; (sesin de scott) COMMIT; (sesin de scott)
PRCTICA
2.7. Conctase como usuario scott/tiger. Active la traza y haga un query con un join entre EMP y DEPT (select a.ename, b.dname from emp a, dept b where a.deptno=b.deptno;). Desactive la traza y analize el fichero que se ha generado con el comando tkprof (es un comando unix, no de SQL). CONNECT SCOTT/TIGER