ÍNDICE INTRODUCCIÓN...17 CAPÍTULO 1. ORACLE 11g Y EL GRID COMPUTING...19 1.1 CONCEPTO DE GRID COMPUTING...19 1.2 ORACLE GRID COMPUTING...20 1.2.1 Almacenamiento eficiente de la información...21 1.2.2 Utilización óptima de recursos...22 1.2.3 Máximo nivel de servicios...23 1.2.4 Facilidad de gestión...25 1.2.5 Desarrollo de aplicaciones...26 1.2.6 Datawarehousing...26 CAPÍTULO 2. INSTALACIÓN, REQUISITOS E INICIO...27 2.1 REQUERIMIENTOS PARA LA INSTALACIÓN DE ORACLE 11g...27 2.2 INSTALACIÓN DE ORACLE 11g...27 2.3 PRIMEROS PASOS EN ORACLE 11g: INICIO DEL SERVIDOR...34 2.3.1 Comprobar, Iniciar y Parar Oracle 11g desde Servicios de Windows NT/2000/XP...36 2.3.2 Inicio automático de Oracle 11g...37 2.4 CONEXIÓN A ORACLE 11g...38 CAPÍTULO 3. BASES DE DATOS. CONCEPTOS, TIPOS, OPERACIONES Y ELEMENTOS ESENCIALES...41 3.1 TERMINOLOGIA BÁSICA: TABLAS, CAMPOS Y REGISTROS...41 3.2 ESTRUCTURA DE LAS BASES DE DATOS...42
6 ORACLE 11g. CURSO PRÁCTICO RA-MA 3.2.1 Modelos de datos primitivos: sistemas de gestión de archivos...43 3.2.2 Bases de datos jerárquicas...44 3.2.3 Bases de datos en red...46 3.2.4 Bases de datos relacionales...48 3.3 CARACTERÍSTICAS DE LAS BASES DE DATOS RELACIONALES...50 3.4 OPERACIONES RELACIONALES BÁSICAS...51 3.4.1 Selección...51 3.4.2 Proyección...52 3.4.3 Concatenación...53 3.5 OTRAS OPERACIONES RELACIONALES Y OPERADORES BOOLEANOS...54 3.5.1 Unión...54 3.5.2 Intersección...55 3.5.3 Diferencia...56 3.6 CREACIÓN DE LAS TABLAS DE UNA BASE DE DATOS RELACIONAL EN SQL ESTÁNDAR...57 3.6.1 Nombres de tablas...58 3.6.2 Nombres de columnas...59 3.6.3 Tipos de datos en SQL estándar...59 3.6.4 Tipos de datos extendidos en SQL estándar...60 3.6.5 Secuencia de columnas por defecto...61 3.6.6 Valores NULL...61 3.6.7 Clave primaria...62 3.6.8 Clave secundaria (externa o foránea)...63 3.6.9 Un ejemplo...63 3.7 CONSTANTES EN SQL ESTÁNDAR...66 3.7.1 Constantes numéricas...66 3.7.2 Constantes de cadena...67 3.7.3 Constantes de fecha y hora...67 3.7.4 Constantes simbólicas...67 3.8 EXPRESIONES EN SQL ESTÁNDAR...68 3.9 CONDICIONES DE DESBORDAMIENTO (OVERFLOW)...68 3.10 FUNCIONES EN SQL ESTÁNDAR...69 3.11 CATÁLOGO DEL SISTEMA GESTOR...71 3.12 INTRODUCCIÓN A LA CREACIÓN DE TABLAS EN ORACLE 11g...71 3.12.1 Introducción a las restricciones de integridad en Oracle 11g...72 3.12.2 Introducción de registros en tablas en Oracle 11g...76
RA-MA ÍNDICE 7 3.13 SELECCIÓN DE INFORMACIÓN DE LA BASE DE DATOS. INTRODUCCIÓN AL COMANDO SELECT EN ORACLE 11g...78 3.13.1 Cláusula FROM...79 3.13.2 Cláusula WHERE...80 3.13.3 Cláusula GROUP BY...81 3.13.4 Cláusula ORDER BY...82 3.13.5 Cláusula HAVING...83 3.14 OPERADORES CONJUNTISTAS EN ORACLE 11g SQL...84 3.15 LA TABLA DUAL: TABLA DE TRABAJO DE ORACLE 11g SQL...84 CAPÍTULO 4. BASES DE DATOS RELACIONALES. DISEÑO Y NORMALIZACIÓN DE UNA BASE DE DATOS...97 4.1 EL MODELO RELACIONAL: CONCEPTOS BÁSICOS...97 4.2 EL LENGUAJE SQL...98 4.2.1 Objetivos esenciales de SQL...101 4.2.2 Características de SQL...103 4.3 DISEÑO DE UNA BASE DE DATOS RELACIONAL...105 4.3.1 Las reglas de Codd...106 4.3.2 Integridad...109 4.3.3 Índices...114 4.3.4 Un ejemplo de diseño de una base de datos relacional...118 4.4 NORMALIZACIÓN...127 4.4.1 Primera forma normal...128 4.4.2 Segunda forma normal...130 4.4.3 Tercera forma normal...130 CAPÍTULO 5. SQL*PLUS...145 5.1 EL ENTORNO DE SQL*PLUS...145 5.2 EDICIÓN DE SINTAXIS DE CONSULTAS O COMANDOS...147 5.3 MANIPULANDO SINTAXIS DE CONSULTAS O COMANDOS...149 5.4 FORMATEANDO SALIDAS DE CONSULTAS O COMANDOS...150 5.5 RELACIÓN DE COMANDOS A UTILIZAR EN SQL*PLUS...152 5.6 UTILIZANDO TECLAS DE COMANDO EN SQL*PLUS...155 5.7 FORMATOS NUMÉRICOS EN SQL*PLUS...156 5.8 FUNCIONES A UTILIZAR EN SQL*PLUS...156 5.9 VARIABLES EN SQL*PLUS...157
8 ORACLE 11g. CURSO PRÁCTICO RA-MA CAPÍTULO 6. ELEMENTOS DE ORACLE 11g SQL: FORMATOS, TIPOS DE DATOS, OPERADORES Y FUNCIONES...165 6.1 UTILIZANDO ORACLE 11g SQL...165 6.2 ELEMENTOS BÁSICOS DE ORACLE 11g SQL...166 6.3 FORMATOS EN ORACLE 11g SQL...168 6.3.1 Formatos de elementos numéricos...168 6.3.2 Formatos de fechas...170 6.4 TIPOS DE DATOS EN ORACLE 11g SQL...171 6.4.1 Tipos de datos ANSI, DB2 y SQL/DS...173 6.4.2 Caracteres ASCII y EBCDIC en ORACLE 11g SQL...174 6.4.3 Conversión de tipos de datos...176 6.4.4 Conversión entre distintos tipos de datos mediante funciones SQL...178 6.4.5 Creación de las tablas de la base de datos de ejemplo...179 6.5 OPERADORES...180 6.5.1 Operadores aritméticos...180 6.5.2 Operador concatenación...181 6.5.3 Operadores de comparación...182 6.5.4 Operadores de conjuntos...183 6.5.5 Operadores lógicos...184 6.5.6 Orden de prioridad de los operadores...185 6.5.7 Funciones...185 6.5.8 Funciones numéricas...187 6.5.9 Funciones carácter que devuelven valores carácter...188 6.5.10 Funciones carácter que devuelven valores numéricos...189 6.5.11 Funciones de fecha...189 6.5.12 Funciones de conversión...190 6.5.13 Funciones agregadas...190 CAPÍTULO 7. LENGUAJE DE CONSULTA DE DATOS: SENTENCIA SELECT...193 7.1 INTRODUCCIÓN...193 7.2 LA SENTENCIA SELECT...194 7.2.1 Ejemplos relativos a la sentencia SELECT...198 7.2.2 Selección de todas las tablas de una instancia de base de datos y de todas las columnas de una tabla...202 7.2.3 Selección de filas...202 7.2.4 Filas duplicadas y la cláusula DISTINCT...204 7.2.5 Ordenación de los resultados de una consulta...205
RA-MA ÍNDICE 9 7.2.6 Columnas calculadas...207 7.2.7 Renombrar columnas: cláusula AS...209 7.3 CONSULTAS CON CONDICIONES DE BÚSQUEDA...210 7.3.1 Contrastes de comparación...210 7.3.2 Contraste de rango: cláusula BETWEEN AND...211 7.3.3 Contraste de pertenencia a un conjunto: cláusula IN...212 7.3.4 Contraste de correspondencia con patrón: cláusula LIKE...214 7.3.5 Contraste de valor nulo: cláusula IS NULL...216 7.3.6 Contrastes compuestos: cláusulas AND, OR y NOT...217 7.3.7 Combinación de consultas: cláusula UNION...218 CAPÍTULO 8. CONSULTAS MULTITABLA (JOINS) Y CONSULTAS RESUMEN...235 8.1 INTRODUCCIÓN...235 8.1.1 JOIN de dos tablas...236 8.1.2 JOINS con criterios de selección de filas...239 8.1.3 JOINS con múltiples columnas de emparejamiento...239 8.2 JOINS DE TRES O MÁS TABLAS...240 8.3 JOIN CON CONDICIONES DE BÚSQUEDA SIN IGUALDAD...243 8.4 JOINS INTERNOS Y EXTERNOS...244 8.4.1 JOIN EXTERNO completo...245 8.4.2 JOIN EXTERNO izquierdo y derecho...245 8.5 INNER JOIN...247 8.6 LEFT JOIN, RIGHT JOIN...249 8.6.1 Casos especiales en consultas multitabla...252 8.7 CONSULTAS RESUMEN...255 8.7.1 Funciones de agregado en la lista de selección...255 8.7.2 Función count(*)...258 8.7.3 Valores null en las funciones de agregado...259 8.7.4 Tratamiento de filas duplicadas con DISTINCT...260 8.7.5 Agrupar filas con GROUP BY...262 8.8 RESUMIR DATOS...267 8.8.1 Resumir datos con CUBE...268 8.8.2 Utilizar GROUPING para distinguir valores NULL...269 8.8.3 Resumir datos con ROLLUP...270
10 ORACLE 11g. CURSO PRÁCTICO RA-MA CAPÍTULO 9. SUBCONSULTAS Y USO AVANZADO DE FUNCIONES EN ORACLE 11g-SQL...277 9.1 SUBCONSULTAS...277 9.1.1 Reglas de las subconsultas...281 9.1.2 Subconsultas con IN...281 9.1.3 Subconsultas con operadores de comparación...282 9.1.4 Subconsultas con EXISTS...284 9.1.5 Subconsultas con ANY, SOME o ALL...286 9.1.6 Subconsultas usadas en cualquier lugar de una expresión...287 9.1.7 Subconsultas con múltiples niveles de anidamiento...288 9.2 SUBCONSULTAS CORRELACIONADAS...288 9.2.1 Subconsultas correlacionadas con alias...289 9.2.2 Subconsultas correlacionadas con operadores de comparación...290 9.2.3 Subconsultas correlacionadas con una cláusula HAVING...290 9.2.4 UNION, INTERSECT y MINUS en subconsultas...291 9.3 USO AVANZADO DE FUNCIONES Y VARIABLES...292 9.3.1 Funciones de cadena...292 9.3.2 Funciones numéricas...296 9.3.3 Funciones de fechas...300 9.4 FUNCIONES DE CONVERSIÓN Y TRANSFORMACIÓN...305 9.4.1 Conversiones automáticas...305 9.4.2 Funciones TRANSLATE y DECODE...306 CAPÍTULO 10. LENGUAJE DE DEFINICIÓN DE DATOS: ADMINISTRACIÓN DE TABLAS...313 10.1 INTRODUCCIÓN...313 10.2 AGREGAR DATOS. LA SENTENCIA INSERT...313 10.2.1 Insertar una fila mediante INSERT INTO...VALUES...314 10.2.2 Insertar valores NULL...315 10.2.3 Insertar todas las columnas...316 10.2.4 Insertar varias filas mediante INSERT INTO...SELECT...317 10.3 ELIMINAR DATOS. LAS SENTENCIAS DELETE Y TRUNCATE...318 10.3.1 Eliminar filas con DELETE...318 10.3.2 Eliminar todas las filas con TRUNCATE TABLE...319 10.4 ACTUALIZAR DATOS. LA SENTENCIA UPDATE...320 10.4.1 Cambiar datos con UPDATE...320 10.4.2 Actualización de todas las filas con UPDATE...321 10.4.3 UPDATE con subconsulta...322
RA-MA ÍNDICE 11 10.5 BLOQUEO DE TABLAS. SENTENCIA LOCK TABLE...323 10.6 ACTUALIZACIONES CON LA SENTENCIA MERGE...324 CAPÍTULO 11. LENGUAJE DE MANIPULACIÓN DE DATOS: ACTUALIZACIÓN DE TABLAS...331 11.1 INTRODUCCIÓN...331 11.2 ESQUEMAS, TABLAS, COLUMNAS Y TIPOS DE DATOS...331 11.3 CREACIÓN Y ADMINISTRACIÓN DE TABLAS...332 11.4 CREACIÓN DE TABLAS CON CREATE TABLE...332 11.4.1 Restricciones de integridad...334 11.4.2 Anidamiento...344 11.4.3 Particionamiento...345 11.4.4 Índices...349 11.4.5 ENABLE y DISABLE en restricciones de integridad...350 11.5 MODIFICACIÓN DE TABLAS CON ALTER TABLE...352 11.5.1 Modificación de tabla...353 11.5.2 Modificación de columnas...355 11.5.3 Modificación de restricciones de integridad...357 11.5.4 Modificación de propiedades de columnas...359 11.5.5 Modificación de tablas externas...361 11.5.6 Movimiento de tablas...361 11.5.7 Cláusulas ENABLE/DISABLE...362 11.5.8 Modificación del particionamiento...363 11.6 BORRADO DE TABLAS CON DROP TABLE...367 11.7 CREAR Y ADMINISTRAR SECUENCIAS...367 CAPÍTULO 12. ADMINISTRAR VISTAS E ÍNDICES Y LENGUAJE DE CONTROL DE TRANSACCIONES...375 12.1 INTRODUCCIÓN...375 12.2 VISTAS...375 12.2.1 Creación de una vista...379 12.2.2 Vistas horizontales...380 12.2.3 Vistas verticales...382 12.2.4 Vistas fila/columna...382 12.2.5 Vistas agrupadas...382 12.2.6 Vistas compuestas...383 12.2.7 Actualización de vistas...383 12.2.8 Modificación de vistas con ALTER VIEW...384
12 ORACLE 11g. CURSO PRÁCTICO RA-MA 12.2.9 Borrado de vistas con DROP VIEW...385 12.3 ÍNDICES...385 12.3.1 Modificación de índices...393 12.3.2 Borrado de índices...396 12.4 SINÓNIMOS...396 12.5 PROCESAMIENTO DE TRANSACCIONES...397 12.5.1 Sentencia COMMIT...398 12.5.2 Sentencia ROLLBACK...399 12.5.3 Sentencia SET TRANSACTION...400 12.5.4 Sentencia SAVE POINT...401 CAPÍTULO 13. ADMINISTRACIÓN DEL ESPACIO Y CREACIÓN MANUAL DE LA BASE DE DATOS...405 13.1 ESTIMACIÓN DEL TAMAÑO DE UNA BASE DE DATOS...405 13.2 ESPACIOS DE TABLA (TABLESPACES) Y ARCHIVOS DE DATOS...406 13.2.1 Crear un espacio de tabla mediante SQL...407 13.2.2 Administrar un espacio de tabla mediante SQL...409 13.2.3 Borrar un espacio de tabla mediante SQL...410 13.3 ARCHIVO DE CONTROL...413 13.4 SEGMENTOS, EXTENSIONES Y BLOQUES DE DATOS...413 13.5 LA SENTENCIA CREATE DATABASE DE ORACLE 11g SQL...417 13.6 LA SENTENCIA ALTER DATABASE DE ORACLE 11g SQL...419 13.6.1 Arranque de la base de datos...420 13.6.2 Recuperación de la base de datos...420 13.6.3 Ficheros de la base de datos...422 13.6.4 Ficheros redo log (ficheros de registro de la actividad)...423 13.6.5 Ficheros de control...424 13.6.6 Cláusula standby...425 13.6.7 Características por defecto de la base de datos...426 13.6.8 Cláusulas de conversión...426 CAPÍTULO 14. ADMINISTRAR LA SEGURIDAD...431 14.1 INTRODUCCIÓN...431 14.2 AUTENTICACIÓN Y ADMINISTRACIÓN DE USUARIOS...431 14.2.1 Crear una contraseña de usuario...432 14.2.2 Modificación de usuarios...433 14.2.3 Eliminación de usuarios...435 14.3 ADMINISTRACIÓN DE PRIVILEGIOS...436
RA-MA ÍNDICE 13 14.4 ROLES...442 14.5 LIMITACIÓN DE LOS RECURSOS...445 14.6 PERFILES...447 14.7 MECANISMOS DE PROTECCIÓN DE DATOS DE ORACLE...450 14.7.1 Registro de transacciones...450 14.7.2 Habilitación de la recuperación de medios...451 14.8 COPIA DE SEGURIDAD DE LA BASE DE DATOS (BACKUP) CON RECOVERY MANAGER (RMAN)...453 14.9 RECUPERACIÓN DE UNA BASE DE DATOS CON RMAN...456 CAPÍTULO 15. ADMINISTRAR ORACLE 11g. CREACIÓN Y CONFIGURACIÓN DE LA BASE DE DATOS...461 15.1 INTRODUCCIÓN...461 15.2 ASISTENTE DE CONFIGURACIÓN DE BASES DE DATOS ORACLE...461 15.2.1 Operaciones de bases de datos...464 15.3 CREAR UNA BASE DE DATOS: PLANTILLAS...465 15.4 BASES DE DATOS DE DATA WAREHOUSE (ALMACÉN DE DATOS)...467 15.5 BASES DE DATOS PARA PROCESO DE TRANSACCIONES...469 15.6 NUEVA BASE DE DATOS PERSONALIZADA...471 15.7 OPCIONES DE BASE DE DATOS...472 15.8 PARÁMETROS DE INICIALIZACIÓN...474 15.9 PROCESO DE CREACIÓN DE UNA BASE DE DATOS...476 15.9.1 Identificación, contraseñas, mecanismo de almacenamiento, recuperación y ubicación de los archivos de la base de datos...476 15.10 AJUSTE DE PARÁMETROS DE LA BASE DE DATOS...482 15.11 OPCIONES DE CONEXIÓN A LA BASE DE DATOS...486 15.12 ALMACENAMIENTO EN LA BASE DE DATOS...489 15.13 OPCIONES DE CREACIÓN DE LA BASE DE DATOS...491 15.14 GESTIONAR PLANTILLAS...493 15.15 CONFIGURAR UNA BASE DE DATOS...498 15.16 SUPRIMIR UNA BASE DE DATOS...502 CAPÍTULO 16. ADMINISTRACIÓN DE ORACLE 11g: GESTIÓN DE ADMINISTRADORES, OPERADORES, USUARIOS Y ROLES...505 16.1 ASISTENTE DE ADMINISTRACIÓN DE ORACLE PARA WINDOWS NT/2000/XP...505 16.2 CREACIÓN Y GESTIÓN DE ADMINISTRADORES, OPERADORES, USUARIOS Y ROLES DE BASES DE DATOS ORACLE CON WINDOWS...509
14 ORACLE 11g. CURSO PRÁCTICO RA-MA 16.2.1 Creación y gestión de Administradores de Bases de Datos del Sistema Operativo para Instancias...510 16.2.2 Creación y gestión de Operadores de Bases de Datos del Sistema Operativo para Instancias...512 16.2.3 Creación y gestión de Usuarios Externos del Sistema Operativo...514 16.2.4 Creación y gestión de Roles Locales...519 16.2.5 Creación y gestión de Roles Externos del Sistema Operativo...522 16.2.6 Creación de un Administrador de Bases de Datos del Sistema Operativo para todas las Instancias de Base de Datos...525 16.2.7 Creación de un Operador de Base de Datos del Sistema Operativo para todas las Instancias de Base de Datos...526 16.2.8 Asignar Roles Externos del Sistema Operativo a un Grupo Global NT...529 16.3 SUPRESIÓN DE ADMINISTRADORES, OPERADORES, USUARIOS Y ROLES DE BASE DE DATOS...529 16.3.1 Supresión de un Rol Local...529 16.3.2 Supresión de un Rol Externo del Sistema Operativo...530 16.3.3 Supresión de un Usuario Externo del Sistema Operativo...531 16.3.4 Supresión de un Administrador de Base de Datos del Sistema Operativo para una única Instancia de Base de Datos...531 16.3.5 Supresión de un Administrador de Base de Datos del Sistema Operativo para todas las Instancias de Base de Datos de un Computador...532 16.3.6 Supresión de un Operador de Base de Datos del Sistema Operativo para todas las Instancias de Base de Datos de un Computador...533 16.3.7 Supresión de un Operador de Base de Datos del Sistema Operativo para una única Instancia de Base de Datos...534 16.4 CONEXIÓN/DESCONEXIÓN A LA BASE DE DATOS...534 16.4.1 Incorporación de un Computador al Panel de Ámbitos de Microsoft Management Console...534 16.4.2 Conexión a la base de datos...535 16.4.3 Desconexión de una base de datos...536 16.5 GESTIÓN DE INSTANCIAS Y SERVICIOS DE BASES DE DATOS...537 16.5.1 Configuración de la Instancia de Base de Datos para Iniciarla o Pararla con el Servicio...537 16.5.2 Configuración del Tipo de Inicio del Servicio NT de Oracle...539 16.5.3 Inicio del Servicio de Base de Datos Oracle...540 16.5.4 Parada del Servicio de Base de Datos Oracle...540 16.6 MODIFICACIÓN DE USUARIOS Y ROLES DE BASES DE DATOS...541 16.6.1 Modificación de un Usuario Externo del Sistema Operativo Existente...541 16.6.2 Modificación de un Rol Externo del Sistema Operativo Existente...544
RA-MA ÍNDICE 15 16.6.3 Modificación de un Rol Local Existente...545 16.7 VISUALIZACIÓN DE INFORMACIÓN DE PROCESOS DE ORACLE...548 ÍNDICE ALFABÉTICO...551