Professional Documents
Culture Documents
Este documento electrnico puede ser descargado libre y gratuitamente desde Internet para su ejecucin e impresin, slo para fines educativos y/o personales, respetando su integridad y manteniendo los crditos de los autores en el pie de pgina. Administracin de Oracle 11g (Parte 1)
Universidad de Murcia
TEMARIO
Arquitectura de la Base de Datos Arranque y parada Fichero de control Redo log Tablespaces Segmentos de rollback Usuarios, roles, privilegios y perfiles Jobs Auditora Copias de seguridad y recuperacin
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
OBJETIVOS
Conocer la Arquitectura Oracle. Saber arrancar y parar una base de datos Oracle. Gestionar los ficheros Redo log. Gestionar el fichero de control. Gestionar tablespaces, incluyendo temporales y undo. Gestionar segmentos de rollback. Gestionar usuarios, roles, privilegios y perfiles. Gestionar jobs. Gestionar la auditora del sistema gestor de base de datos. Realizar copias de seguridad y recuperacin de la base de datos.
3
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
TEMA 1. ARQUITECTURA DE LA BD
Servidor oracle Instancia Conexin a la Base de datos Memoria (Automatic Memory Management >=11g): SGA (Automatic Shared Memory Management >=10g) y PGA (pga_aggregate_target >=9i) Procesos: procesos de usuario, servidores y background Estructura lgica: tablespaces, segmentos, extensiones, bloques Arquitectura OFA Usuarios administradores de la BD: sys y system Fichero de autenticacin (orapw)
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
SERVIDOR ORACLE
Servidor Oracle:
Instancia Base de datos
Instancia Oracle:
System Global Area (SGA) Procesos Background
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
INSTANCIA
La integran los procesos background y la SGA Abre una y slo una BDO, y permite acceder a ella.
Nota: con Oracle Real Application Cluster (RAC), ms de una instancia usarn la misma BD.
En la mquina donde reside el servidor Oracle, la variable ORACLE_SID identifica a la instancia con la que estamos trabajando.
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
ARQUITECTURA DE LA BD
CONEXIN A LA BD
Para poder conectarnos a una BDO, necesitamos una serie de variables en el entorno del usuario del S.O. desde el que realizaremos la conexin. En el caso de unix/linux:
Proceso de usuario: la ejecucin de la aplicacin que permite al usuario iniciar la conexin; por ejemplo, sql*plus. Proceso servidor: se crea en el SBD cuando el usuario se conecta a la BD, y es el que realmente interacta con la BD. Una conexin de un proceso de usuario al SBD es una sesin en la BD (puede haber varias del mismo usuario). Se inicia cuando el usuario se valida contra la BD y termina al desconectarse. Desconectar una sesin con ALTER SYSTEM DISCONNECT SESSION 'sid, serial#' [POST_TRANSACTION] [IMMEDIATE];. Destruye el servidor dedicado (o el circuito virtual si MTS).
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez ARQUITECTURA DE LA BD
ORACLE_HOME. Localizacin del sw Oracle a utilizar. ORACLE_SID. BD, asociada al ORACLE_HOME, a la que vamos a conectarnos. Tiene sentido slo en un SBD. PATH=$PATH:$ORACLE_HOME/bin. Programas Oracle LD_LIBRARY_PATH=$ORACLE_HOME/lib. Localizacin de las libreras compartidas (Linux/Unix). NLS_LANG=spanish_spain. Idioma del cliente (opcional).
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
ARQUITECTURA DE LA BD
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
10
PILA SESION
PILA
PGA
(servidor compartido) SQL
PGA
(servidor dedicado)
SQL
SHARED POOL
SESION
SHARED POOL
SGA
LARGE POOL
SGA
11
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
ARQUITECTURA DE LA BD
12
13
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
14
SQL AREA
PL/SQL AREA
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
15
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
16
Se pueden definir cachs adicionales para tablas que no usan el tamao de bloque por defecto de la BD; con los parmetros DB_nK_CACHE_SIZE, por ejemplo, DB_16K_CACHE_SIZE. Despus se crea un tablespace que use el nuevo tamao de bloque (create tablespace ... BLOCKSIZE 16384;). Util al importar un tablespace de otra BD con otro db_block_size. Desde 10g, se puede vaciar con ALTER SYSTEM FLUSH BUFFER_CACHE; . Vaca completamente la cach de datos de la SGA. OJO!!!, no usar en produccin. Util si se quiere medir el rendimiento de sentencias sql como si se ejecutasen por primera vez.
ARQUITECTURA DE LA BD
El uso de una u otra cach lo indicaremos con el parmetro BUFFER_POOL, de la clausula STORAGE de la tabla: keep, recycle o default: ALTER TABLE mitabla STORAGE (BUFFER POOL KEEP);
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
17
LGWR
DML USERS
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
ARQUITECTURA DE LA BD
18
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
19
20
Estructura de procesos
Procesos background: disponibles cuando se arranca una instancia Oracle. Son los siguientes: DBWR, PMON, SMON, LGWR y CKPT. Opcionalmente podemos tener: ARCH, RECO, Dispatchers (Dnnn), Shared Servers (Snnn), etc. en 10g aparecen: PSP0 (Process Spawner), MMAN (Memory Manager), MMON (Memory Monitor), MMNL (Memory Monitor Light). En 11g tenemos: VKTM (Virtual Keeper of TiMe), FBDA (Flashback Data Archiver), DIAG (escribe el nuevo Automatic Diagnostic Repository), DIA0, SMCO/Wnnn (Space Management Coordinator), DBRM (Data Base Resource Manager) En 11g el parmetro DIAGNOSTIC_DEST (BACKGROUND_DUMP_DEST en 10g), directorio donde se guardan los ficheros de traza de los procesos background.
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez ARQUITECTURA DE LA BD
21
Nombre del proceso: DBW0 a DBW9 y DBWa DBWj (mximo 20). DB_WRITER_PROCESSES. N de procesos arrancados (valor por defecto = 1 CPU_COUNT/8, el mayor de ambos).
ARQUITECTURA DE LA BD
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
22
Tambin se activa peridicamente, agrupando extensiones libres contiguas en extensiones de mayor tamao (slo para tablespaces con default storage cuyo pctincrease > 0). Adems libera el espacio ocupado por segmentos temporales durante el procesamiento de sentencias SQL.
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez ARQUITECTURA DE LA BD
23
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
24
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
ARQUITECTURA DE LA BD
25
ESTRUCTURA LGICA
La estructura lgica de la base de datos determina el uso que
se hace del espacio fsico que la sustenta. Existe una jerarqua top-down en esta estructura, consistente en tablespaces, segmentos, extensiones y bloques. Una BDO la forman un grupo de tablespaces. Un tablespace puede contener uno o ms segmentos. Un segmento lo integran una o ms extensiones. Una extensin tendr al menos un bloque. El bloque es la unidad mnima de almacenamiento. El tamao del bloque ser mltiplo del que tenga el SO, y lo determina la variable db_block_size (2K, 4K, 8K, 16K y 32K). Cuando un segmento (tabla, ndice, rollback o temporal) crece, el espacio que se aade es de una extensin. ASM (>=10g). Gestor de volmenes para bases de datos Oracle. Gestiona directamente los discos. Adems distribuye automticamente los datos entre los discos, manteniendo el reparto uniforme cuando se aaden o quitan discos (incluso en caliente). Tambin se encarga de borrar los ficheros que ya no forman parte de la BD.
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez ARQUITECTURA DE LA BD
26
ESTRUCTURA LGICA
Base de Datos, Tablespaces, Segmentos, Extensiones y Bloques
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
ARQUITECTURA DE LA BD
27
ARQUITECTURA OFA
OFA (Oracle Flexible Architecture) propone una estructura de directorios para ubicar fcilmente cualquier fichero del servidor de base de datos; adems de agrupar dichos ficheros por componentes. Adems, facilita el reparto de los ficheros entre diferentes discos, optimizando la E/S. Oracle recomienda separar el software de los datos; y estos ltimos repartirlos entre varios discos (por ejemplo, separando datos e ndices, incluso tambin temp y rollback). Estructura de directorios OFA:
/u01/app/oracle (ORACLE_BASE) $ORACLE_BASE/product/10.2.0.1 (ORACLE_HOME) $ORACLE_HOME/bin (Ejecutables) $ORACLE_HOME/dbs (init$ORACLE_SID.ora, orapw$ORACLE_SID) $ORACLE_BASE/admin/$ORACLE_SID (ADMIN, antes de 11g) $ORACLE_BASE/admin/$ORACLE_SID/pfile (PFILE) init$ORACLE_SID.ora (crear enlace en $ORACLE_HOME/dbs) $ORACLE_BASE/admin/$ORACLE_SID/bdump (BDUMP, antes de 11g) alert$ORACLE_SID.ora y ficheros de traza de procesos background $ORACLE_BASE/admin/$ORACLE_SID/udump (UDUMP, antes de 11g) alert$ORACLE_SID.ora y ficheros de traza de procesos background /u02/oradata/$ORACLE_SID (Ficheros de la BD: *.dbf, *.ctl, *.log) /u03/oradata/$ORACLE_SID (Ficheros de la BD: *.dbf, *.ctl, *.log) /u04/oradata/$ORACLE_SID (Ficheros de la BD: *.dbf, *.ctl, *.log)
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez ARQUITECTURA DE LA BD
28
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
29
USUARIOS ADMINISTRADORES DE LA BD
Cuando creamos una BDO se crean automticamente
los usuarios SYS y SYSTEM, ambos con el rol DBA.
30
FICHERO DE AUTENTICACIN
Un fichero de autenticacin nos permite conectar a la BD como SYS AS SYSDBA, sin pertenecer al grupo dba o desde un puesto remoto al SBD, realizando dicha autenticacin contra el mencionado fichero. Lo usaremos cuando no dispongamos de una conexin desde el propio SBD como grupo dba. Para usar un fichero de autenticacin:
Crearemos el fichero con la utilidad orapwd:
orapwd file=nombre_fichero password=clave entries=mximo_de_usuarios
Activaremos el parmetro REMOTE_LOGIN_PASSWORDFILE del init: EXCLUSIVE. Permite dar el privilegio SYSDBA a otros usuarios (adems del SYS). Slo una instancia usa el fichero. SHARED. El nico usuario reconocido por le fichero es el SYS. El fichero puede ser compartido por varias instancias. Incluiremos el usuario en el fichero de claves (para el SYS no):
GRANT SYSDBA TO usuario; Nota: en V$PWFILE_USERS estn los usuarios con SYSDBA y/o SYSOPER.
31
PROCESO DE CONSULTA
1. El proceso de usuario enva la sentencia SQL al proceso servidor. 2. El proceso servidor busca la sentencia SQL en la Shared Pool. Si no la encuentra, la compila y la guarda en la Shared Pool. 3. El proceso servidor accede a los datos en la Database Buffer Cache. Si no los encuentra, accede directamente a los ficheros de datos, llevando los datos a la Database Buffer Cache. 4. El proceso servidor devuelve los datos al proceso de usuario que inici la conexin.
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
3 1 4 2 4
1 3
ARQUITECTURA DE LA BD
32
PROCESO DE ACTUALIZACIN
En primer lugar se repiten los pasos 1 (envo de la sentencia), 2 (compilacin) y 3 (acceso a los datos) vistos en la consulta. 3. Se guarda una copia del dato (antes del cambio) en un segmento de Rollback (por si se deshace la transaccin). 4. Se modifican los bloques de datos en la Database Buffer Cach. El DBWR (de forma asncrona) los llevara a los ficheros de datos cuando suceda un checkpoint. 5. Se guardan en la cach de Redo las "redo entries" (vector de cambios de cada bloque modificado) necesarias para registrar el cambio q se va a hacer (el LGWR vuelca el buffer al fichero redo log activo, cuando se hace commit o cada 3 segundos). 6. El proceso servidor devuelve el nmero de filas actualizadas al proceso de usuario.
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
4 3 1 7 2 7
1 3
ARQUITECTURA DE LA BD
33
VISTAS DEL DD
V$MEMORY_DYNAMIC_COMPONENTS V$MEMORY_TARGET_ADVICE V$MEMORY_RESIZE_OPS V$DIAG_INFO V$DATABASE (Base de datos). V$INSTANCE (Instancia). V$SGA (SGA). V$SGAINFO (Gestin dinmica de la SGA). V$SGASTAT (SGA detallada). V$BUFFER_POOL (Buffers en la cach de datos) V$SQLAREA (Sentencias SQL). V$PROCESS (Procesos). V$BGPROCESS (Procesos background). V$DATAFILE (Ficheros de datos de la BD). V$CONTROLFILE (Ficheros de control de la BD). V$LOGFILE (Ficheros redo log de la BD). DBA_TABLESPACES (Tablespaces de la BD). DBA_SEGMENTS (Segmentos que hay en los tablespaces). DBA_EXTENTS (Extensiones que componen los segmentos). DBA_USERS (Usuarios de la BD).
ARQUITECTURA DE LA BD
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
34
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
ARRANQUE Y PARADA DE LA BD
35
36
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
ARRANQUE Y PARADA DE LA BD
37
Explcitos: los que se indican en el fichero de parmetros. Implcitos: el resto, que tomarn un valor por defecto. La forma de indicar valor a los parmetros es parametro=valor. El smbolo # indica el comienzo de un comentario, pudiendo estar al principio o en medio de la lnea. En el init.ora, el parmetro ifile permite incluir otros ficheros con parmetros. Una lista de valores se indicar entre parntesis, separando los valores por comas. Para indicar un valor de tipo cadena de caracteres hay que encerrarlo entre comillas simples.
Si usamos OFA, la ubicacin tpica para el init.ora es $ORACLE_BASE/admin/$ORACLE_SID/pfile. Despus creamos un enlace en $ORACLE_HOME/dbs (ubicacin por defecto).
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
ARRANQUE Y PARADA DE LA BD
38
EJEMPLO DE INIT.ORA
db_name=CURSOxy db_block_size=2048 compatible = 11.1.0 control_files = (/u02/oradata/CURSOxy/control1.ctl, /u03/oradata/CURSOxy/control2.ctl) undo_management = auto undo_tablespace = undo_rbs diagnostic_dest = /u01/app/oracle memory_max_target = 208M memory_target = 200M sga_max_size = 160M sga_target = 0 pga_aggregate_target = 0 log_buffer = 1048576 log_checkpoint_interval = 0 log_checkpoint_timeout = 1800 # t. en segundos processes = 40 remote_login_passwordfile=EXCLUSIVE nls_territory=spain nls_language=spanish session_cached_cursors=50 # En <=9i era open_cursors result_cache_max_size = 8M
Nota. Es un fichero de texto que hay que mantener manualmente con un editor ASCII (vi, notepad, etc).
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez ARRANQUE Y PARADA DE LA BD
39
La BD la podemos crear con el asistente grfico (en Linux dbca) o con el comando CREATE DATABASE:
Crearemos un fichero init.ora, y si queremos, un spfile.ora. Arrancaremos las instancia con STARTUP NOMOUNT. Crearemos la BD con el comando CREATE DATABASE. Ejecutaremos los scripts catalog.sql y catproc.sql que estn en $ORACLE_HOME/rdbms/admin. Desde 10g se puede borrar con DROP DATABASE; (slo montada).
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
ARRANQUE Y PARADA DE LA BD
40
CREATE DATABASE "CURSOxy" maxdatafiles 254 maxinstances 1 maxlogfiles 32 character set WE8ISO8859P15 DATAFILE '/u02/oradata/CURSOxy/system01.dbf' SIZE 260M AUTOEXTEND ON NEXT 10M EXTENT MANAGEMENT LOCAL SYSAUX DATAFILE '/u02/oaradata/CURSOxy/sysaux01.dbf' size 100M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO UNDO TABLESPACE UNDO_RBS1 DATAFILE '/u03/oradata/CURSOxy/rbs01.dbf' SIZE 10M DEFAULT TABLESPACE USERS DATAFILE '/u02/oradata/CURSOxy/users01.dbf' SIZE 10M DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/u03/oradata/CURSOxy/temp01.dbf' SIZE 10M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 64K logfile '/u04/oradata/CURSOxy/redo01.log' SIZE 4M, '/u04/oradata/CURSOxy/redo02.log' SIZE 4M, '/u04/oradata/CURSOxy/redo03.log' SIZE 4M;
rem *** CREACION DE LAS VISTAS DEL DD *** @$ORACLE_HOME/rdbms/admin/catalog.sql @$ORACLE_HOME/rdbms/admin/catproc.sql Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
ARRANQUE Y PARADA DE LA BD
41
Ejemplo para crear una BD, usando OMF, separando los ficheros redolog y de control del resto:
Parmetros de inicializacin: DB_CREATE_FILE_DEST='/u02/oradata/CURSOxy' DB_CREATE_ONLINE_LOG_DEST_1='/u03/oradata/CURSOxy' DB_CREATE_ONLINE_LOG_DEST_2='/u04/oradata/CURSOxy' Creacin de la BD: CREATE DATABASE CURSOxy character set WE8ISO8859P15 UNDO TABLESPACE UNDO_RBS DEFAULT TABLESPACE USERS DEFAULT TEMPORARY TABLESPACE TEMP;
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
ARRANQUE Y PARADA DE LA BD
42
Nota: el fichero de parmetros se busca en $ORACLE_HOME/dbs, comenzando por spfile$ORACLE_SID.ora. Si no lo encuentra, sigue con spfile.ora, y finalmente init$ORACLE_SID.ora.
control y obteniendo de l los nombres de los ficheros que la componen: datafiles y redo log. Finalmente se abre la BD (open), procediendo a la apertura de los ficheros de datos (datafiles) y los ficheros redo log. El servidor oracle comprueba la consistencia de la base de datos, y si es necesario el proceso SMON inicia la recuperacin de la instancia.
ARRANQUE Y PARADA DE LA BD
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
43
COMANDO STARTUP
Arranca la instancia y abre la BD. Permite parar el proceso de
arranque de la BD en cualquiera de sus fases (NOMOUNT, MOUNT). por defecto).
STARTUP (abre la base de datos con el fichero de parmetros STARTUP PFILE=/home/CURSO/cursoXY/miinit.ora STARTUP NOMOUNT (para crear la base de datos). STARTUP
MOUNT (para renombrar datafiles, activar ARCHIVELOG o hacer una recuperacin completa de la BD). con el privilegio RESTRICTED SESION).
STARTUP RESTRICT (slo permite la conexin de usuarios STARTUP FORCE (hace SHUTDOWN ABORT y arranca la BD).
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez ARRANQUE Y PARADA DE LA BD
44
Permite cambiar el estado de la base de datos de NOMOUNT a MOUNT, o de MOUNT a OPEN; y tambin dejar la BD en modo READ ONLY.
ALTERDATABASE{MOUNT|OPEN} ALTERDATABASEOPEN[READWRITE|READONLY]
Encolar la BD (>=9i). Util si el DBA necesita q no haya transacciones ni consultas concurrentes a la suya. Espera a q terminen transacciones/consultas (se pueden ver en V$BLOCKING_QUIESCE) e impide nuevas (excepto de SYS/SYSTEM). Slo desde SYS/SYSTEM. V$INSTANCE.ACTIVE_STATE:
ALTERSYSTEMQUIESCERESTRICTED; ALTERSYSTEMUNQUIESCE;
Suspender la BD (>=9i). Util para copias de seguridad en caliente. Suspende E/S a ficheros de datos y control (los tablespaces deben estar en modo hot backup con ALTER TABLESPACE BEGIN BACKUP). Slo SYS/SYSTEM. V$INSTANCE.DATABASE_STATUS. Ojo, no cerrar la sesin q hace el SUSPEND pues es la nica q puede hacer RESUME:
ALTERTABLESPACEnomtspBEGINBACKUP; ... ALTERSYSTEMSUSPEND; //CopiamosficherosdelaBD(necesitarrecuperarla instancia,puesnosehacecheckpoint). ALTERSYSTEMRESUME; ALTERTABLESPACEnomtspENDBACKUP;
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
ARRANQUE Y PARADA DE LA BD
45
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
46
COMANDO SHUTDOWN
Sintaxis:
SHUTDOWN [NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT]
Tipos de parada. Cada una de las opciones de parada se comporta de forma diferente en cuanto a esperar a que terminen transacciones y sesiones, hacer checkpoint, o desmontar y cerrar la BD:
N O R M AL E sp erar Tran saccion es S E sp erar S esion es S C h eckp oin t S C errar B D S D esm on tar B D S P arar in stan cia S
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
TR AN S AC TIO N AL M E D IATE IM S N N N S S S S S S S S
AB O R T N N N N N S
47
ARRANQUE Y PARADA DE LA BD
Recoge tanto informacin de estado como errores: arranque y parada, parmetros del init sin valores por defecto, arranque de los procesos background, cambio de fichero redolog (log switch), creacin de tablespaces y segmentos de rollback, comandos alter (alter database, alter tablespace, etc), errores ORA-600 y los que indican falta de espacio (llenado de tablas, ndices, tablespaces, etc).
ARRANQUE Y PARADA DE LA BD
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
48
En 11g Oracle crea el ADR (Automatic Diagnostic Repository). El parmetro DIAGNOSTIC_DEST del init define el directorio base del ADR. Ahora el log es un fichero XML, log.xml, en el directorio $DIAGNOSTIC_DEST/diag/rdbms/`echo $ORACLE_SID|tr [:upper:] [:lower:]`/$ORACLE_SID/alert. Se puede ver desde SQL con select message_text from X$DBGALERTEXT;. El antiguo fichero de texto alert_$ORACLE_SID.log, ahora est en $DIAGNOSTIC_DEST/diag/rdbms/lower($DB_NAME)/ $ORACLE_SID/trace. ADR dispone de un cliente (adrci), similar a sqlplus, permite ver el fichero de alert, as como incidentes y problemas.
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
ARRANQUE Y PARADA DE LA BD
49
EJEMPLO DE alert.log
Sat Mar 13 23:59:20 2010 Starting ORACLE instance (normal) ... Starting up ORACLE RDBMS Version: 11.1.0.6.0. System parameters with non-default values: processes = 40 sga_max_size = 160M sga_target = 0 memory_target = 200M memory_max_target = 208M ... db_block_size = 2048 ... compatible = 11.1.0 log_buffer = 1703936 .. db_name = CURSOxy pga_aggregate_target = 0 diagnostic_dest = "/u01/app/oracle" PMON started with pid=2, OS id=6836 VKTM started with pid=3, OS id=6838 VKTM running at (20)ms precision DIAG started with pid=4, OS id=6842 DBRM started with pid=5, OS id=6844 PSP0 DSKM DIA0 MMAN DBW0 LGWR CKPT SMON RECO MMON MMNL started started started started started started started started started started started with with with with with with with with with with with pid=6, OS id=6846 pid=7, OS id=6848 pid=8, OS id=6850 pid=7, OS id=6852 pid=9, OS id=6854 pid=10, OS id=6856 pid=11, OS id=6858 pid=12, OS id=6860 pid=13, OS id=6862 pid=14, OS id=6864 pid=15, OS id=6866
Sat Mar 13 23:59:21 2010 ALTER DATABASE MOUNT ... Completed: ALTER DATABASE MOUNT Sat Mar 13 23:59:26 2010 ALTER DATABASE OPEN ... Sun Mar 14 00:10:28 2010 Thread 1 advanced to log sequence 76 Current log# 1 seq# 76 mem# 0: /u04/oradata/CURSO13/redo01.log
Nota. En el ejemplo de arriba se puede ver el arranque de la instancia, los parmetros asignados, los procesos arrancados, como se monta la BD, y cmo finalmente se abre la BD y se empiezan a usar los fichero redolog.
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez ARRANQUE Y PARADA DE LA BD
50
Registran errores producidos en los procesos background de la instancia: LGWR, DBWR, SMON, PMON, etc. Se generan en el directorio diag/rdbms/lower($ORACLE_SID)/ $ORACLE_SID/trace, debajo de DIAGNOSTIC_DEST. Su nombre sigue el patrn $ {ORACLE_SID}_nombreproceso_pid.trc; por ejemplo, cursoXY_smon_16432.trc (los nombres de los ficheros de traza en Unix/Linux estn siempre en minsculas).
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
ARRANQUE Y PARADA DE LA BD
51
Su tamao est limitado por el parmetro MAX_DUMP_FILE_SIZE. Sus nombres siguen el patrn ${ORACLE_SID}_ora_pid.trc; por ejemplo, cursoXY_ora_23654.trc (siempre en minsculas). Pueden ser muy tiles para el ajuste de sentencias SQL. En este caso se pueden generar voluntariamente activando la traza: A nivel de sesin con ALTER SESSION SET SQL_TRACE=TRUE;, 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
ARRANQUE Y PARADA DE LA BD
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
52
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.
ARRANQUE Y PARADA DE LA BD
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
53
El DD tambin tiene las llamadas tablas dinmicas, cuyas vistas tienen el prefijo V$ (como V$SESSION). Se crean al arrancar la instancia y residen en memoria. Cuando cerramos la BD (y por tanto la instancia), desaparecen y con ellas su contenido.
ARRANQUE Y PARADA DE LA BD
Objetos de la BD: dba_objects, dba_tables, dba_indexes, dba_tab_columns, dba_ind_columns, dba_constraints, dba_views. Espacio ocupado: dba_data_files, dba_segments, dba_extents. Estructura de la BD: dba_tablespaces, dba_data_files.
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
54
ASM (>=10g). Gestor de volmenes para bases de datos Oracle. Mejor rendimiento de E/S y fcil de gestionar. Maneja el espacio en forma de grupos de discos. Divide cada fichero en extensiones (de 128K o 1M) y las reparte entre los discos de un grupo (striping). Tb permite mirror, y lo hace a nivel de fichero (ms granular q a nivel de disco), gestionando el mirror a nivel de extensin. Varias opciones de mirror (a nivel de grupos de discos): 2-way mirroring (1 copia por extensin), 3way (2 copias) y unprotected (sin mirror). Opciones de striping: fine (128Kb) y coarse (1M). Se puede desactivar mirror y/o striping. Al aadir nuevo disco a un grupo, rebalancea los datos online. Si esto genera mucha E/S, se puede frenar con ASM_POWER_LIMIT (en el init de la propia instancia ASM). ASM necesita un tipo especial de instancia: Tiene init y orapw, pero no DD. Usuarios SYS y SYSTEM con autenticacin SO (no ms usuarios). Instancia: mount o no mount (nunca open). Memoria: de 60M a 120M. Comandos de gestin propios: create | alter | drop diskgroup. Nuevos procesos background: RBAL: coordina el rebalanceo de discos en cada grupo. ORBn (n=0..9): ejecuta el rebalanceo, moviendo extensiones entre discos.
ARRANQUE Y PARADA DE LA BD
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
55
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
ARRANQUE Y PARADA DE LA BD
56
VISTAS DEL DD
V$INSTANCE V$DATABASE V$SESSION V$PROCESS V$PARAMETER V$PARAMETER2 V$SYSTEM_PARAMETER V$SYSTEM_PARAMETER2 DICTIONARY DICT_COLUMNS V$ASM_DISKGROUP V$ASM_CLIENT V$ASM_DISK V$ASM_FILE V$ASM_TEMPLATE V$ASM_OPERATION
ARRANQUE Y PARADA DE LA BD
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
57
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
FICHERO DE CONTROL
58
Fichero de control Contenido del fichero de control Multiplexar fichero de control Backup del fichero de control
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
FICHERO DE CONTROL
59
FICHERO DE CONTROL
Se trata de un fichero binario, sin el cual no es posible
arrancar la BD. Por ello es conveniente mantener varias copias del mismo, en diferentes discos.
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
60
Se recomienda sacar una copia de seguridad del fichero de control cada vez que cambie la estructura fsica de la BD:
ALTER DATABASE BACKUP CONTROLFILE TO TRACE; De esta forma se generan, en un fichero de traza, las sentencias sql necesarias para volver a crear el fichero de control. ALTER DATABASE BACKUP CONTROLFILE TO /u02/oradata/CURSOxy/ora_control01.bak; Hace una copia binaria y aislada del fichero.
En la vista V$CONTROLFILE tenemos la lista de todos los ficheros de control de la BD. En V$CONTROLFILE_RECORD_SECTION veremos las diferentes secciones y su estado de uso.
FICHERO DE CONTROL
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
61
62
VISTAS DEL DD
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
FICHERO DE CONTROL
63
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
64
Ficheros redo log Funcionamiento del redo log Aadir/quitar grupos/miembros de redo Configuracin de los ficheros redo log Modo archivelog
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
65
66
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
67
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
68
No puede haber menos de 2 grupos; no se puede borrar el grupo activo; al borrar un grupo no se eliminan los ficheros del sistema operativo (a no ser que se use OMF).
No se puede borrar el ltimo miembro q quede de un grupo (y dejarlo vaco); tampoco un miembro del grupo en curso; si la BD est en modo ARCHIVELOG no se puede borrar un miembro cuyo grupo no ha sido archivado; cuando borramos un miembro no se elimina el fichero correspondiente del sistema operativo.
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez GESTION DEL REDO LOG
69
Configuracin del Redo Log Online: El nmero de grupos Redo Log Online necesarios, como mnimo ser dos. Es probable que se necesite alguno ms debido a que, al llenarse circularmente, los checkpoints no completen. La configuracin debe ser simtrica: mismo nmero de miembros para todos los grupos. Cada miembro de un grupo debe estar en un disco diferente. Adems hay que separar en diferentes discos los Redo Log Archivados de los Redo Log Online, para reducir la contencin entre el LGWR y el ARCH. El Redo Log Online tambin debera estar en un disco distinto a los ficheros de datos, para reducir la contencin entre LGWR y DBWR. En las vistas V$LOG, V$LOG_HISTORY y V$LOGFILE estn los detalles del redo.
GESTION DEL REDO LOG
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
70
MODO ARCHIVELOG
Por defecto, la BD se crea en modo NOARCHIVELOG (con CREATE DATABASE). Si activamos el modo ARCHIVELOG se irn archivando los ficheros redo conforme se llenan (en cada log switch). LOG_ARCHIVE_START=TRUE, activa archivado automtico (en 10g no hace falta). El proceso ARCH ir archivando el grupo redo log lleno, despus de cada log switch, en el directorio indicado por el parmetro LOG_ARCHIVE_DEST (por defecto $ORACLE_HOME/dbs/arch). Al archivar un fichero redo, en el de control se guarda el nombre del redo archivado, nmero de secuencia, y nmeros SCN ms alto y ms bajo. El redolog que se ha llenado no puede reutilizarse hasta que ocurra un checkpoint y haya sido copiado por el proceso ARCH. Poner BD en modo ARCHIVELOG: SHUTDOWN, backup (por seguridad), configurar log_archive_dest en el INIT, STARTUP MOUNT, activar archivado (ALTER DATABASE ARCHIVELOG;), abrir BD (ALTER DATABASE OPEN;), parar BD, y hacer backup (pues ha cambiado el fichero de control y la copia anterior ya no nos sirve).
Ms informacin en http://cursos.atica.um.es/oradoc102/server.102/b14231/archredo.htm#i1006246
GESTION DEL REDO LOG
Nota. Se puede ver el estado del archivado con el comando archive log list del sqlplus.
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
71
VISTAS DEL DD
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
72
TEMA 5 TABLESPACES
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
TABLESPACES
73
TEMA 5. TABLESPACES
Qu es un tablespace Tablespaces system y sysaux Create tablespace Formas de gestionar el espacio de un tablespace Tablespaces undo Tablespaces temporales Tablespace temporal por defecto de la BD y tablespace por defecto de la BD Tablespace offline y rename Tablespace read-only y bigfile Borrar un tablespace y grupos Redimensionar un tablespace Mover ficheros
TABLESPACES
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
74
QUE ES UN TABLESPACE
Desde Oracle 10g, una BD podra tener slo los tablespaces SYSTEM y SYSAUX (>=10g). Oracle recomienda crear tablespaces adicionales para los datos, ndices, rollback y segmentos temporales. Segn la estructura fsica, una BD est compuesta por: el fichero de control, ficheros redolog y ficheros de datos. Y la estructura lgica la componen tablespaces, segmentos, extensiones y bloques. Cada tablespace consiste en uno o ms ficheros del s.o. llamados ficheros de datos (un fichero pertenece a un solo tablespace):
Un tablespace slo puede pertenecer a una BD a la vez. Puede tener cero o ms segmentos (un segmento slo pertenece a un tablespace). Exceptuando el SYSTEM, o aquellos que contengan segmentos de rollback activos, un tablespace se puede poner offline, con la BD funcionando. Un tablespace se puede poner en modo read-only o read-write.
Tipos de tablespaces: permanent (datos: system, sysaux, aplicaciones), undo (rollback) y temporary (sort). Oracle >=10g permite crear bigfile tablespaces, de hasta 8EB (millones de terabytes).
TABLESPACES
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
75
TABLESPACES
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
TABLESPACES
76
El tablespace SYSAUX (>=10g) permite que en el tablespace SYSTEM slo est el DD, aglutinando las utilidades del sistema (Repositorio OEM, Intermedia, Spatial, OLAP, RMAN, XML DB, etc). Qu hay en el tablespace SYSAUX y cunto ocupa?
selectoccupant_name,space_usage_kbytesfromv$sysaux_occupants;
selectoccupant_name,move_procedure,move_procedure_descfrom v$sysaux_occupants;
Se puede mover el contenido de SYSAUX a otro tablespace? Respecto al resto de tablespaces (no SYSTEM), se recomienda separar los ficheros de redo, luego datos de ndices, despus rollback y segmentos temporales. Tambin es bueno separar datos estticos y dinmicos.
TABLESPACES
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
77
CREAR UN TABLESPACE
CREATE [BIGFILE] TABLESPACE nombre [DATAFILE clasula_fichero] [MINIMUM EXTENT n[K|M]] [BLOCKSIZE n[K]] [LOGGING|NOLOGGING] [clasula_extensiones] [DEFAULT clasula_storage] [ONLINE|OFFLINE] [PERMANENT|TEMPORARY];
clasula_fichero :== nombre_fichero [SIZE n[K|M] [REUSE] | REUSE] [AUTOEXTEND ON|OFF [NEXT n[K|M]] [MAXSIZE n[K|M]]] clasula_extensiones :== EXTENT MANAGEMENT [DICTIONARY | LOCAL [AUTOALLOCATE | UNIFORM [SIZE n[K|M]] [SEGMENT SPACE MANAGEMENT AUTO | MANUAL]]] clasula_storage :== STORAGE (INITIAL n[K|M] [NEXT n[K|M]] [MINEXTENTS n] [MAXEXTENTS n] [PCTINCREASE n])
CREATE TABLESPACE DATOS_USUARIOS DATAFILE /u02/oradata/CURSOxy/datos_usuarios01.dbf SIZE 16M AUTOEXTEND ON NEXT 1M MAXSIZE 32M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K SEGMENT SPACE MANAGEMENT AUTO; CREATE TABLESPACE DATOS_USUARIOS DATAFILE /u02/oradata/CURSOxy/datos_usuarios01.dbf SIZE 16M AUTOEXTEND ON NEXT 1M MAXSIZE 32M EXTENT MANAGEMENT DICTIONARY DEFAULT STORAGE (INITIAL 16K NEXT 32K MAXEXTENTS 10 PCTINCREASE 50);
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez TABLESPACES
78
Es el mtodo por defecto en Oracle8i. Las extensiones libres quedan registradas en tablas del DD. Cada vez que una extensin se libera o se reserva, las tablas correspondientes del DD deben ser actualizadas. Permite definir STORAGE flexible a los segmentos (los locales NO).
TABLESPACES
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
79
TABLESPACES UNDO
En Oracle 9i se introducen los segmentos de undo automticos, que permiten sustituir la gestin manual de segmentos de rollback. Con Oracle 10g todava se puede optar por la gestin manual, pero se avisa de que ya no estar disponible en futuras versiones. Los tablespaces undo slo pueden contener segmentos de rollback (ningn otro tipo de objeto). Los llamaremos tablespaces de rollback. Son del tipo manejados localmente (de forma automtica).
CREATE UNDO TABLESPACE undo01 DATAFILE /u03/oradata/CURSOxy/undo01.dbf SIZE 100M;
Un tablespace de rollback slo se usa cuando se activa la gestin automtica de rollback en la BD (undo_management=auto y undo_tablespace=nombre_tablespace). Slo puede haber un tablespace de rollback activo en un momento dado.
TABLESPACES
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
80
CREATE TEMPORARY TABLESPACE temp TEMPFILE /u03/oradata/CURSOxy/temp01.dbf SIZE 100M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 2M;
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
81
Desde Oracle9i, al crear la BD se puede (y se debe) indicar un tablespace temporal por defecto para aquellos usuarios a los que no se le asigne uno explcitamamente. Si no se hace as, por defecto, se asignar el tablespace SYSTEM (sto hay que evitarlo a toda costa). EL tablespace temporal por defecto de la BD se puede cambiar: Tambin se puede crear con la BD (CREATE DATABASE), en cuyo caso, ser del tipo local. Al asignar a la BD un tablespace temporal por defecto, todos los usuarios que no tengan uno asignado explcitamente, pasarn a tenerlo. Y cuando cambiemos el tablespace temporal por defecto de la BD, cambiar para todos los usuarios que no lo tengan asignado de forma explcita. No podemos borrarlo hasta asignar otro. No podemos ponerlo offline. Desde Oracle10, adems, se puede definir un tablespace por defecto para los usuarios a los que no se le asigna uno explcitamente, en el momento de la creacin de la BD con la clasula DEFAULT TABLESPACE nombre. Adems se puede cambiar en cualquier momento con (ojo!!!, se cambiar para todos los usuarios, incluso los q tuviesen asignado uno concreto, excepto especiales como SYS, SYSTEM, DBSNMP, OUTLN, etc): ALTERDATABASEDEFAULTTABLESPACEnombre;
TABLESPACES
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE nombre_tablespace; Nota: nombre_tablespace podra ser un nombre de grupo.
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
82
Los segmentos que contiene pueden ser borrados (por ejemplo drop table, porque slo afectan al DD). En tablespaces locales, el segmento borrado pasa a ser del tipo temporal. Desde Oracle 10g, se puede renombrar un tablespace (execpto SYSTEM y SYSAUX), incluso estando READ ONLY: ALTER TABLESPACE nombre1 RENAME TO nombre2;
TABLESPACES
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
83
Al poner un tablespace en modo READ-ONLY, slo se permiten operaciones de lectura sobre sus datos; sin embargo los segmentos que contiene pueden ser borrados (por ejemplo drop table, porque slo afecta al DD). En tablespaces locales, el segmento borrado pasa a ser del tipo temporal. Sintaxis: ALTER TABLESPACE nombre READ [ONLY | WRITE]; Un tablespace BIGFILE puede tener hasta 8Exabytes (millones de Tb). No pueden serlo ni SYSTEM ni SYSAUX. CREATE BIGFILE TABLESPACE nombre DATAFILE '/u02/oradata/CURSOxy/nombre01.dbf' size 50G EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
TABLESPACES
84
BORRAR UN TABLESPACE
Al borrar un tablespace, se elimina del DD. No podemos borrar SYSTEM/SYSAUX. Los ficheros asociados no se borran (hacerlo desde el SO despus de eliminar el tablespace), a no ser que usemos INCLUDING CONTENTS AND DATAFILES (>= Oracle9i). No podremos borrarlo si contiene objetos, a menos que indiquemos NCLUDING CONTENTS. Tampoco podemos hacerlo si existen foreign keys apuntando a sus objetos, a menos que adems indiquemos CASCADE CONSTRAINTS (se borrarn las citadas constraints FK). Se recomienda poner el tablespace OFFLINE antes de borrarlo, para asegurarnos que nadie est usando su contenido.
DROP TABLESPACE nombre_tablespace [INCLUDING CONTENTS [AND DATAFILES] [CASCADE CONSTRAINTS]];
TABLESPACES
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
85
REDIMENSIONAR UN TABLESPACE
Podemos ampliar un tablespace aadindole un fichero, o bien cambiando el tamao del fichero que lo compone.
ALTER TABLESPACE users ADD DATAFILE /u02/oradata/CURSOxy/users02.dbf size 1M; ALTER DATABASE DATAFILE /u02/oradata/CURSOxy/users01.dbf resize 2M; Podemos reducir el tamao de un fichero, pero no podremos hacerlo si hay espacio ocupado al final del mismo. ALTER DATABASE DATAFILE /u02/oradata/CURSOxy/users01.dbf SIZE 1M AUTOEXTEND ON NEXT 1M MAXSIZE 4M; Podemos indicar UNLIMITED como MAXSIZE. Y las unidades tambin pueden ser K (p.e. 512K) o bytes (p.e. 100000).
Una opcin interesante es programar el crecimiento del fichero que compone el tablespace:
Slo un tablespace BIGFILE se puede redimensionar con ALTER TABLESPACE, sin indicar DATAFILE (>=10g): Podemos borrar un fichero vaco de un tablespace, con ms de uno (>=10g):
ALTERTABLESPACEusersDROPDATAFILE '/u02/oradata/CURSOXY/users02.dbf';
TABLESPACES
ALTERTABLESPACEbigtbsRESIZE60G;
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
86
REDIMENSIONAR UN TABLESPACE
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
TABLESPACES
87
MOVER FICHEROS
Existen dos mtodos para mover ficheros: con ALTER TABLESPACE y con ALTER DATABASE. El primero slo es aplicable a tablespaces que no son el SYSTEM, y que no contienen segmentos de rollback o temporales activos:
El segundo requiere que la BD est slo montada, y es la nica forma de mover el tablespace SYSTEM:
Parar la BD. Montar la BD (startup mount). Mover el fichero desde el S.O. ALTER DATABASE RENAME FILE /path2/fichero2; Abrir la BD.
Poner el tablespace offline Mover el fichero a nivel del S.O. ALTER TABLESPACE RENAME DATAFILE /path1/fichero1 TO /path2/fichero2; Poner el tablespace online.
/path1/fichero1
TO
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
TABLESPACES
88
PURGE RECYCLEBIN | DBA_RECYCLEBIN; PURGE TABLESPACE nomtsp [USER usuario]; Borrar directamente sin pasar por RECYCLEBIN: DROP TABLE tabla PURGE;
TABLESPACES
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
89
http://cursos.atica.um.es/oradoc102/server.102/b14211/diagnsis.htm#sthref433
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
90
http://cursos.atica.um.es/oradoc102/server.102/b14211/autostat.htm#i27008
91
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
VISTAS DEL DD
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
TABLESPACES
92
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
SGA dinmica: sga_max_size, db_cache_size db_nk_cache_size (cachs con tamao de bloque no estndard) desaparece connect internal, ahora es connect / as sysdba spfile (fichero de parmetros binario, mantenido con alter system set ...) OMF tablespaces con gestin automtica de segmentos
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
94
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
Database Replay: nueva herramienta para capturar sentencias SQL y repetir su ejecucin en otra BD (muy til para tests de preproduccin). Flashback Data Archive ASM: Nuevo rol SYSASM y nuevo grupo OSASM ASM. Result Cach: cachea resultados de sentencias SQL y de funciones PL/SQL. SecureFiles: son los nuevos objetos LOB, q permiten cifrado, compresin, etc. Indices invisibles: permite desactivar ndices sin borrarlos. Virtual Columns: columnas virtuales resultado de operaciones. Seguridad: claves sensibles a maysculas/minsculas (alter user scott identified by nuevaCLAVE;). Automatic Health Monitor (nuevo paquete DBMS_HM). Automatic Diagnostic Repository (ADR) PL/SQL: compilacin nativa real.
97
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
98
ARQUITECTURA RAC.
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
99
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
100
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
101
ORACLE CLUSTERWARE.
Oracle Clusterware, OCW, requiere dos componentes, residentes ambos en un almacenamiento compartido: Un disco, voting disk, donde se recoge informacin sobre los nodos miembros. Permite determinar las instancias miembros del cluster y debe residir en un disco compartido. Se recomienda disponer de varios discos de este tipo para garantizar una alta disponibilidad (en nmero impar). Oracle Cluster Registry (OCR) para registrar informacin sobre configuracin del cluster, as como sobre cualquier bd en cluster y sobre los procesos que OCW controla. Debe residir en un disco compartido accesible a los nodos. Se recomienda que este multiplexado para garantizar una alta disponibilidad.
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez INTRODUCCIN A ORACLE RAC
102
103
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
104
105
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
106
CACHE FUSION
La primera instancia en arrancar se convierte en Lock Master (LM). Si esta cae, otra ser la nueva LM (cul?). INSTA: hola LM, quiero leer el bloque 625 LM: nadie lo tiene, lelo de disco LM actualiza su tabla, ya sabe que INSTA tiene el bloque INSTA lee el bloque INSTB: hola LM, quiero leer el bloque 625 LM: espera, INSTA lo tiene, ahora le digo q te lo enve LM sabe que INSTA e INSTB tienen el bloque INSTA enva el bloque a INSTB INSTB: hola LM, quiero modificar el bloque 625 LM informa a INSTA que su versin del bloque 625 ya no vale LM sabe que INSTB tiene el bloque 625 (vlido) LM: haz tu modificacin Este mecanismo consume CPU y trfico de red. Por otro lado, es ms rpido leer un bloque de la red que del disco.
INTRODUCCIN A ORACLE RAC
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
107
INTALAR RAC
Puedes montar RAC hasta con 4 nodos con 1 CPU, o hasta 2 nodos con 2 CPUs, con la licencia Oracle Database Standard Edition. Si quieres ms hay q pasar a la licencia Oracle Database Enterprise Edition. Primer paso: usar OUI (Oracle Universal Installer) para instalar CRS (Cluster Ready Services). Lo proporciona Oracle 10g para la gestin del cluster. Con CRS se puede: Definir servicios para distribuir la carga entre nodos. AWR recoge estadsticas sobre estos servicios. Segundo paso: instalar el software del servidor de BD Oracle con RAC (usando OUI), en un ORACLE_HOME diferente al de CRS.
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
108
RECUPERACIN DE LA INSTANCIA
Cada instancia tiene su propio UNDO tablespace y redolog online. Si una instancia cae la otra se encarga de recuperarla (leer y aplicar redolog online). Si las dos instancias caen, la primera q arranque har el recovery de todas las transacciones.
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
109
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
110
La flash recovery area (FRA) ser la misma para todas las instancias del RAC. Para ello la situaremos en los discos compartidos, y asignaremos los parmetros DB_RECOVERY_FILE_DEST y DB_RECOVERY_FILE_DEST_SIZE con los mismo valores, en todas las instancias.
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
111
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
112
Administracin de Oracle 11g (Parte 1) Juan Luis Serradilla Amarilla y Francisco Fernndez Martnez
113