Curso Oracle

86
© Matchmind. Quedan reservados todos los derechos. 1 Curso administración ORACLE 10g

Transcript of Curso Oracle

Page 1: Curso Oracle

© Matchmind. Quedan reservados todos los derechos. 1

Curso administración

ORACLE 10g

Page 2: Curso Oracle

© 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

Page 3: Curso Oracle

© 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

Page 4: Curso Oracle

© 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.

Page 5: Curso Oracle

© 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

Page 6: Curso Oracle

© 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

Page 7: Curso Oracle

© 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

Page 8: Curso Oracle

© 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

Page 9: Curso Oracle

© 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

Page 10: Curso Oracle

© 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

Page 11: Curso Oracle

© 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)

Page 12: Curso Oracle

© 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

Page 13: Curso Oracle

© 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

Page 14: Curso Oracle

© 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

Page 15: Curso Oracle

© 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

Page 16: Curso Oracle

© 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

Page 17: Curso Oracle

© 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

Page 18: Curso Oracle

© 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}]

Page 19: Curso Oracle

© 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…];

Page 20: Curso Oracle

© 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;

Page 21: Curso Oracle

© 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

Page 22: Curso Oracle

© 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

Page 23: Curso Oracle

© 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

Page 24: Curso Oracle

© 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

Page 25: Curso Oracle

© 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

Page 26: Curso Oracle

© 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

Page 27: Curso Oracle

© 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;

Page 28: Curso Oracle

© 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

Page 29: Curso Oracle

© 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

Page 30: Curso Oracle

© 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º;

Page 31: Curso Oracle

© 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’];

Page 32: Curso Oracle

© 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;

Page 33: Curso Oracle

© 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

Page 34: Curso Oracle

© 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

Page 35: Curso Oracle

© 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

Page 36: Curso Oracle

© 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

Page 37: Curso Oracle

© 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

+ +

Page 38: Curso Oracle

© 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

Page 39: Curso Oracle

© 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

Page 40: Curso Oracle

© 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

Page 41: Curso Oracle

© 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

Page 42: Curso Oracle

© 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%

Page 43: Curso Oracle

© 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

Page 44: Curso Oracle

© 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)

Page 45: Curso Oracle

© 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

Page 46: Curso Oracle

© 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

Page 47: Curso Oracle

© 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

Page 48: Curso Oracle

© 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

Page 49: Curso Oracle

© 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) ) )

Page 50: Curso Oracle

© 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) ) )

Page 51: Curso Oracle

© 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

Page 52: Curso Oracle

© 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

Page 53: Curso Oracle

© 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

- …

Page 54: Curso Oracle

© 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

Page 55: Curso Oracle

© 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

Page 56: Curso Oracle

© 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

Page 57: Curso Oracle

© 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;

Page 58: Curso Oracle

© 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

Page 59: Curso Oracle

© 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;

Page 60: Curso Oracle

© 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;

Page 61: Curso Oracle

© 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

Page 62: Curso Oracle

© 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

Page 63: Curso Oracle

© 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)

Page 64: Curso Oracle

© 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

Page 65: Curso Oracle

© 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;

Page 66: Curso Oracle

© 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

Page 67: Curso Oracle

© 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

Page 68: Curso Oracle

© 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

Page 69: Curso Oracle

© 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

Page 70: Curso Oracle

© 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

Page 71: Curso Oracle

© 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

Page 72: Curso Oracle

© 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

Page 73: Curso Oracle

© 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

Page 74: Curso Oracle

© 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

Page 75: Curso Oracle

© 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

Page 76: Curso Oracle

© 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)

Page 77: Curso Oracle

© 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

Page 78: Curso Oracle

© 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” *

Page 79: Curso Oracle

© 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;

Page 80: Curso Oracle

© 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

Page 81: Curso Oracle

© 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

Page 82: Curso Oracle

© 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

Page 83: Curso Oracle

© 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

Page 84: Curso Oracle

© 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

Page 85: Curso Oracle

© 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

Page 86: Curso Oracle

© Matchmind. Quedan reservados todos los derechos. 86