Curso Oracle
Transcript of Curso Oracle
© Matchmind. Quedan reservados todos los derechos. 1
Curso administración
ORACLE 10g
© Matchmind. Quedan reservados todos los derechos. 2
Índice
Introducción Introducción a Oracle
Introducción al lenguaje SQL
Administración Oracle IConceptos básicos
Arquitectura Oracle
Estructura de ficheros
Estructura de la memoria
Estructura de los procesos
Oracle en red: Listener & Tnsnames
Conexión a la DB
Arranque y parada de la DB
Objetos de la DB
Usuarios, privilegios, roles y perfiles
Administración Oracle IIBackup y recuperación lógica (Export / Import)
Backup y recuperación física
· Modo Archive
Backup con RMAN
© Matchmind. Quedan reservados todos los derechos. 3
Introducción.
Introducción Introducción a Oracle
Introducción al lenguaje SQL
Administración Oracle IConceptos básicos
Arquitectura Oracle
Estructura de ficheros
Estructura de la memoria
Estructura de los procesos
Oracle en red: Listener & Tnsnames
Conexión a la DB
Arranque y parada de la DB
Objetos de la DB
Usuarios, privilegios, roles y perfiles
Administración Oracle IIBackup y recuperación lógica (Export / Import)
Backup y recuperación física
· Modo Archive
Backup con RMAN
© Matchmind. Quedan reservados todos los derechos. 4
Introducción a ORACLE
SGBDR ORACLE· SGBDR Sistema de Gestión de Bases de Datos Relacionales
· Bajo las siglas SGBDR se oculta toda la complejidad informática necesaria para gestionar:
- El acceso controlado de los procesos de los usuarios a los datos
- La gestión del almacenamiento de los datos
- La gestión de las comunicaciones entre procesos clientes y servidores
- Interconexión con distintos protocolos y sistemas operativos
- Acceso a los recursos conectados a la red
· El software de Oracle es el líder del mercado de SGBDR para el mundo empresarial
· Está disponible para casi cualquier plataforma y S.O.
© Matchmind. Quedan reservados todos los derechos. 5
Introducción.
Introducción Introducción a Oracle
Introducción al lenguaje SQL
Administración Oracle IConceptos básicos
Arquitectura Oracle
Estructura de ficheros
Estructura de la memoria
Estructura de los procesos
Oracle en red: Listener & Tnsnames
Conexión a la DB
Arranque y parada de la DB
Objetos de la DB
Usuarios, privilegios, roles y perfiles
Administración Oracle IIBackup y recuperación lógica (Export / Import)
Backup y recuperación física
· Modo Archive
Backup con RMAN
© Matchmind. Quedan reservados todos los derechos. 6
Introducción al lenguaje SQL
SQL (Structured Query Language)· SQL es un lenguaje de acceso a la DB Oracle y que actualmente es un estándar de la industria
· Se utiliza para controlar todas las funciones que el gestor de DB Oracle proporciona a los usuarios, incluyendo:
- Definición de datos permite definir la estructura y organización de los datos almacenados y las relaciones entre ellos
- Recuperación de datos permite recuperar datos almacenados en la DB y utilizarlos
- Manipulación de datos permite insertar datos, modificarlos o suprimirlos
- Control de acceso permite restringir el acceso a los datos, a su actualización o a su eliminación
- Integridad de datos permite definir restricciones de integridad en los datos
· SQL también es utilizado para la administración de la DB. Mediante SQL se puede definir la estructura de la DB y controlar el acceso a los datos almacenados
© Matchmind. Quedan reservados todos los derechos. 7
Introducción al lenguaje SQL
Clasificación del lenguaje SQL· DDL Data Definition Language
- CREATE
- ALTER
- DROP
- TRUNCATE
· DML Data Manipulation Language
- SELECT
- INSERT
- UPDATE
- DELETE
- MERGE
· DCL Data Control Language
- GRANT
- REVOKE
· TCL Transaction Control Language
- COMMIT
- ROLLBACK
- SAVEPOINT
© Matchmind. Quedan reservados todos los derechos. 8
Introducción al lenguaje SQL
Sentencia SELECT· La orden SELECT se utiliza para consultar datos o información importante de la DB
SELECT [DISTINCT] * | C1[, …, Cn]
FROM [PROPIETARIO.]TABLA1 [, …, TABLAn]
[WHERE CONDITION…]
[GROUP BY…]
[HAVING CONDITION…]
[ORDER BY C1 [DESC] [, …, Cn [DESC]]]
- DISTINCT esta cláusula indica al gestor de la DB que sólo debe mostrar una vez los resultados duplicados
- WHERE evalúa las condiciones sobre los registros, y aquellos que los cumplen son extraídos
- GROUP BY se utiliza para agrupar campos de Select no afectados por una función de grupo
- HAVING se utiliza para establecer condiciones sobre las condiciones de grupo definidas en Select
- ORDER BY ordena los resultados mostrados por el campo o campos seleccionados
© Matchmind. Quedan reservados todos los derechos. 9
Administración Oracle I.
Introducción Introducción a Oracle
Introducción al lenguaje SQL
Administración Oracle IConceptos básicos
Arquitectura Oracle
Estructura de ficheros
Estructura de la memoria
Estructura de los procesos
Oracle en red: Listener & Tnsnames
Conexión a la DB
Arranque y parada de la DB
Objetos de la DB
Usuarios, privilegios, roles y perfiles
Administración Oracle IIBackup y recuperación lógica (Export / Import)
Backup y recuperación física
· Modo Archive
Backup con RMAN
© Matchmind. Quedan reservados todos los derechos. 10
Administración Oracle I.
Introducción Introducción a Oracle
Introducción al lenguaje SQL
Administración Oracle IConceptos básicos
Arquitectura Oracle
Estructura de ficheros
Estructura de la memoria
Estructura de los procesos
Oracle en red: Listener & Tnsnames
Conexión a la DB
Arranque y parada de la DB
Objetos de la DB
Usuarios, privilegios, roles y perfiles
Administración Oracle IIBackup y recuperación lógica (Export / Import)
Backup y recuperación física
· Modo Archive
Backup con RMAN
© Matchmind. Quedan reservados todos los derechos. 11
Administración Oracle I. Conceptos básicos
Conceptos básicos· USUARIOS DE ADMINISTRACION ORACLE
Son los usuarios con los que se realizan las tareas de configuración y mantenimiento de las DB Oracle. Cuando se crea una Base de Datos en Oracle, se crean obligatoriamente 2 usuarios:- SYSTEM
Es un usuario administrador (privilegio SYS), con funciones básicas de administración
- SYSEs el “superadministrador” de la DB. Puede realizar cualquier operación (privilegio SYSDBA)
Funciones de SYS que SYSTEM no puede realizar:- Arranque y parada de la DB- Creación de ficheros SPFILE & INIT- Crear DB- Borrar DB- Activar modo FLASHBACK- Habilitar / deshabilitar el modo ARCHIVE- Recuperar DB
Al crear la DB, Oracle pide cambiar las contraseñas por defecto: manager (para el usuario SYSTEM), y change_on_install (para el usuario SYS)
© Matchmind. Quedan reservados todos los derechos. 12
Administración Oracle I. Conceptos básicos
Conceptos básicos· PARAMETROS
Los parámetros están en el Kernel de Oracle y configuran el entorno de la DB, a través de aspectos tan importantes como:- La memoria- Procesos- Ficheros
Hay dos tipos de Parámetros:- Dinámicos: son aquellos que se pueden modificar sin parar la DB- Estáticos: para que su cambio sea efectivo hay que reiniciar la DB
Modificación de Parámetros:SQL> ALTER SYSTEM SET PARAMETRO = VALOR [SCOPE = {MEMORY | SPFILE | BOTH}];
- SCOPE: ámbito del cambio, por defecto es memory* Memory cambio efectivo en el momento actual, para parámetros dinámicos, si son estáticos da error* Spfile el cambio se realiza en el fichero de inicialización* Both efecetúa el cambio en el momento actual y en el fichero de inicialización
Ejemplo:SQL> ALTER SYSTEM SET PROCESSES = 230 SCOPE = BOTH;
Para ver el valor de un parámetro/s:SQL> SHOW PARAMETER CADENA; muestra todos los parámetros en cuyo nombre aparece cadena
© Matchmind. Quedan reservados todos los derechos. 13
Administración Oracle I. Conceptos básicos
Conceptos básicos· DICCIONARIO DE DATOS
Es el conjunto de tablas y vistas propiedad del usuario SYS donde Oracle almacena información de su propia gestión
Los DBA’s lanzan consultas contra estas tablas y vistas para averiguar información acerca de la estructura y funcionamiento de la Base de Datos
Estas tablas no deben ser modificadas “manualmente” bajo ningún concepto, pues se corre el riesgo de corromper la DB
Tipos de vistas y tablas del diccionario:
- USER_XXX objetos propiedad del usuario que los consulta
* USER_TABLES: tablas creadas por el usuario
* USER_INDEXES: índices creados por el usuario
- ALL_XXX objetos propiedad del usuario y aquellos otros para los cuáles el propietario les ha concecido permisos de acceso
* ALL_TABLES: tablas creadas por el usuario y aquellas otras a las que puede acceder
- DBA_XXX todos los objetos de la DB. Sólo pueden ser consultadas por usuarios con privilegio DBA
* DBA_TABLES: todas las tablas de la DB
- X$XXX tablas de rendimiento dinámico, se utilizan en tuning
- V$XXX vistas de rendimiento dinámico (no todas), que salen de las tablas de rendimiento dinámico
* V$SYSSTAT: para consultar el porcentaje de aciertos de la cache
© Matchmind. Quedan reservados todos los derechos. 14
Administración Oracle I. Conceptos básicos
Conceptos básicos· DICT
Es una tabla que contiene el nombre y descripción de todas las tablas y vistas del diccionario de datos
A esta tabla se le consultará siempre en mayúsculas
Ejemplo:
SQL> SELECT * FROM DICT WHERE TABLE_NAME LIKE ‘DBA_TABLES’;
TABLE_NAME COMMENTS
--------------------------------------- ----------------------------------------------------------------------------------------------
DBA_TABLES Description of all relational tables in the database
© Matchmind. Quedan reservados todos los derechos. 15
Administración Oracle I.
Introducción Introducción a Oracle
Introducción al lenguaje SQL
Administración Oracle IConceptos básicos
Arquitectura Oracle
Estructura de ficheros
Estructura de la memoria
Estructura de los procesos
Oracle en red: Listener & Tnsnames
Conexión a la DB
Arranque y parada de la DB
Objetos de la DB
Usuarios, privilegios, roles y perfiles
Administración Oracle IIBackup y recuperación lógica (Export / Import)
Backup y recuperación física
· Modo Archive
Backup con RMAN
© Matchmind. Quedan reservados todos los derechos. 16
Administración Oracle I. Arquitectura Oracle
Estructura lógico – físicaSe compone de 3 partes:
· BLOQUE es la mínima unidad física de almacenamiento. Oracle físicamente lee y escribe bloques, dentro de los bloques se almacenan los registros. Un bloque tiene una cabecera en la que Oracle mete información necesaria para la administración del bloque, la cabecera ocupa entre el 10 y el 15% del tamaño del bloque
Tamaños de bloque disponibles: 2 KB – 4 KB – 8 KB – 16 KB – 32 KB
· EXTENSIÓN es un conjunto de bloques contiguos
· SEGMENTO es un conjunto de extensiones. A nivel lógico es una tabla o un índice
N. Lógico N. Físico
TABLA
SEGMENTO Σ EXTENSIONES Σ BLOQUES
INDICE
© Matchmind. Quedan reservados todos los derechos. 17
Administración Oracle I. Arquitectura Oracle
Estructura lógica· TABLESPACES son estructuras lógicas organizativas de nivel superior, donde se almacenan las estructuras lógicas de
tablas e índices. Cada tablespace está asociado a uno o más ficheros físicos, siendo su tamaño el sumatorio de los tamaños de los ficheros físicos
Tablespaces obligatorios:
- SYSTEM: donde Oracle almacena el diccionario de datos
- SYSAUX: obligatorio a partir de la versión 10g, donde Oracle crea los repositorios (conjuntos de tablas y vistas) que necesita para ciertas utilidades añadidas a la DB
N. Lógico N. Físico
TABLA
SEGMENTO
INDICE
TABLESPACES FICHEROS
se almacenan en se almacenan en
© Matchmind. Quedan reservados todos los derechos. 18
Administración Oracle I. Arquitectura Oracle
Tipos de Tablespaces· Permanentes (PERMANENT)
Son los tablespaces para datos e índices
- REUSE Si ya existe el fichero lo ‘reutiliza’ formateando los datos que tuviera
- AUTOEXTEND para definir si el fichero puede crecer una vez se halla llenado
- LOGGING para que las sentencias que modifican los datos o la estructura de los ficheros sean almacenadas en los ficheros REDO LOG, de cara a cubrir una posible caída del sistema
- FORCE LOGGING fuerza a que todos los elementos del tablespace sean logging, aunque en éstos se defina lo contrario
- EXTENT MANAGEMENT define cómo es la gestión del crecimiento de los objetos dentro del tablespace
- SEGMENT SPACE MANAGEMET define cómo se realizará la gestión del espacio libre dentro de un segmento
CREATE TABLESPACE NAME
DATAFILE ‘/…/Fx.DBF’ SIZE N {K|M|G} [REUSE]
[AUTOEXTEND {ON | OFF} NEXT N {K|M|G} MAXSIZE {{N K|M|G} | UNLIMITED}]
[{LOGGING | NOLOGGING}]
[FORCE LOGGING]
[EXTENT MANAGEMENT {DICTIONARY | LOCAL}]
[SEGMENT SPACE MANAGEMENT {MANUAL | AUTO}]
© Matchmind. Quedan reservados todos los derechos. 19
Administración Oracle I. Arquitectura Oracle
Tipos de Tablespaces· UNDO
Son los tablespaces donde Oracle lleva la imagen de los datos antes de que éstos sean cambiados. Sirven para mantener la consistencia en lectura, es decir, crear una dualidad de datos para mantener los datos de una select anterior a un update
Pueden existir varios tablespaces undo pero sólo uno activo
Parámetros relacionados:
- UNDO_RETENTION Expresa el tiempo (en seg) que permanecerán los datos en el UNDO una ver realizado el commit
- UNDO_TABLESPACE Determina el tablespace UNDO activo
CREATE UNDO TABLESPACE NAME
DATAFILE ‘/…/Fx.DBF’ SIZE N {K|M|G} [REUSE]
[AUTOEXTEND…];
© Matchmind. Quedan reservados todos los derechos. 20
Administración Oracle I. Arquitectura Oracle
Tipos de Tablespaces· Temporales (TEMP)
Oracle los utiliza para almacenar los datos necesarios para resolber operaciones temporales provocadas por:
- Funciones de grupo - Merge join - Order by - Group by
- Distinct - Union - Intersect - Minus
Es aconsejable tener varios tablespaces temporales dividiendo a los usuarios para que trabajen en ellos
· Grupos de tablespaces temporales En Oracle 10g se pueden crear grupos de tablespaces temporales, compuestos por varios tablespaces temporales. El objetivo es llevar a los usuarios a trabajar en un grupo, de tal forma que sus operaciones temporales, al ir contra el grupo pueden dispersarse en varios tablespaces de dicho grupo
Esta sentencia asocia el tablespace TB_TEMP al grupo G_TEMP, y si no existe lo crea
CREATE TEMPORARY TABLESPACE NAME
DATAFILE ‘/…/Fx.DBF’ SIZE N {K|M|G} [REUSE]
[AUTOEXTEND…];
ALTER TABLESPACE TB_TEMP TABLESPACE GROUP G_TEMP;
© Matchmind. Quedan reservados todos los derechos. 21
Administración Oracle I. Arquitectura Oracle
Estructura Física· Son los ficheros físicos que componen la DB
· Tipos de ficheros:
- Ficheros de datos
- Ficheros de control
- Ficheros REDO LOG
- Ficheros de inicialización
- Fichero de claves
- Ficheros ARCHIVE
© Matchmind. Quedan reservados todos los derechos. 22
Administración Oracle I.
Introducción Introducción a Oracle
Introducción al lenguaje SQL
Administración Oracle IConceptos básicos
Arquitectura Oracle
Estructura de ficheros
Estructura de la memoria
Estructura de los procesos
Oracle en red: Listener & Tnsnames
Conexión a la DB
Arranque y parada de la DB
Objetos de la DB
Usuarios, privilegios, roles y perfiles
Administración Oracle IIBackup y recuperación lógica (Export / Import)
Backup y recuperación física
· Modo Archive
Backup con RMAN
© Matchmind. Quedan reservados todos los derechos. 23
Administración de Oracle I. Estructura de ficheros, memoria y procesos
Oracle Server Instancia + Base de Datos
Instancia SGA + Procesos Background
Base de Datos Archivos de Datos + Archivos de Control + Archivos Redo Log
© Matchmind. Quedan reservados todos los derechos. 24
Administración de Oracle I. Estructura de ficheros, memoria y procesos
Instancia· Está formada por la SGA y los procesos Background
· Una instancia siempre abre una única base de datos
© Matchmind. Quedan reservados todos los derechos. 25
Administración Oracle I.
Introducción Introducción a Oracle
Introducción al lenguaje SQL
Administración Oracle IConceptos básicos
Arquitectura Oracle
Estructura de ficheros
Estructura de la memoria
Estructura de los procesos
Oracle en red: Listener & Tnsnames
Conexión a la DB
Arranque y parada de la DB
Objetos de la DB
Usuarios, privilegios, roles y perfiles
Administración Oracle IIBackup y recuperación lógica (Export / Import)
Backup y recuperación física
· Modo Archive
Backup con RMAN
© Matchmind. Quedan reservados todos los derechos. 26
Administración de Oracle I. Estructura de ficheros
Ficheros de Datos· Son los ficheros de datos asociados a los Tablespaces de tipo PERMANENT
· Debe existir al menos un fichero de datos (SYSTEM) para almacenar el diccionario de datos
· Es aconsejable ubicar los ficheros de datos en un disco diferente de los índices
· El nº máximo de ficheros de datos que se pueden crear se determina al crear la DB, al definir MAXDATAFILES
© Matchmind. Quedan reservados todos los derechos. 27
Administración de Oracle I. Estructura de ficheros
Fichero de Control· Es un fichero binario, sin el cual no es posible arrancar la DB
· Contiene la siguiente información:
- Nombre de la DB
- Fecha de la última actualización
- Nombre de los ficheros de datos
- Nombre de los ficheros Redo Log
- CHECKPOINTS
· Es muy aconsejable replicar el fichero de control, a ser posible en discos diferentes, para el correcto funcionamiento de la DB
· Los ficheros de control que maneja Oracle en cada momento se definen a través del parámetro estático CONTROL_FILES
· También pueden consultarse en la vista V$CONTROLFILE
SQL> SELECT * FROM V$CONTROLFILE;
© Matchmind. Quedan reservados todos los derechos. 28
Administración de Oracle I. Estructura de ficheros
Ficheros Redo Log· Contienen toda sentencia que provoca cambio transaccional o estructural en la DB:
- UPDATE - INSERT - DELETE - CREATE - ALTER - TRUNCATE - DROP
· Permiten volver a aplicar los cambios en los datos en caso de caída de la BD
· Los ficheros Redo Log se organizan en grupos, siendo su estructura mínima
2 grupos con 1 miembro cada grupo
· El uso de los grupos es cíclico. Oracle comienza a escribir en un grupo,
cuando se llena pasa al siguiente grupo, cuando no hay más grupos vuelve
a escribir en el primero
© Matchmind. Quedan reservados todos los derechos. 29
Administración de Oracle I. Estructura de ficheros
Ficheros Redo Log· Una configuración más óptima de los ficheros Redo Log es la siguiente:
HD1 HD2 HD3
G1 M1 M2 M3
G2 M1 M2 M3
G3 M1 M2 M3
G4 M1 M2 M3
· Todos los miembros del mismo grupo tienen el mismo contenido (MIRROR)
· Dimensionando correctamente el tamaño de cada fichero Redo Log y utilizando esta estructura prácticamente se asegura que la DB no va a pararse por culpa de los ficheros Redo Log
© Matchmind. Quedan reservados todos los derechos. 30
Administración de Oracle I. Estructura de ficheros
Ficheros Redo Log· Información de ficheros Redo Log
- Vista V$LOG información sobre los grupos
- Vista V$LOGFILE información sobre los miembros de cada grupo
- Vista V$LOG_HISTORY información del historial de escritura de los grupos
· Crear nuevos grupos:
ALTER DATABASE ADD LOGFILE GROUP Nº
(‘/…/Fx.LOG’, …, ‘/…/Fy.LOG’) SIZE Nº K | M |G;
· Añadir un nuevo miembro a un grupo existente
ALTER DATABASE ADD LOGFILE MEMBER ‘/…/Fx.LOG’
TO GROUP Nº;
· Borrar grupos
ALTER DATABASE DROP LOGFILE GROUP Nº;
© Matchmind. Quedan reservados todos los derechos. 31
Administración de Oracle I. Estructura de ficheros
Ficheros de Inicialización· Son los primeros ficheros que lee el servidor Oracle cuando arranca la DB
· Contienen los parámetros de configuración de la DB parámetros con valor no por defecto
· Pueden ser de 2 tipos:
- Texto (INIT)
- Binarios (SPFILE)
Es indiferente trabajar con un tipo u otro, lo que sí es importante es tener copias de estos ficheros
· Creación de fichero SPFILE a partir de INIT:
CREATE SPFILE=‘/…/SPFILE.ORA’ FROM PFILE[=‘/…/INIT.ORA];
· Creación de fichero INIT a partir de SPFILE:
CREATE PFILE=‘/…/INIT.ORA’ FROM SPFILE[=‘/…/SPFILE.ORA’];
© Matchmind. Quedan reservados todos los derechos. 32
Administración de Oracle I. Estructura de ficheros
Ficheros de Claves· Contiene los usuarios que son SYSDBA
· Oracle lo utiliza para verificar conexiones remotas con el privilegio SYSDBA
· Este fichero se crea desde el S.O. con el programa orapwd.exe:
$> ORAPWD FILE=PWD<SID>.ORA
PASSWORD=clave_sys
[ENTRIES=n_max_usuarios]
[FORCE]
FORCE: para sobrescribir el fichero si ya existe
· Ver el contenido (usuarios) del fichero de claves:
SELECT * FROM V$PWFILE_USERS;
· Añadir un usuario al fichero:
GRANT SYSDBA TO USER_NAME;
© Matchmind. Quedan reservados todos los derechos. 33
Administración de Oracle I. Estructura de ficheros
Ficheros Archive· También son conocidos como ficheros Redo Log Archivados
· Contienen las mismas sentencias almacenadas que el fichero Redo Log Online que los originan
· Estos ficheros se crean cuando la DB está en modo ARCHIVE, y
- Se produce un cambio de Redo Log al completarse un grupo
- Se fuerza el cambio de Redo Log con ALTER SYSTEM SWITCH LOGFILE
- Transcurre el tiempo, en segundos, del valor establecido en el parámetro ARCHIVE_LAG_TARGET
* Más información sobre estos ficheros en el capitulo Modo ARCHIVE
© Matchmind. Quedan reservados todos los derechos. 34
Administración Oracle I.
Introducción Introducción a Oracle
Introducción al lenguaje SQL
Administración Oracle IConceptos básicos
Arquitectura Oracle
Estructura de ficheros
Estructura de la memoria
Estructura de los procesos
Oracle en red: Listener & Tnsnames
Conexión a la DB
Arranque y parada de la DB
Objetos de la DB
Usuarios, privilegios, roles y perfiles
Administración Oracle IIBackup y recuperación lógica (Export / Import)
Backup y recuperación física
· Modo Archive
Backup con RMAN
© Matchmind. Quedan reservados todos los derechos. 35
Administración de Oracle I. Estructura de la memoria
PGA (Program Global Area)· Área de memoria reservada para cada proceso de usuario que se conecta a la DB
· Se crea cada vez que se arranca un nuevo proceso servidor y se libera cuando el proceso termina
· Contiene Sort Area, información de sesión (privilegios de usuario y estadísticas), estado de los cursores, etc…
· A la PGA se le asigna tamaño con
el parámetro estático
PGA_AGGREGATE_TARGET
- El valor de este parámetro será el
valor del total de la SGA para el
conjunto de usuarios de la DB
- +/- 30 KB por usuario potencial o
20% de la SGA
© Matchmind. Quedan reservados todos los derechos. 36
Administración de Oracle I. Estructura de la memoria
SGA (System Global Area)· Es una zona de la memoria RAM del servidor, distinta de la PGA
· Se compone de las siguientes zonas:
- SHARED POOL
- DATA BASE BUFFER CACHE
- LOG BUFFER
- LARGE POOL
- JAVA POOL
Utilizan el algoritmo LRU (Least Recently Used), este algoritmo permite a Oracle conocer los bloques / datos que menos se han leído
© Matchmind. Quedan reservados todos los derechos. 37
Administración de Oracle I. Estructura de la memoria
SHARED POOL· Se divide internamente en dos zonas Library Cache & Data Dictionary Cache
- LIBRARY CACHE contiene el parsing del código PL y SQL que se ejecuta en la DB:
De los 3 elementos del parsing, sólo el plan de ejecución permanece en la LC,
para poder ser reutilizado por otros procesos que lancen el mismo código
- DATA DICTIONARY CACHE
Zona de memoria donde se
almacenan los datos del
diccionario de datos
· A la zona Shared Pool se le da
tamaño desde el parámetro dinámico
SHARED_POOL_SIZE
Análisis sintáctico
Análisis semántico
Plan de ejecución
+ +
© Matchmind. Quedan reservados todos los derechos. 38
Administración de Oracle I. Estructura de la memoria
DATABASE BUFFER CACHE· Se estructura en bloques Oracle y contiene la información de los bloques de los ficheros de datos
· Si los datos requeridos no se encuentran en el DBC, Oracle busca los datos en los ficheros de datos, los carga en el DBC y a
continuación los muestra
· Se denomina bloque sucio a todo bloque de la cache que ha sido leído y posteriormente modificado
· A la zona DBC se le da tamaño
desde el parámetro dinámico
DB_CACHE_SIZE
© Matchmind. Quedan reservados todos los derechos. 39
Administración de Oracle I. Estructura de la memoria
LOG BUFFER· Es la zona destinada a contener las sentencias que provocan cambio estructural o transaccional en la DB
· El objetivo es el paso posterior de estas sentencias a los ficheros REDO LOG
· A la zona LOG BUFFER se le da tamaño desde el parámetro estático LOG_BUFFER
© Matchmind. Quedan reservados todos los derechos. 40
Administración de Oracle I. Estructura de la memoria
LARGE POOL· Es una zona opcional de la SGA
· Conviene definirla cuando se trabaja en arquitectura compartida o se realizan backups con RMAN
· A la zona LARGE POOL se le da tamaño desde el parámetro dinámico LARGE_POOL_SIZE
© Matchmind. Quedan reservados todos los derechos. 41
Administración de Oracle I. Estructura de la memoria
JAVA POOL· Es una zona opcional de la SGA
· Conviene definirla si se ejecuta código Java dentro de Oracle
· A la zona JAVA POOL se le da tamaño desde el parámetro dinámico JAVA_POOL_SIZE
© Matchmind. Quedan reservados todos los derechos. 42
Administración de Oracle I. Estructura de la memoria
Resumen SGA· La SGA es una zona de “pura” RAM, no se puede hacer swapping con memoria virtual en el HD
· Parámetro estático SGA_MAX_SIZE es el máximo valor que puede adoptar la suma de las 5 zonas de la SGA. Su función es evitar que de forma dinámica se pueda “capturar” toda la RAM del servidor.
· Distribución de la SGA:
- Hay que tener en cuenta las funciones del servidor, si además de la DB realiza otras funciones (correo, FTP, …)
- Con una máquina sólo para servidor DB Oracle: definir una SGA entre el 50 y el 60% de la RAM del servidor
SHARED POOL
DATABASE BUFFER CACHE
LOG BUFFER
LARGE POOL
JAVA POOL
Libre, para posterior optimización en tuning
35% 35%
3% 5%
10% 12%
© Matchmind. Quedan reservados todos los derechos. 43
Administración Oracle I.
Introducción Introducción a Oracle
Introducción al lenguaje SQL
Administración Oracle IConceptos básicos
Arquitectura Oracle
Estructura de ficheros
Estructura de la memoria
Estructura de los procesos
Oracle en red: Listener & SQL*NET
Conexión a la DB
Arranque y parada de la DB
Objetos de la DB
Usuarios, privilegios, roles y perfiles
Administración Oracle IIBackup y recuperación lógica (Export / Import)
Backup y recuperación física
· Modo Archive
Backup con RMAN
© Matchmind. Quedan reservados todos los derechos. 44
Administración de Oracle I. Estructura de los procesos
PROCESOS BACKGROUND· Se inician automáticamente al arrancar la DB
· Trabajan de forma continua y relacionan la SGA con los ficheros de datos
· Procesos background obligatorios:
- SMON
- PMON
- DBWR
- LGWR
- CKPT
· Procesos background opcionales:
- ARCH (Archive)
- Snnn (Shared Server)
- Dnnn (Dispatchers)
© Matchmind. Quedan reservados todos los derechos. 45
Administración de Oracle I. Estructura de los procesos
SMON (System Monitor)· Es el primer proceso que se ejecuta cuando se arranca la DB
· Su objetivo es analizar si la DB tuvo un cierre anormal y procede a su recuperación
· Para determinar si hubo caída o no de la DB analiza los puntos de sincronismo de los ficheros de Control y Redo
PMON (Process Monitor)· Se activa periódicamente
· Analiza si ha habido caída en los procesos de usuario y procede a liberar los recursos
· Hace rollback de los procesos “huérfanos”
DBWR (Database Writer)· Se encarga de leer los bloques sucios del Database Buffer Cache y los escribe en los ficheros de datos
© Matchmind. Quedan reservados todos los derechos. 46
Administración de Oracle I. Estructura de los procesos
LGWR (Log Writer)· Lee información del Log Buffer y la pasa a los ficheros Redo Log
· Adicionalmente escribe en los Redo el correspondiente punto de sincronismo
· LGWR actúa cuando se da la primera de las siguientes circunstancias:
- Cada 3 segundos
- Cuando los ficheros Redo Log están a 1/3 de su capacidad
- Por cada COMMIT
- Cuando escribe DBWR
CKPT (Checkpoint)· Es el proceso que hace escribir a DBWR
· Adicionalmente escribe en las cabeceras de los ficheros de Datos y Control el correspondiente punto de sincronismo
· CKPT actúa según se configuren los siguientes parámetros:
- FAST_START_MTTR_TARGET define en segundos el tiempo máximo de recuperación de la DB si ésta se cae.
- FAST_START_IO_TARGET expresa cada cuántos bloques sucios actúa DBWR
© Matchmind. Quedan reservados todos los derechos. 47
Administración de Oracle I. Estructura de los procesos
Procesos de Usuario· Se inicia uno por cada usuario que solicita una conexión a la DB
· No interactúa directamente con la DB
Procesos de Servidor· Proceso que levanta Oracle en el servidor para atender a todo proceso de usuario
· Interactúa directamente con la DB
© Matchmind. Quedan reservados todos los derechos. 48
Administración Oracle I.
Introducción Introducción a Oracle
Introducción al lenguaje SQL
Administración Oracle IConceptos básicos
Arquitectura Oracle
Estructura de ficheros
Estructura de la memoria
Estructura de los procesos
Oracle en red: Listener & SQL*NET
Conexión a la DB
Arranque y parada de la DB
Objetos de la DB
Usuarios, privilegios, roles y perfiles
Administración Oracle IIBackup y recuperación lógica (Export / Import)
Backup y recuperación física
· Modo Archive
Backup con RMAN
© Matchmind. Quedan reservados todos los derechos. 49
Administración de Oracle I. Oracle en red
Listener· Es un software de Oracle que escucha las peticiones de los clientes, podemos tener uno por cada instancia o uno para todas
las instancias
· El Listener carga su configuración de un fichero de texto llamado ORACLE_HOME/NETWORK/ADMIN/LISTENER.ORA
· En el fichero LISTENER.ORA se especifica para qué DB y por qué puertos escucha las peticiones de los clientes
· Siempre debe estar activado, o ninguna petición de conexión a la DB será “escuchada”
· Se puede interactuar con el Listener desde el S.O.:
$> LSNRCTL STATUS Ver el estado del Listener
$> LSNRCTL STOP Parar el Listener
$> LSNRCTL START Arrancar el Listener
# Generated by Oracle configuration tools.ORACLE1 = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)
(HOST = oracle9i) (PORT = 1521))
) )SID_LIST_ORACLE1 = (SID_LIST = (SID_DESC = (ORACLE_HOME = C:\oracle\ora92) (SID_NAME = oracle1) ) )
© Matchmind. Quedan reservados todos los derechos. 50
Administración de Oracle I. Oracle en red
SQL*NET· Es un software de Oracle que habilita la comunicación entre equipos cliente y servidores
· CONECTOR nombre lógico que redirige a la DB de un servidor. Contiene la siguiente información:
- PROTOCOLO
- HOST | IP
- PUERTO
- INSTANCIA
· TNSNAMES fichero donde se almacena la información del conector/es configurados. Se encuentra en la ruta:
ORACLE_HOME\NETWORK\ADMIN\TNSNAMES.ORA
· El fichero TNSNAMES puede crearse manualmente
· También puede crearse desde el asistente de Oracle:
Asistente de configuración de Red
Config. del Nombre del Servicio de Red Local
Agregar
# Generated by Oracle configuration tools.
ORACLE1 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = ORACLE9IC)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORACLE1) (SID = ORACLE1) ) )
© Matchmind. Quedan reservados todos los derechos. 51
Administración Oracle I.
Introducción Introducción a Oracle
Introducción al lenguaje SQL
Administración Oracle IConceptos básicos
Arquitectura Oracle
Estructura de ficheros
Estructura de la memoria
Estructura de los procesos
Oracle en red: Listener & Tnsnames
Conexión a la DB
Arranque y parada de la DB
Objetos de la DB
Usuarios, privilegios, roles y perfiles
Administración Oracle IIBackup y recuperación lógica (Export / Import)
Backup y recuperación física
· Modo Archive
Backup con RMAN
© Matchmind. Quedan reservados todos los derechos. 52
Administración de Oracle I. Conexión a la DB
Conexión con privilegio SYSDBA· Autenticación por S.O.
- Realiza una validación por S.O., Oracle no
comprueba claves en la DB, sino que certifica que
el usuario con el que hemos entrado al servidor
pertenece al grupo ORA_DBA (Windows) o DBA
(Unix)
$> SET ORACLE_SID=SID_NAME Windows
$> EXPORT ORACLE_SID=SID_NAME Unix
$> SQLPLUS “/AS SYSDBA”
· Autenticación por fichero contraseñas.
- Este fichero contiene los usuarios que son sysdba y lo utiliza Oracle para verificar conexiones remotas de usuarios sysdba
- El fichero debe estar en ORACLE_HOME\DATABASE\PWD<SID>.ORA
- Ver el contenido del fichero SELECT * FROM V$PWFILE_USERS;
- Para añadir un usuario al grupo sysdba GRANT SYSDBA TO USER;
SQL> CONNECT USUARIO@CONECTOR /AS SYSDBA
© Matchmind. Quedan reservados todos los derechos. 53
Administración de Oracle I. Conexión a la DB
Conexión normal a la DB· Desde SQLPLUS (ventana comandos)
$> SQLPLUS /NOLOG
SQL> CONNECT USUARIO@CONECTOR
· Desde SQLPLUS (ventana Windows)
· Otros clientes
- SQLDEVELOPER
- TOAD
- …
© Matchmind. Quedan reservados todos los derechos. 54
Administración Oracle I.
Introducción Introducción a Oracle
Introducción al lenguaje SQL
Administración Oracle IConceptos básicos
Arquitectura Oracle
Estructura de ficheros
Estructura de la memoria
Estructura de los procesos
Oracle en red: Listener & Tnsnames
Conexión a la DB
Arranque y parada de la DB
Objetos de la DB
Usuarios, roles, privilegios, perfiles
Administración Oracle IIBackup y recuperación lógica (Export / Import)
Backup y recuperación física
· Modo Archive
Backup con RMAN
© Matchmind. Quedan reservados todos los derechos. 55
Administración de Oracle I. Arranque y parada de la DB
Arranque de la DB· Para arrancar una DB desde el estado CERRADA, hay que conectarse como SYSDBA a nivel de S.O.
$> CONNECT “/AS SYSDBA”
SQL> STARTUP OPEN
· Secuencia de arranque de una DB:
DB STOP FICH. PARAMETROS FICH. CONTROL
DATOS & REDO LOG DB OPEN
· Secuencia de búsqueda de Fichero de Inicialización (PARÁMETROS)
1) SPFILE<SID>.ORA
2) Si no está el anterior SPFILE.ORA
3) Si no está el anterior INIT<SID>.ORA
· Arrancar la DB con un fichero de parámetros distinto al habitual:
SQL> STARTUP OPEN PFILE=/…/INITXXX.ORA Sólo vale para ficheros INIT (de texto)
ABRIR DB
LEE CONTROL FILES LEE FICH. DATOS Y REDO LOG
Dentro de la ruta:
ORACLE_HOME/DATABASE en UNIX
ORACLE_HOME/DBS en Windows
© Matchmind. Quedan reservados todos los derechos. 56
Administración de Oracle I. Arranque y parada de la DB
Arranque de la DB· Una DB tiene varios estados anteriores al modo OPEN:
- NOMOUNT
* Crear DB
- MOUNT
* Recuperar DB
* Poner ficheros ONLINE / OFLINE
* Activar modo ARCHIVE / NOARCHIVE
* Activar modo FLASHBACK
DB STOP
DB NOMOUNT
DB MOUNT
DB OPEN
STARTUP NOMOUNT
ALTER DATABASE MOUNT
ALTER DATABASE OPEN
© Matchmind. Quedan reservados todos los derechos. 57
Administración Oracle I. Arranque y parada de la DB
Cierre de la DB· La DB puede cerrarse de diferentes maneras, en función de la criticidad del tiempo y seguridad que queramos
SQL> SHUTDOWN NORMAL Antes de parar la DB espera a que los procesos de usuario terminen sus transacciones y cierren su conexión a la DB
SQL> SHUTDOWN TRANSACCIONAL Espera a que los usuarios terminen sus transacciones y procede a eliminarles su sesión
SQL> SHUTDOWN IMMEDIATE Elimina todas las transacciones de usuarios, así como sus sesiones. Realiza un cierre ordenado de la DB
SQL> SHUTDOWN ABORT Realiza un cierre fulminante de la DB, este comando no garantiza un cierre ordenado de la misma. Sólo debe utilizarse cuando un SHUTDOWN IMMEDIATE se queda en un estado “congelado” que no permite parar o levantar la DB
· La vista V$INSTANCE ofrece información del estado de la DB:
SQL> SELECT INSTANCE_NAME, STATUS FROM V$INSTANCE;
© Matchmind. Quedan reservados todos los derechos. 58
Administración Oracle I.
Introducción Introducción a Oracle
Introducción al lenguaje SQL
Administración Oracle IConceptos básicos
Arquitectura Oracle
Estructura de ficheros
Estructura de la memoria
Estructura de los procesos
Oracle en red: Listener & Tnsnames
Conexión a la DB
Arranque y parada de la DB
Objetos de la DB
Usuarios, privilegios, roles y perfiles
Administración Oracle IIBackup y recuperación lógica (Export / Import)
Backup y recuperación física
· Modo Archive
Backup con RMAN
© Matchmind. Quedan reservados todos los derechos. 59
Administración de Oracle I. Objetos de la DB
Tablas· Son las estructuras básicas donde se almacenan los datos
CREATE TABLE NAME(
C1 TIPO_DATO(LONGITUD) [RESTRICC_NIVEL_FILA],
Cn TIPO_DATO(LONGITUD) [RESTRICC_NIVEL_FILA],
[RESTRICC_NIVEL_TABLA]);
· Borrar tablas DROP TABLE NAME;
Índices· Son estructuras físicas asociadas a tablas cuyo objetivo es optimizar la velocidad de las consultas
CREATE INDEX NAME ON TABLA(C1 [, …, Cn]);
· Reconstruir índices ALTER INDEX NAME REBUILD;
· Borrar índices DROP INDEX NAME;
Vistas· Son imágenes de una o más tablas sin estructura física propia, y basadas en una consulta sobre dichas tablas
CREATE [OR REPLACE] [FORCE] VIEW NAME AS SELECT …;
· Borrar vistas DROP VIEW NAME;
© Matchmind. Quedan reservados todos los derechos. 60
Administración de Oracle I. Objetos de la DB
Sinónimos · Son nombres adicionales que se pueden dar a tablas, vistas, procedimientos, …
CREATE [OR REPLACE] [PUBLIC] SYNONYM NAME FOR [USUARIO.]OBJETO;
· Borrar sinónimo DROP SYNONYM NAME;
Secuencias· Son objetos de sólo lectura que permiten generar valores numéricos únicos ascendente o descendentemente
CREATE SEQUENCE NAME INCREMENT BY Nº START WITH Nº
[{MINVAULUE Nº | NOMINVALUE}]
[{MAXVAULUE Nº | NOMAXVALUE}]
[{CYCLE | NOCYCLE}] Si al llegar al límite la secuencia vuelve a empezar o no. Por defecto CYCLE
· La secuencia debe inicializarse con la siguiente expresión:
SELECT NAME.NEXTVAL FROM DUAL;
· La secuencia da valores al leer de ella, hay 2 formas:
NAME.CURRVAL Da el valor actual de la secuencia
NAME.NEXTVAL Da el valor actual de la secuencia, y avanza el contador
· Borrar secuencias DROP SEQUENCE NAME;
© Matchmind. Quedan reservados todos los derechos. 61
Administración de Oracle I. Objetos de la DB
Database Links (DBLINK) · Son accesos a DB remotas. Son referenciados de la siguiente forma [USUARIO.]OBJETO@DBL_NAME
CREATE [PUBLIC] DATABASE LINK NAME
CONNECT TO USUARIO IDENTIFIED BY PASSWORD USING ‘CONECTOR’;
- USUARIO Usuario existente en la DB remota
- PASSWORD Contraseña del usuario remoto
- ‘CONECTOR’ Nombre lógico incluido en el fichero TNSNAMES de Oracle
· Borrar Database Link DROP DATABASE LINK NAME;
· Ejemplo:
Incluir en TNSNAMES.ORA
[…]
DBLINK1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST = PCREMOTO) (PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = DBVENTAS)
)
)
Crear DBLINK
CREATE DATABASE LINK DBL_REM
CONNECT TO
USUREMOTO IDENTIFIED BY PASS01
USING ‘DBLINK1’;
Utilizar DBLINK
SELECT * FROM SCOTT.EMP@DBL_REM
© Matchmind. Quedan reservados todos los derechos. 62
Administración Oracle I.
Introducción Introducción a Oracle
Introducción al lenguaje SQL
Administración Oracle IConceptos básicos
Arquitectura Oracle
Estructura de ficheros
Estructura de la memoria
Estructura de los procesos
Oracle en red: Listener & Tnsnames
Conexión a la DB
Arranque y parada de la DB
Objetos de la DB
Usuarios, privilegios, roles y perfiles
Administración Oracle IIBackup y recuperación lógica (Export / Import)
Backup y recuperación física
· Modo Archive
Backup con RMAN
© Matchmind. Quedan reservados todos los derechos. 63
Administración de Oracle I. Usuarios, privilegios, roles y perfiles
Usuarios· Cada DB tiene una lista válida de usuarios que pueden conectarse a la misma, usando un nombre de usuario y una contraseña
· Para que un usuario pueda conectarse a una DB necesita el privilegio del sistema CREATE SESSION
· Se denomina SCHEMA al conjunto de objetos que pertenecen a un usuario:
- Tablas - Vistas - Índices - Sinónimos
- Procesos - Funciones - Triggers - Etc…
· Creación de un usuario (se necesita tener el privilegio del sistema CREATE USER):
CREATE USER NAME IDENTIFIED BY CLAVE
[DEFAULT TABLESPACE TB_NAME]
[TEMPORARY TABLESPACE TB_TEMP_NAME]
[QUOTA {{N K|M|G} | UNLIMITED} ON TB_NAME]
[PROFILE PROFILE_NAME]
[ACCOUNT {LOCK | UNLOCK}];
* Cuando se crea un usuario, éste no tiene ningún privilegio *
· DEFAULT TB TB permanente donde por defecto el usuario creará sus objetos
· TEMPORARY TB TB temporal donde por defecto lanzará sus operaciones
· QUOTA la cantidad de espacio que puede ocupar de cada TB, por defecto es 0
· PROFILE asignar un perfil predefinido al usuario
· ACCOUNT LOCK cuenta bloqueada
· ACCOUNT UNLOCK cuenta no bloqueada (por defecto)
© Matchmind. Quedan reservados todos los derechos. 64
Administración de Oracle I. Usuarios, privilegios, roles y perfiles
Usuarios· Bloquear / Desbloquear usuarios:
ALTER USER NAME
ACCOUNT {LOCK | UNLOCK};
· Modificación de usuarios:
ALTER USER NAME
<SENTENCIA A MODIFICAR O AÑADIR>;
Ejemplo:
ALTER USER USUARIO1
QUOTA 500 M ON TB_DATOS;
· Eliminación de usuarios:
DROP USER NAME
[CASCADE]; Si tiene SCHEMA esta cláusula es obligatoria
© Matchmind. Quedan reservados todos los derechos. 65
Administración de Oracle I. Usuarios, privilegios, roles y perfiles
Privilegios· Otorgan el poder de realizar acciones sobre la DB, hay 2 tipos:
- P. del sistema asociados a cada acción a la hora de crear, borrar o modificar objetos
- P. sobre objetos determinan la posibilidad de que otros usuarios puedan acceder a nuestros objetos
CREATE SESSION
{CREATE | ALTER | DROP} TABLE
{CREATE | ALTER | DROP} INDEX
{CREATE | ALTER | DROP} VIEW
…
{SELECT | UPDATE | INSERT | DELETE} TABLE
{SELECT | UPDATE | INSERT | DELETE} INDEX
ALTER {TABLE | SEQUENCE}
EXECUTE {PROCEDURE | FUNCTION | PACKAGE}
…
· Privilegios “especiales” del sistema:
{INSERT | UPDATE | DELTETE | SELECT} ANY TABLE
Posibilitan realizar la correspondiente sentencia DML sobre cualquier TABLA del sistema, sin necesidad
del privilegio de objeto necesario
P. D
EL
SIS
TE
MA
P. S
OB
RE
OB
JET
OS
Otorgar privilegios sobre el sistema:
GRANT PRIV1[, …, PRIVn] TO USUARIO1[, …, USUARIOn];
Quitar privilegios del sistema:
REVOKE PRIV1[, …, PRIVn] FROM USUARIO1[, …, USUARIOn];
Otorgar privilegios sobre objetos:
GRANT PRIV1[, …, PRIVn] ON [USUARIO.]OBJETO TO USUARIO1;
Quitar privilegios sobre objetos:
REVOKE PRIV1[, …, PRIVn] ON [USUARIO.]OBJETO FROM USUARIO1;
© Matchmind. Quedan reservados todos los derechos. 66
Administración de Oracle I. Usuarios, privilegios, roles y perfiles
Roles· Un ROL es un conjunto de:
Privilegios del sistema + Privilegios sobre objetos + otros Roles
· Existen roles creados por Oracle:
- DBA
- RESOURCE
- EXP_FULL_DATABASE
- IMP_FULL_DATABASE
- …
· Gestionar la creación, asignación de Roles:
CREATE ROLE ROLE_NAME; Crear un nuevo rol
GRANT PRIV1 [, …, PRIVn] TO ROLE_NAME; Asignar privilegios sobre el sistema
GRANT PRIV1 [, …, PRIVn] ON [USUARIO.]OBJETO TO ROLE_NAME; Asignar privilegios sobre los objetos
GRANT ROLE_NAME1 TO ROLE_NAME; Asignar otros roles creados anteriormente
GRANT ROLE_NAME TO USUARIO; Asignar el ROL a un usuario
REVOKE ROLE_NAME FROM USUARIO; Quitar el ROL a un usuario
© Matchmind. Quedan reservados todos los derechos. 67
Administración de Oracle I. Usuarios, privilegios, roles y perfiles
Perfiles· Los perfiles son límites a los recursos del sistema, y adicionalmente definen políticas de gestión de claves
· Crear un perfil:
CREATE PROFILE NAME LIMIT
SESSIONS_PER_USER Nº Nº máximo de sesiones simultáneas para un usuario
CONNECT_TIME Nº Tiempo máximo de conexión, en minutos
IDLE_TIME Nº Tiempo máximo de inactividad, en minutos
PASSWORD_LIFE_TIME Nº Periodo de vida de la clave, en días
FAILED_LOGGINGS_ATTEMPTS Nº Nº máximo de intentos de logon fallidos antes de bloquear la cuenta
PASSWORD_LOCK_TIME Nº; Nº de días que permanece bloqueada la cuenta
· Existe un perfil llamado DEFAULT con las cláusulas con valor ilimitado, que es el asignado por defecto a todos los usuarios
· Para activar la gestión de perfiles, hay que activar el parámetro dinámico RESOURCE_LIMIT:
ALTER SYSTEM SET RESOURCE_LIMIT=TRUE SCOPE=BOTH;
· Asignar un perfil a un usuario:
ALTER USER USUARIO1 PROFILE NAME;
RE
CU
RS
OS
D
EL
SIS
TE
MA
GE
ST
ION
D
E C
LAV
ES
© Matchmind. Quedan reservados todos los derechos. 68
Administración Oracle II.
Introducción Introducción a Oracle
Introducción al lenguaje SQL
Administración Oracle IConceptos básicos
Arquitectura Oracle
Estructura de ficheros
Estructura de la memoria
Estructura de los procesos
Oracle en red: Listener & Tnsnames
Conexión a la DB
Arranque y parada de la DB
Objetos de la DB
Usuarios, privilegios, roles y perfiles
Administración Oracle IIBackup y recuperación lógica (Export / Import)
Backup y recuperación física
· Modo Archive
Backup con RMAN
© Matchmind. Quedan reservados todos los derechos. 69
Administración Oracle II.
Introducción Introducción a Oracle
Introducción al lenguaje SQL
Administración Oracle IConceptos básicos
Arquitectura Oracle
Estructura de ficheros
Estructura de la memoria
Estructura de los procesos
Oracle en red: Listener & Tnsnames
Conexión a la DB
Arranque y parada de la DB
Objetos de la DB
Usuarios, privilegios, roles y perfiles
Administración Oracle IIBackup y recuperación lógica (Export / Import)
Backup y recuperación física
· Modo Archive
Backup con RMAN
© Matchmind. Quedan reservados todos los derechos. 70
Administración Oracle II. Backup y recuperación lógica
Export (EXP)· Export realiza un backup lógico de la DB generando uno o varios ficheros pseudo-binarios legibles por la herramienta Import
· Debe realizarse con la DB en estado OPEN o RESTRICT
· Formas de ejecución:
- Modo interactivo $> EXP (al presionar ENTER el S.O. nos va preguntando los valores de los parámetros)
- Modo comando $> EXP PAR1=V1 … PARN=Vn
- Modo fichero de parámetros $> EXP PARFILE=F1 (F1: fichero que contiene los parámetros con sus respectivos valores)
· Parámetros de Export:
- USERID=usuario/clave usuario de la DB con privilegio de exportar objetos y permiso de selección sobre los mismos
- FILE=nom_fichero.dmp nombre del fichero de salida
- LOG=nom_fichero.log fichero que contiene el log con el resultado del export
- FULL=Y exporta toda la DB
- OWNER=usuario1, … , usuarion exporta los esquemas de dichos usuarios
- TABLES=[usuario.]table1, … , [usuario.]tablen exporta las tablas indicadas
- TABLESPACES=TB1, … , TBn exporta los tablespaces con todos sus objetos
- COMPRESS=Y determina que Oracle al importar el objeto genere una única extensión
Qué exportar
© Matchmind. Quedan reservados todos los derechos. 71
Administración Oracle II. Backup y recuperación lógica
Export (EXP)· Más parámetros de Export:
- ROWS=Y/N para exportar los datos
- INDEXES=Y/N para exportar los índices
- CONSTRAINTS=Y/N para exportar las restricciones de integridad
- GRANTS=Y/N para exportar los permisos
- TRIGGERS=Y/N para exportar los triggers
* Si no se especifica ninguno de estos parámetros por defecto toma el valor Y *
Ejemplo:
$> EXP USERID=USUARIO1/MIPASS FILE=C:\EXPORTACION.DMP LOG=C:\LOG_EXPORT.LOG OWNER=USUARIO2 COMPRESS=Y TRIGGERS=N
© Matchmind. Quedan reservados todos los derechos. 72
Administración Oracle II. Backup y recuperación lógica
Import (IMP)· Import lee la información de un fichero generado por Export e introduce dicha información en la DB
· Formas de ejecución:
- Modo interactivo $> IMP (al presionar ENTER el S.O. nos va preguntando los valores de los parámetros)
- Modo comando $> IMP PAR1=V1 … PARN=Vn
- Modo fichero de parámetros $> IMP PARFILE=F1 (F1: fichero que contiene los parámetros con sus respectivos valores)
· Parámetros de Import:
- USERID=usuario/clave usuario de la DB que realiza la importación
- FILE=nom_fichero.dmp nombre del fichero que contiene el export
- LOG=nom_fichero.log fichero que contiene el log con el resultado del import
- FULL=Y importa toda el contenido del export
- FROMUSER=usuario1 TOUSER=usuario2 para transferir el esquema de un usuario a otro
- TABLES=[usuario.]table1, … , [usuario.]tablen nombre de las tablas que se quieren importar
- SKIP_UNUSABLE_INDEXES=Y/N importar o no índices que no se están utilizando
- STATISTICS = Y/N importa las estadísticas generadas en el export
Qué importar
© Matchmind. Quedan reservados todos los derechos. 73
Administración Oracle II. Backup y recuperación lógica
Import (IMP)· Más parámetros de Export:
- ROWS=Y/N para importar los datos- INDEXES=Y/N para importar los índices- CONSTRAINTS=Y/N para importar las restricciones de integridad- GRANTS=Y/N para importar los permisos
* Si no se especifica ninguno de estos parámetros por defecto toma el valor Y *
- IGNORE=Y/N para que ignore posibles errores en la importación de un objeto debido a la existencia del mismo y proceda a la importación de los registros
· El proceso de importación consta de 3 pasos:1) Crea la tabla2) Inserta los registros3) Crea los índices, triggers, …
* Con IGNORE=N, si una tabla ya existe IMP se salta los 3 pasos y avanza al siguiente objeto ** Con IGNORE=Y, si una tabla existe salta al paso 2 y comienza a insertar los registros *
Ejemplo:$> IMP USERID=USUARIO1/MIPASS FILE=C:\EXPORTACION.DMP LOG=C:\LOG_IMPORT.LOG
TABLES=USUARIO2.SOCIOS INDEXES=N IGNORE=Y
© Matchmind. Quedan reservados todos los derechos. 74
Administración Oracle II.
Introducción Introducción a Oracle
Introducción al lenguaje SQL
Administración Oracle IConceptos básicos
Arquitectura Oracle
Estructura de ficheros
Estructura de la memoria
Estructura de los procesos
Oracle en red: Listener & Tnsnames
Conexión a la DB
Arranque y parada de la DB
Objetos de la DB
Usuarios, privilegios, roles y perfiles
Administración Oracle IIBackup y recuperación lógica (Export / Import)
Backup y recuperación física
· Modo Archive
Backup con RMAN
© Matchmind. Quedan reservados todos los derechos. 75
Administración de Oracle II. Backup y recuperación física
Hay 2 tipos de backup físico:
· BACKUP FRIO
· BACKUP CALIENTE
Hay 2 tipos de recuperación:
· RECUPERACIÓN DESDE BACKUP FRIO
· RECUPERACIÓN DESDE BACKUP CALIENTE
© Matchmind. Quedan reservados todos los derechos. 76
Administración de Oracle II. Backup y recuperación física
Backup Frío· La DB podrá estar en modo ARCHIVE o NOARCHIVE
· La DB deberá estar cerrada para que todos los ficheros tengan el mismo punto de sincronismo
· Ficheros a copiar:
- Ficheros de Datos
* Ver en tabla DBA_DATA_FILES
* Ver en tabla DBA_TEMP_FILES
- Ficheros de Control
* Ver en tabla V$CONTROLFILE
- Ficheros de Redo
* Ver en tabla V$LOGFILE
· Realización del Backup:
- Parar la DB
- Copiar los ficheros necesarios en el destino deseado (carpeta o unidad de backup)
© Matchmind. Quedan reservados todos los derechos. 77
Administración de Oracle II. Backup y recuperación física
Recuperación desde Backup Frío· La DB deberá estar cerrada
· Se copiarán todos los ficheros del backup a su ubicación original
· Hay pérdida de datos los introducidos desde la fecha del backup hasta el momento de la restauración
© Matchmind. Quedan reservados todos los derechos. 78
Administración de Oracle II. Backup y recuperación física
Backup Caliente· La DB deberá estar en modo ARCHIVE obligatoriamente
· La DB va a estar abierta
· El backup es modular, se pueden copiar tablespaces o se pueden copiar ficheros
· Sólo para ficheros de datos y/o de control
· Realización del Backup:
- SQL> ALTER TABLESPACE NAME BEGIN BACKUP;
- Desde S.O. Copiar ficheros del tablespace al destino deseado
- SQL> ALTER TABLESPACE NAME END BACKUP;
* Es muy importante minimizar el tiempo que transcurre desde la sentencia BEGIN BACKUP y la sentencia END BACKUP, ya que durante dicho periodo Oracle congela las transacciones sobre los ficheros de ese tablespace, lo que significa “generar más REDO” *
© Matchmind. Quedan reservados todos los derechos. 79
Administración de Oracle II. Backup y recuperación física
Recuperación desde Backup Caliente· Comando RECOVER este comando aplica a los ficheros de datos todas las transacciones existentes en los ARCHIVE
relativas a esos ficheros hasta llegar al momento actual. Para ello se fija y compara los puntos de sincronismo de los ficheros de datos contra los puntos de sincronismo de los ficheros de control
RECOVER [AUTOMATIC] {DATABASE | TABLESPACE NAME | DATAFILE Nº }
· La DB va a estar abierta
· El backup es modular, se pueden copiar tablespaces o se pueden copiar ficheros
· Sólo para ficheros de datos y/o de control
· Pasos de la recuperación:
- Desactivar fichero ALTER DATABASE DATAFILE Nº OFFLINE;
- Copiar Backup en origen Desde S.O.
- Recuperar fichero o tablespace RECOVER DATAFILE Nº
- Poner fichero online ALTER DATABASE DATAFILE Nº ONLINE;
© Matchmind. Quedan reservados todos los derechos. 80
Administración Oracle II.
Introducción Introducción a Oracle
Introducción al lenguaje SQL
Administración Oracle IConceptos básicos
Arquitectura Oracle
Estructura de ficheros
Estructura de la memoria
Estructura de los procesos
Oracle en red: Listener & Tnsnames
Conexión a la DB
Arranque y parada de la DB
Objetos de la DB
Usuarios, privilegios, roles y perfiles
Administración Oracle IIBackup y recuperación lógica (Export / Import)
Backup y recuperación física
· Modo Archive
Backup con RMAN
© Matchmind. Quedan reservados todos los derechos. 81
Administración de Oracle II. Backup y recuperación física: ARCHIVE
Modo NOARCHIVE· El archivado de los REDO LOG está deshabilitado
· Sólo los cambios recientes almacenados en los REDO ONLINE pueden recuperarse
· Protege a la DB de fallos en la instancia pero no de fallos en los soportes
· Para la recuperación sólo pueden emplearse copias completas realizadas con la DB cerrada
Modo ARCHIVE· El archivado de los REDO LOG está habilitado
· Un grupo de REDO no puede reutilizarse por LGWR hasta que ha sido archivado
· Se garantiza que todas las transacciones validadas pueden recuperarse en caso de fallo en el sistema o disco
· Para la recuperación pueden emplearse copias realizadas con la DB abierta y en uso normal
- Desventajas del Modo ARCHIVE
* Consumo de recursos del servidor
* Necesidad de gran cantidad de espacio en HD
© Matchmind. Quedan reservados todos los derechos. 82
Administración de Oracle II. Backup y recuperación física: ARCHIVE
Activar modo ARCHIVE
SQL> ALTER SYSTEM SET LOG_ARCHIVE_START = TRUE SCOPE = SPFILE;
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST = “LOCATION=E:\DEST_ARCHIVE” SCOPE = SPFILE;
SQL> ALTER SYSTEM SET LOG_ARCHIVE_FORMAT = ‘ARCHIVE%S%T%R.ARC’;
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP MOUNT
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;
SQL> ARCHIVE LOG LIST muestra el modo de archivado en el que se encuentra la DB
· Una vez activado el modo ARCHIVE, cada vez que se complete un REDO y Oracle se disponga a escribir en el siguiente, se creará un fichero en la ruta definida en el parámetro LOG_ARCHIVE_DEST, con el nombre establecido en el parámetro LOG_ARCHIVE_FORMAT
· De estos ficheros sacará Oracle la información necesaria para realizar la restauración desde un Backup caliente
No es obligatorio en Oracle 10g
No funciona en Oracle 9i
© Matchmind. Quedan reservados todos los derechos. 83
Administración Oracle II.
Introducción Introducción a Oracle
Introducción al lenguaje SQL
Administración Oracle IConceptos básicos
Arquitectura Oracle
Estructura de ficheros
Estructura de la memoria
Estructura de los procesos
Oracle en red: Listener & Tnsnames
Conexión a la DB
Arranque y parada de la DB
Objetos de la DB
Usuarios, privilegios, roles y perfiles
Administración Oracle IIBackup y recuperación lógica (Export / Import)
Backup y recuperación física
· Modo Archive
Backup con RMAN
© Matchmind. Quedan reservados todos los derechos. 84
Recovery Manager (RMAN)· Es una utilidad integrada en el kernel de la DB que facilita la gestión de las copias de seguridad y la recuperación física
· Se puede ejecutar desde el S.O. o desde la consola de Enterprise Manager
· Funciones (y ventajas) de RMAN:
- Copia Datafiles, tablespaces o la DB entera
- También copia ficheros de control, spfiles y archives
- Realiza una copia optimizada sólo copia bloques Oracle
- Verifica la validez de la copia
- Realiza copias incrementales
- Detecta la corrupción de bloques
- Paraleliza el backup
- Genera scripts para hacer backups
· Consideraciones sobre RMAN:
- Hay que definir LARGE_POOL si lanzamos RMAN desde el servidor que contiene la DB target
- Hay que tener en cuenta el parámetro PROCESSES RMAN “activa” alrededor de 5 procesos
- Para atacar a la DB target hay que ser sysdba o sysoper
Administración de Oracle II. RMAN
© Matchmind. Quedan reservados todos los derechos. 85
· Realizar Backup con RMAN
RMAN> RUN{
2> ALLOCATE CHANNEL C1 TYPE DISK;
3> COPY DATAFILE 1 TO 'H:\_BACKUP_RMAN\SYSTEM.BAK', DATAFILE 4 TO 'H:\_BACKUP_RMAN\USERS.BAK';
4> RELEASE CHANNEL C1;
5> }
· Restaurar desde Backup con RMAN
RMAN> RUN{
2> ALLOCATE CHANNEL C1 TYPE DISK;
3> RESTORE DATAFILE 1;
4> RECOVER DATAFILE 1;
4> RELEASE CHANNEL C1;
5> }
Administración de Oracle II. RMAN
© Matchmind. Quedan reservados todos los derechos. 86