jueves, 5 de enero de 2012

Capítulo 4 - Creando una Base de Datos.

Capítulo 4
Creando una Base de Datos.

Objetivos de Certificación
1.Crear una Base de Datos Usando el Database Configuration Assistant.

Este capítulo va a través de la teoría y práctica de creación de una base de datos. Una revisión de la arquitectura del Servidor Oracle, seguida por los mecanismos de creación y una vista a las herramientas relevantes. Ambos GUI y línea de comandos. Hay también una descripción del uso de templates de bases de datos. Pero un objetivo que debe ser tratado inmediatamente es desmitificar el proceso. Creación de una base de datos no es gran cosa. Tu puedes crear veinte bases de datos durante un café (y usted podría tener que hacer esto si, por ejemplo, el apoyo de una institución de enseñanza de TI) una vez entendido lo que se requiere y han preparado los script apropiados. Por otra parte, usted realmente no tiene que preocuparse acerca de hacerlo bien. Casi nada se fija en el momento de la creación de una base de datos. Por supuesto, es lógico pensar en cómo su base de datos se estructurará, su finalidad y el entorno, el tiempo de creación, pero todo puede ser cambiado después, aunque algunos cambios pueden ser difíciles. Como regla general, mantener las cosas tan simples sea posible en esta etapa. Acceda a la cosa creada y trabajando primero; preocupe configurar para su uso posterior.

CREANDO UNA BASE DE DATOS USANDO EL DATABASE CONFIGURATION ASSISTANT.
Este es un objetivo de examen OCP es de hecho una gran tarea, con varios pasos. No es grande en términos de los aspectos prácticos (crear una base de datos puede ser fácil y un simple comando de dos palabras lo hará, y puede tardar menos de 10 minutos), pero hay muchos conceptos que usted debe entender.

- La Instancia, La Base de Datos y el Diccionario de Datos.
- Usar el DBCA para crear una Base de Datos.
- El archivo de Parámetros de la instancia.
- El comando CREATE DATABASE.
- El script Post-Creación.
- Otras funciones del DBCA.

LA INSTANCIA, LA BASE DE DATOS Y EL DICCIONARIO DE DATOS.
Un Servidor Oracle es una Instancia y una Base de Datos; los dos son independientes, pero conectados. La instancia son estructuras de memoria y procesos, en su memoria RAM y su CPU(s); su existencia es transitoria; y puede ser iniciada y parada. La Base de Datos son archivos en disco; una vez creada, esta persiste hasta que esta es eliminada. La creación de una Instancia no es más que la construcción de estructuras de memoria e iniciar los procesos. La creación de una Base de Datos es hecha por la instancia como una operación que se realiza una única vez. Y la instancia puede que abra y cerrase varias veces posteriormente. La Base de Datos es inútil sin la instancia.
Dentro de la Base de Datos hay un conjunto de tablas y otros segmentos llamados el Diccionario de Datos. El Diccionario de Datos describe toda la estructura lógica y física en la Base de Datos, incluyendo todos los segmentos que almacenan datos de usuarios.
Los procesos de creación de la Base de Datos crean la mínima cantidad de estructuras físicas necesarias para almacenar el Diccionario de Datos y luego la creación del Diccionario de Datos dentro de ellas.
Una instancia es definida por un archivo de parámetros. El archivo de parámetros contiene directivas que definen como la instancia debe ser creada en memoria: el tamaño de las estructura de memoria, el comportamiento de los procesos Background. Después de construir la instancia. Se dice que esta estará en modo no mount. En modo no mount, La instancia existe pero esta no está conectada a la Base de Datos, de hecho, la base de datos ni siquiera exista en este momento.
Todos los parámetros, bien especificado por el archivo de parámetros o implícitamente. Tienen valores predeterminados, excepto uno: El parámetro DB_NAME, El parámetro DB_NAME es el nombre de la Base de Datos con el que la instancia se conectará. Este nombre también esta embebido en el ControlFiles. Hay un parámetro, CONTROL_FILES, que le dice a la instancia la ubicación de los ControlFiles. Estos parámetros definen la conexión entre la instancia y la base de datos. Cuando la instancia lee los ControlFiles (Que esta buscará leyendo el parámetro CONTROL_FILES) si hay un desajuste en nombre de base de datos, la base de datos no se montará. En Modo mount, la instancia se ha conectado con éxito a los ControlFile. Si los ControlFiles están dañados o no existen, será imposible montar la base de datos. Los ControlFiles son pequeños pero vitales.
Dentro de los ControlFiles, hay referencias a otros archivos (Los online redo log files y los DataFiles) que conforman el resto de la Base de Datos. Después de haber montada la Base de Datos, La Instancia puede abrir la Base de Datos localizando y abriendo estos otros archivos. Una Base de Datos abierta es una Base de Datos donde la instancia a abierto todos los archivos DataFiles y online redo log files. También dentro de los ControlFiles hay un mapeo de DataFiles a Tablespaces. Esto permite a la instancia identificar los DataFiles que conforman el Tablaspace SYSTEM. En el Tablespace SYSTEM, se encontrará el Diccionario de Datos. El Diccionario de Datos permite a la instancia resolver referencias a Objetos mencionados en el Código SQL para los segmentos en que residen, donde trabajan, físicamente, los objetos son:
La creación de un Servidor de Base de Datos por lo tanto debe incluir los siguientes pasos:

- Crear la Instancia.
- Crear la Base de Datos.
- Crear el Diccionario de Datos.

En la práctica, los pasos son divididos ligeramente diferentes:

- Crear la Instancia.
- Crear la Base de Datos y el Diccionario de Datos (Objetos).
- Crear las Vistas al Diccionario de Datos.

El Diccionario de Datos como se ha creado inicialmente con la Base de Datos es funcional pero inutilizable. Este tiene la capacidad para definir y administrar datos de usuario pero un puede ser utilizado por los seres humanos porque su estructura es demasiado abstruso. Para que usuarios puedan utilizar realmente la Base de Datos, un conjunto de vistas se deben crear a partir del Diccionario de Datos que lo representará en una forma más comprensible. El Diccionario de Datos es creado por la ejecución de un conjunto de Script Sql que están en ORACLE_HOME/rdbms/admin directory. Estos son llamados por el comando CREATE DATABASE. El primero es sql.bsp, que luego llama otros scripts. Estos scripts emiten una serie comandos que crean todas las tablas y otros objetos que conforman el Diccionario de Datos.
Las Vistas y otros Objetos que hacen entendible la Base de Datos son generados con más scripts en el directorio: ORACLE_HOME/rdbms/admin directory, prefijo con “Gato”. Ejemplo de esto son catalog.sql and catproc.sql, que siempre debe ser ejecutado inmediatamente después de la creación de la Base de Datos. Hay muchas otras opciones “cat” scripts que permiten ciertas características, algunos de estos pueden ejecutarse en tiempo de creación, otros podrían ser ejecutados subsecuentemente para instalar las características en una fecha posterior.

USANDO EL DBCA PARA CREAR UNA BASE DE DATOS.

Estos son los pasos para crear una Base de Datos.

1.Crear un archivo de parámetros y un archivo Password (opcionalmente).
2.Use el Archivo de parámetros para construir una instancia en memoria.
3.Emita el comando CREATE DATABASE. Esto generará, como mínimo, un ControlFile, dos online redo log files, dos DataFiles para los Tablespaces SYSTEM y SYSAUX, y el Diccionario de Datos.
4.Ejecute el script SQL para generar las vistas al Diccionario de Datos y los paquetes PL/SQL suministrados.
5.Ejecute los script SQL para generar el Enterprise Manager Database Control, y cualquier opción (por ejemplo java) que la base de datos requiera.

En Windows, hay un paso adicional porque Oracle se ejecuta como un Windows Service. Oracle provee de una utilidad, oradim.exe para asistir en la creación de este servicio.
Estos pasos pueden ejecutarse interactivamente desde el SQL Plus o atreves de una herramienta GUI. El Database Configuration Assistant (DBCA). Alternativamente, usted puede automatizar este proceso usando script o el DBCA con archivos de respuestas. Sea cual sea la plataforma que use, la forma más sencilla de crear una Base de Datos es atraves del DBCA. Usted puede muy bien ejecutar esto como parte de la instalación: OUI puede lanzar el DBCA, que le solicita y le guía durante todo el proceso. Se crea un archivo de parámetros y un archivo de contraseñas y luego genera script que iniciarán la instancia; cree la Base de Datos; y genere el Diccionario de Datos, las vistas al diccionario de datos y Enterprise Manager Database Control. Alternativamente, usted puede crear el archivo de parámetros y archivos de Password a mano, y luego de ellos el resto desde una sesión SQL Plus. Muchos DBAS combinan estas dos técnicas: Usan el DBCA para generar los archivos y script, y luego mirarlos y tal vez editarlos antes de ejecutarlos desde SQL Plus.
El DBCA está escrito en Java. Por lo que es lo mismo en todas las plataformas. La única diferencia es que sobre Microsoft Windows debe estar sentado delante de la maquina donde se está corriendo, porque es donde el DBCA se abrirá. En unix, usted pued ejecutar el DBCA en la maquina donde desee usted crear la base de datos. Pero usted puede lanzarlo y controlarlo desde cualquier maquina que tenga X Server para desplegar la ventana del DBCA. En este estándar de X Windows System, usted de establecer la variable de entorno DISPLAY para decirle al programa donde abrir las ventanas,

export DISPLAY=10.10.10.65:0.0

re direccionará todas las ventanas X a la maquina identificada por la IP 10.10.10.65, independientemente de la maquina que está en realidad ejecutando el DBCA.
Para lanzar el DBCA en Windows, tome el Acceso Directo o en Menú Inicio.

1.Inicio.
2.Programas.
3.Oracle – OraDB11g_home3.
4.Configuration and Migration Tools.
5.Database Configuration Assistant.

Tenga en cuenta, la tercera parte del path variará dependiendo del nombre dado al Oracle Home.

EN EL TRABAJO.
Es posible poner en marcha el DBCA desde la línea de comandos, pero el comando es un poco dificultoso, es mejor lanzarlo desde el acceso directo.

Para lanzar el DBCA en Linux, primero establezca las variables de entorno que deben ser siempre establecidas para cual quien sesión Linux DBA. ORACLE_BASE, ORACLE_HOME, PATH y LD_LIBRARY_PATH. Esto es un ejemplo de un script que hará esto.

export ORACLE_BASE=/u02/app/db11g
export ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

Tome nota que la BASE y HOME variará de acuerdo a la selección realizada en la instalación. Para poner en marcha el DBCA, ejecute el Shell script dbca ubicado en el directorio $ORACLE_HOME/bin.

EN EL TRABAJO:
Asegúrese de tener el directorio $ORACLE_HOME/bin en el inicio de su ruta de búsqueda PATH, puede haber un caso de que allá cualquier ejecutable Linux con el mismo nombre como Oracle ejecutables. Un caso bien conocido es rman, que es a la vez una herramienta y una utilidad de Linux.
Recuerde que (con una excepción) cada selección realizada en la creación de la Base de Daos puede ser cambiada después, pero que algunos cambios son difíciles y contará con tiempo de inactividad. No es po lo tanto vital conseguir todo derecho-pero cuanto más correcto sea mejor.
Si la Base de Datos que se creara va a utilizar Enterprise Manager Database Control, hay un paso adicional que debe ser llevado a cabo antes de lanzar el DBCA. Configurar un Database Listener. Este requisito es porque el Database Control siempre se conecta a la Base de Datos atraves de un Listener, y el DBCA comprueba si está disponible. La configuración es una simple tarea. Descrito en el Capitulo 6. Por el momento, hacer esto con el Net Configuration Assistant, aceptando todo por default.
Para lanzar el Net Configuration Assistant en Windows, tome el Acceso directo en el menú Inicio, la Ruta de Navegación será.

1.Inicio.
2.Programas.
3.Oracle – OraDB11g_home3
4.Configuration and Migration Tools.
5.Net Configuration Assistant.

Para poner en marcha el Assistant en Linux, ejecute el Shell script netcat, ubicado en el directorio $ORACLE_HOME/bin.

EJERCICIO 4-1.
UTILICE EL DBCA PARA CREAR UNA BASE DE DATOS.
En este ejercicio, usted creara un Database Listener(if uno no existe actualmente) y luego creara una Base de Datos que será llamada ocp11 usando el DBCA, en ambos en Windows o Linux. No hay diferencias significativas entre plataformas. La ilustración siguiente será en Windows.

1.Poner en marcha el Net Configuration Assistant. Seleccione el Radio Button para Listener Configuration.

2.Clic en siguiente tres veces. si hay un mensaje indicando que el Listener ya existe. Usted puede salir de la herramienta inmediatamente por un clic en Cancel o Finalizar, y proceda con el Paso 3. De lo contrario, clic en siguiente otras cuatro veces para definir el default Listener, y luego Finalizar para salir de la Herramienta.

3.Poner en marcha el Database Configuration Assistant.

4.Sobre el Cuadro de Dialogo Welcome del DBCA. Haga clic en siguiente.

5.En el siguiente Cuadro de Dialogo tiene radio button para:

a.Crear una Base de Datos.
b.Configurar Opciones de Bases de Datos.
c.Eliminar una Base de Datos.
d.Administrar Platillas.
e.Configurar Almacenamiento Automático.
La segunda y tercera opción estará difuminada, a menos que el DBCA detecte existencia de base de datos ejecutando en el ORACLE_HOME. Seleccione el Radio Button Create A Database.

6.El Cuadro de Dialogo Database Templates tiene radio buttons para seleccionar una plantilla, en los que basar la nueva base de datos.

7.En el cuadro de Dialogo Database Identification, ingrese un nombre de la Base de Datos Global, y un System Identifier (como SID), que se utilizará como el nombre de la instancia. Estos se pondrá por defecto que es lo mismo, que a menudo lo que se quiere. Para este ejercicio, ingrese ocp11g para ambos nombre. Clic en siguiente.

8.El cuadro de dialogo Management Options hay un check box para configurar la Base de Datos con el Enterprise Manager. Seleccione este, Luego hay radio buttons para Grid Control o Database Control. El Radio Button Grid Control estará difuminado o grid si el DBCA no detecta el Agente Grid Control ejecutando en la maquina. Seleccione Database Control. Hay Check Box para habilitar Notificaciones Email y Habilitar Backups diariamente; no seleccione estos. Clic en siguiente. en este punto el DBCA dará error si no hay un Listener disponible.

9.El Cuadro de Dialogo Database Credentials solicita passwords para cuatro usuarios in la Base de Datos: SYS (Quien posee el Diccionario de Datos), SYSTEM (utilizado para la mayoría de trabajo de DBA), DBSNMP (Usado para monitoreo externo), y SYSMAN (Usado por Enterprise Manager). Seleccione el Radio Button usar la misma contraseña para todas la cuentas. Ingrese oracle como el Password, dos veces, y clic en siguiente.

10.En el cuadro de dialogo Security Setting, acepte por default, que es 11g security, y clic en siguiente.

11.El cuadro de dialogo Storage Options ofrece opciones entre file system, ASM o dispositivos RAW. Seleccione File System, y clic siguiente.

12.El cuadro de dialogo Database File Locations solicitara directorio raíz para la Base de Datos. Seleccione la ubicación de los archivos de base de datos de la plantilla. Clic en el botón variables de ubicación de archivos para ver donde se creara la Base de Datos. Será la ubicación OFA ORACLE_BASE/oradata/DB_NAME. Clic en siguiente.

13.En el Cuadro de Dialogo Recovery Configuration, acepte la configuración de default para el flas Recovery área (Que será 2GB en ORACLE_BASE/flash_recovery_area) y no habilite archiving. Clic en siguiente.

14.En el Cuadro de Dialogo Database Control, deseleccione todas las opciones excepto Enterprise Manager Repository. Las otras no son necesarias para esta Base de Datos y hará que la creación necesite mucho más tiempo. Algunas opciones serán en gris; esto será porque no han sido instaladas en el ORACLE_HOME. Clic en el botón componentes Standard Database. Y anular la selección de estos. No te preocupes por la advertencia de que el DB XML es utilizado por otros componentes. Clic en siguiente.

15.El cuadro de dialogo Initialization Parameters tiene cuatro tabs. Dejando en default, pero mira todas las tabs. El tab de Memory muestra la memoria que será asignada a la instancia, basada en un porcentaje de la memoria principal detectada. El Tab Sizing muestra el tamaño de block, el default es 8KB. Esta es la única cosa que no puede ser cambiado después de su creación. El tab de Character Sets muestra el conjunto de caracteres que será usado dentro de la Base de Datos. Que tendrá un valor por default basado en el sistema operativo. Este puede ser muy difícil de cambiar después. El tab Connection Mode determina como sesiones de usuarios van a ser gestionados. Clic en siguiente.

16.La caja de dialogo Database Storage muestra, vía navegación en árbol, los archivos que serán creados, navegar alrededor de estos, y vera los nombres y tamaños de los archivos. Estos son en absoluto adecuado para un sistema en producción, pero va a estar bien por ahora, clic en siguiente.

17.En el cuadro de dialogo Creation Options, seleccione los check boxes para crear la Base de Datos y Generar script de creación de Base de Datos. Tome en cuenta el path para los scripts; este será ORACLE_BASE/admin/ocp11g/scripts. Clic en finalizar.

18.El cuadro de dialogo Confirmation muestra lo que el DBCA está a punto de hacer. Clic en aceptar.

19.El DBCA generará los scripts de creación(que solo tomara algunos minutos) clic en OK, y el DBCA creara la base de Datos. La ilustración siguiente muestra el cuadro de dialogo de progreso. Tome en cuenta la localización de los logs del DBCA. ORACLE_BASE/cfgtoollogs/dbca/ocp11g este será necesario para mirarlo buscando cualquier fallo.


20.Cuando el DBCA complete la tarea, este presentará el cuadro de mostrado en la siguiente ilustración. Nota la dirección del Database Control. http://jwacer.bplc.co.za:1158/em


LOS SCRITS Y OTROS ARCHIVOS CREADOS POR EL DBCA.
Mientras el DBCA crea la Base de Datos, haga una mirada los script generado. Estarán el directorio ORACLE_BASE/admin/DB_NAME/scripts. En el ejemplo que sigue, que es una instalación de Windows. El ORACLE_BASE es d:\oracle\app y el nombre de la base de datos es ocp11g, los script están en d:\oracle\app\admin\ocp11g\scripts. Navegue por los directorios apropiados y estudie los archivos

EL ARCHIVO DE PARAMETROS DE LA INSTANCIA.
El primer archivo a mirar es el archivo de parámetros de la instancia. Nombrado init.ora. este es una impresión típica del archivo init.ora, según lo generado por el DBCA.

######################################################################
# Copyright (c) 1991, 2001, 2002 by Oracle Corporation
######################################################################
###########################################
# Cache and I/O
###########################################
db_block_size=8192
###########################################
# Cursors and Library Cache
###########################################
open_cursors=300
###########################################
# Database Identification
###########################################
db_domain=""
db_name=ocp11g
###########################################
# File Configuration
###########################################
control_files=("D:\oracle\app\oradata\ocp11g\control01.ctl",
"D:\oracle\app\oradata\ocp11g\control02.ctl",
"D:\oracle\app\oradata\ocp11g\control03.ctl")
db_recovery_file_dest=D:\oracle\app\flash_recovery_area
db_recovery_file_dest_size=2147483648
###########################################
# Job Queues
###########################################
job_queue_processes=10
###########################################
# Miscellaneous
compatible=11.1.0.0.0
diagnostic_dest=D:\oracle\app
# NLS
###########################################
nls_language="ENGLISH"
nls_territory="UNITED KINGDOM"
###########################################
# Processes and Sessions
###########################################
processes=150
###########################################
# SGA Memory
###########################################
sga_target=318767104
###########################################
# Security and Auditing
###########################################
audit_file_dest=D:\oracle\app\admin\ocp11g\adump
audit_trail=db
remote_login_passwordfile=EXCLUSIVE
###########################################
# Shared Server
###########################################
dispatchers="(PROTOCOL=TCP) (SERVICE=ocp11gXDB)"
###########################################
# Sort, Hash Joins, Bitmap Indexes
###########################################
pga_aggregate_target=105906176
###########################################
# System Managed Undo and Rollback Segments
###########################################
undo_management=AUTO
undo_tablespace=UNDOTBS1.

Cualquier línea que inicie con el símbolo # es un comentario y es ignorado. Hay cerca de 300 parámetros, pero el archivo generado por el DBCA establece unos pocos. La mayoría de estos se tratan a detalle en los capítulos posteriores. Dos a destacar en este punto son: DB_BLOCK_SIZE y CONTROL_FILES. DB_BLOCK_SIZE determina el tamaño de los buffers en el Database Buffer Cache. Cuando la instancia da instrucciones para crear una Base de Datos, este tamaño será utilizado para dar formato a los DataFiles que componen los Tablespaces SYSTEM y SYSAUX. Este nunca puede ser cambiado después de la creación de la Base de Datos. CONTROL_FILES es la ubicación que permite a la instancia buscar todos las copias multiplexadas de los ControlFiles de la Base de Datos. En esta etapa, los ControlFiles no existe; este parámetro la dirá a la instancia donde crearlos. Algunos de los otros parámetros se explican así mismo y fácilmente de relacionar con las opciones tomadas en el ejercicio anterior. Pero eventualmente necesitará hacer referencia a la Oracle Documentation Library y leer acerca de ellos.

EXAMEN
¿Cuál es el único parámetro de la Instancia para el cual no hay defecto? Este es el DB_NAME un archivo de parámetro debe existir por lo menos este parámetro. O usted no puede iniciar una instancia. El DB_NAME puede ser hasta ocho caracteres de largo, letras y dígitos solamente, comenzando con una letra.

EL SHELL SCRIPT PARA CREACION DE UNA BASE DE DATOS.
Este es el archivo que ejecuta el DBCA para lanzar el proceso de creación de Base de Datos. Este es un archivo bacth sobre Windows, y un Shell script sobre Linux. Ejemplo Windows.

mkdir D:\oracle\app
mkdir D:\oracle\app\admin\ocp11g\adump
mkdir D:\oracle\app\admin\ocp11g\dpdump
mkdir D:\oracle\app\admin\ocp11g\pfile
mkdir D:\oracle\app\cfgtoollogs\dbca\ocp11g
mkdir D:\oracle\app\flash_recovery_area
mkdir D:\oracle\app\oradata\ocp11g
mkdir D:\oracle\app\product\11.1.0\db_3\database
set ORACLE_SID=ocp11g
set PATH=%ORACLE_HOME%\bin;%PATH%
D:\oracle\app\product\11.1.0\db_3\bin\oradim.exe -new -sid OCP11G
-startmode manual -spfile
D:\oracle\app\product\11.1.0\db_3\bin\oradim.exe -edit -sid OCP11G
-startmode auto -srvcstart system
D:\oracle\app\product\11.1.0\db_3\bin\sqlplus /nolog
@D:\oracle\app\admin\db11g\scripts\ocp11g.sql

Primero, El script crea unos cuantos directorios en el Oracle Base. Luego se establece la variable de entorno ORACLE_SID (más de esto más adelante) y antepone el directorio ORACLE_HOME/bin a el PATH (Path de búsqueda).
Porque este ejemplo es de Windows, hay dos comandos que no aparecerán en Sistemas Linux. Estos utilizan el oradim.exe. En Windows una Instancia Oracle corre como un Windows Service. Este servicio debe ser creado. La utilidad oradim.exe se ejecuta dos veces. La primera vez definirá un nuevo Servicio en el Registro de Windows. Con el identificador de sistema OCP11G, y poner el servicio en inicio manual. El switch –spfile se refiere al tipo de archivo de parámetros de inicialización para ser usado. La segunda utilidad de de oradim.exe es editar el servicio. Para ajustar al inicio automático cada vez que Windows se inicia. La figura 4-1 muestra el registro definido en el registro. Para ver esto, utilice el editor de registro regedit.exe(o alguna herramienta similar) para navegar en la llaves.

HKEY_LOCAL_MACHINE/SYSTEM/currentControlSet/Services/OracleServiceOCP11G

Cada instancia de Base de Datos que corra en una maquina Windows será un servicio. Nombrando después el nombre de la instancia (en este caso, OCP11G) que fue proporcionado en el ejercicio 4-1, paso 7.
Después de la creación del Servicio, poner en marcha el SQL Plus y ejecute el script SQL ocp11.sql el cual controlará la creación de la Base de Datos.

set verify off
PROMPT specify a password for sys as parameter 1;
DEFINE sysPassword = &1
PROMPT specify a password for system as parameter 2;
DEFINE systemPassword = &2
PROMPT specify a password for sysman as parameter 3;
DEFINE sysmanPassword = &3
PROMPT specify a password for dbsnmp as parameter 4;


DEFINE dbsnmpPassword = &4
host D:\oracle\app\product\11.1.0\db_3\bin\orapwd.exe
file=D:\oracle\app\product\11.1.0\db_3\database\PWDocp11g.ora
password=&&sysPassword force=y
@D:\oracle\app\admin\ocp11g\scripts\CreateDB.sql
@D:\oracle\app\admin\ocp11g\scripts\CreateDBFiles.sql
@D:\oracle\app\admin\ocp11g\scripts\CreateDBCatalog.sql
@D:\oracle\app\admin\ocp11g\scripts\emRepository.sql
@D:\oracle\app\admin\ocp11g\scripts\postDBCreation.sql

En la parte superior del script, en la parte superior del script, hay la solicitud de cuatro Password para cuatro cuentas críticas. Estos serán proporcionados por los Password introducidos en el ejercicio 4-1, paso 9.
Entonces, usando Shell del sistema operativo local, el script ejecuta la utilidad orapwd.exe (solamente llamo orapwd en Linux) esto creará un archivo de Password externo para la Base de Datos. El nombre de el archivo debe ser.

%ORACLE_HOME%\database\PWD.ora

En Windows, o.

$ORACLE_HOME/dbs/orapw

En Linux, donde es el nombre de la Base de Datos. Este es el nombre proporcionado para el Global Database Name en el ejercicio 4-1, paso 7, pero sin cualquier sufijo de dominio. Por lo general este es el mismo que el nombre de instancia-pero no son la misma cosa. El script entonces llama al CreateDB.sql, que creara realmente la Base de Datos.

EL COMANDO CREATE DATABASE.
Este es un ejemplo del script CreateDB.sql.

connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool D:\oracle\app\admin\ocp11g\scripts\CreateDB.log
startup nomount pfile="D:\oracle\app\admin\ocp11g\scripts\init.ora";
CREATE DATABASE "ocp11g"
MAXINSTANCES 8
MAXLOGHISTORY 1
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
DATAFILE 'D:\oracle\app\oradata\ocp11g\system01.dbf'
SIZE 300M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE 'D:\oracle\app\oradata\ocp11g\sysaux01.dbf'
SIZE 120M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE
'D:\oracle\app\oradata\ocp11g\temp01.dbf' SIZE 20M REUSE
AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
SMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE
'D:\oracle\app\oradata\ocp11g\undotbs01.dbf' SIZE 200M REUSE
AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
CHARACTER SET WE8MSWIN1252
NATIONAL CHARACTER SET AL16UTF16
LOGFILE GROUP 1 ('D:\oracle\app\oradata\ocp11g\redo01.log') SIZE 51200K,
GROUP 2 ('D:\oracle\app\oradata\ocp11g\redo02.log') SIZE 51200K,
GROUP 3 ('D:\oracle\app\oradata\ocp11g\redo03.log') SIZE 51200K
USER SYS IDENTIFIED BY "&&sysPassword"
USER SYSTEM IDENTIFIED BY "&&systemPassword";
spool off

El script se conecta con la instancia, utilizando la sintaxis de autentificación de archivo de contraseñas. (Está completamente descrito en el capítulo 5). Entonces, tomando el script línea por línea:
Los comandos echo y spool hacen que SQL PLUS escriba un log de salida de todo lo que sucede.

Luego el Comando STARTUP NOMOUNT construye la instancia en memoria, utilizando un Archivo de Parámetros Estático visto anteriormente. El Significado del “NOMOUNT” será dado en el Capitulo 5; por ahora; será lo suficientemente necesario, ya que no hay Base de Datos para MOUNT y OPEN. Después de completar esto, habrá una instancia ejecutándose con SGA y los procesos Background. El SGA habrá sido puesto del tamaño a el parámetro especificado en el archivo init.ora.
Y luego está el comando CREATE DATABASE, después el nombre de la Base de Datos (Que es ocp11g) la primera sección del comando establece algunos límites totales para la Base de Datos. Pueden todos cambiarse posteriormente, pero si son claramente inapropiados, es buena idea cambiarlos ahora, antes de la creación.

EN EL TRABAJO.
Con la actual versión, algunos de estos límites (por ejemplo del numero de DataFiles) son solo limites suaves (soft), y por lo tanto de poca importancia.

Luego hay dos especificaciones de DataFiles: Estos son los archivos que serán utilizados para los Tablespaces SYSTEM y SYSAUX. Luego hay especificaciones para un Tablespaces TEMPORARY y un Tablespaces UNDO (Capitulo 11). Luego hay una especificación para el Conjunto de caracteres para la Base de Datos (Que se utiliza para el Diccionario de Datos y Columnas de Tipo VARCHAR2, CHAR y CLOB) y el conjuntos de caracteres National (Que es utilizado por las columnas de tipo NVARCHAR2, NCHAR, y NCLOB). Es posible cambiar el juego de caracteres después de la creación con Sql Plus. Elección y uso de juegos de caracteres, y otros aspectos de la globalización, se tratan en detalle en el segundo examen OCP.

EN EL TRABAJO.
Hasta la versión 9i de la Base de Datos, no había apoyado medios para cambiar el carácter de bases de datos establecidas después de la creación: lo que era vital para obtener este derecho. Con 9i y versiones posteriores, es posible cambiarlo después, pero esto no es un operación para emprender a la ligera. Consíguelo ahora!

Hay entonces la especificación para tres grupos de archivos log, cada uno compuesto de un miembro. Este es un ejemplo del DBCA default tal vez no hace el trabajo perfecto. Sería mejor práctica para multiplexar los redo log: Para crear al menos a dos miembros para cada grupo. No es un problema, este puede ser fijado más adelante (Capitulo 15). El online redo log siempre requerirá tuning; los valores defaults son aplicables a prácticas no a sistemas en producción.
Finalmente, las contraseñas para los usuarios SYS y SYSTEM son inicializadas, y la salida al log es apagada.
Este único archivo con el Comando CREATE DATABASE creará una base de Datos. Después de su ejecución exitosa. Usted tendrá una instancia corriendo en memoria, y una Base de Datos que consiste en un ControlFile y copias como lo especifica el parámetro de inicialización CONTROL_FILES, y los Datafiles y Redo Logs especificados en el comando CREATE DATABASE. Un diccionario de Datos habrá sido generado en el Tablespaces SYSTEM. Pero aunque se haya creado la Base de Datos, este no sirve. Los script restantes llamados por ocp11g.sql hace la Base de Datos usable. El comando CREATE DATABASE tiene muchas opciones, todos los cuales tienen valores por defecto. Por ejemplo, si no se especifica un DataFiles para el Tablespaces SYSTEM o SYSAUX, uno será creado de todos modos. Si no especifica un juego de caracteres, hay uno por default, que dependerá de la configuración del sistema operativo. (Puede que no sea una gran ayuda por defecto comúnmente, es US7ASCII, que es inadecuado para muchas aplicaciones). También hay valores predeterminados para el online redo log files. No hay valores predeterminados para los Tablespaces TEMP y UNDO. Si no son especificados, la Base de Datos se creara sin ellos. No hay problema-ellos se pueden crear después.

EXAMEN.
El Comando CREATE DATABASE puede ser muy largo y complicado. Pero hay valores predeterminados para todo. Tú puedes crear una Base de Datos desde un SQL PLUS con dos palabras CREATE DATABASE.

SCRIPT POST-CREACION.
Los otros scripts llamados por ocp11g.sql para completar la creación de la Base de Datos dependerán de las pciones elegidas al pasar por el DBCA. Para este ejemplo, como todas las opciones excepto Enterprise Manager Database Control fueron desseleccionadas, solo hay cuatro:

CreateDBfiles.sql. Este es de importancia secundaria, este crea un pequeño Tablespaces, USERS, será utilizado como la ubicación default para cualquier objeto creado por los usuarios.
CreateDBCatalog.sql. Este es vital. Este ejecuta un conjunto de Scripts en el directorio $ORACLE_HOME/rdbms/admin que construyen vistas en el Diccionario de Datos y crean muchos paquetes PL/SQL. Son estas vistas y paquetes que hacen posible la administración de la Base de Datos.
emRepository.sql. Este ejecuta el script para crear los objetos necesarios para el Enterprise Manager Database Control. Este se ejecuto por fue seleccionado en el ejercicio 4-1, paso 8.
postDBCreation.sql. Este genera un archivo de parámetros del servidor desde el archivo init.ora (mas en el capítulo 5). Desbloquea las cuentas DBSNMP y SYSMAN utilizadas por Enterprise Manager, y ejecuta el Enterprise Manager Configuration Assitant (Que es emca.bat en Windows, emca en Linux) para configurar el Database Control para la nueva Base de Datos.


OTRAS FUNCIONES DEL DBCA.
La pantalla principal del DBCA da cinco opciones:

- Crear una Base de Datos.
- Configurar opciones de Base de Datos.
- Eliminar una Base de Datos.
- Administrar Plantillas.
- Configurar Automatic Storage Management.

“Opciones de Configuración de Bases de Datos”, le ayuda a cambiar la configuración de una base de datos ya existente. En el ejercicio anterior, usted deseleccionó todas las opciones: se trataba de hacer la propia creación rápida y sencilla posible.

EN EL TRABAJO
Si deselecciona todas las opciones, en particular aquellos “standard Database components (Componentes de Base de Datos standard)”, el tiempo de creación se reduce dramáticamente.

Si usted decide posteriormente instalar algunas características opcionales, tales como Java o OLAP, ejecute el DBCA otra vez es la forma más sencilla de hacerlo, Un método alternativo consiste en ejecutar script para instalar las opciones a mano. Pero esto no son siempre completamente documentados y es posible cometer errores, el DBCA es bueno. El Radio Button Delete A Database le pedirá la base de datos que desea eliminar, y a continuación, y luego darle la oportunidad más antes de que se suprima todos los archivos que componen la base de datos(Para un sistema windows) invoke oradim.exe para eliminar el servicio de la instancia del registro de Windows.

EN EL TRABAJO.
Detrás de escena, Eliminar una Base de Datos invoca el SQL Plus el comando DROP DATABASE. Hay algún tipo de protección para este comando. La Base de Datos no puede abrirse en el momento, esta debe estar en modo MOUNT.

Administrar plantillas tiene que ver con almacenamiento de definiciones de Bases de Datos para uso posterior. Recuerde que en el ejercicio, usted eligió crear una “Custom” Base de Datos. Una “Custom” Base de Datos no está pre configurado. Usted eligió para ver todas las posibilidades como trabajar atraves del DBCA. Pero, aparte de “Custom” hubo opciones para “Data Warehouse” y “General Purpose or Transaction Processing”. Si usted tomo cualquiera de estos. Se le presentará con una versión dl DBCA le pide que cree una Base de Datos con diferentes valores por defecto, al menos en parte, optimizado para sistemas de soporte de decisiones (DSS, la opción de almacenamiento de datos) o para los sistemas de procesamiento de transacciones online (OLTP, la opción de procesamiento de transacciones). Estas plantillas no crean una base de datos desde el principio, y se expanden un conjunto de ficheros de datos comprimidos y modificar estos. ampliar un conjunto de ficheros de datos comprimidos y modificar estos. La pregunta final al crear su base de datos le dio la posibilidad de guardarlo como una plantilla, es decir no lo crea del todo, sino para salvar la definición para uso futuro. El DBCA le permitirá gestionar las plantillas, ya sea los presupplied o de los que
crear tú mismo, al crear, copiar, modificar, o borrarlos. Las plantillas pueden ser de gran utilidad si se encuentra en una posición en la que suelen crear y re-creación de bases de datos que son muy similares. Por último, configurar Automatic Storage Management lanza un asistente que
crear una instancia ASM. Una instancia ASM no se abre una base de datos, sino que gestiona un
conjunto de discos, utilizados para el almacenamiento de bases de datos. Esto se explica en el capítulo 6.

DENTRO DEL EXAMEN.
Creando una Base de Datos.
Oracle Corporation quiere animar a la gente a utilizar herramientas gráficas, y todos los tomados del examen deben estar familiarizados con ello. Dicho esto, es un error preparase para el examen sin estudiar las técnicas de línea de comandos. El DBCA es un perfecto ejemplo de cómo una herramienta gráfica puede hacer nada más que ejecutar comandos que pueden también ser invocados desde la línea de comandos: El estudio de los script generados por el DBCA deja claro el proceso gradual de la creación de una Base de Datos. Crear un archivo de parámetros de inicialización, y lo utiliza para iniciar una instancia. Utilice la instancia para crear la Base de Datos. Genere un Diccionario de Datos dentro de la Base de Datos. Ejecute script adicionales para instalar cualquier opción.

RESUMEN DE CERTIFICACIÓN.
Una Base de Datos puede ser creada utilizando el DBCA, o desde la línea de comandos del SQL Plus. De hecho, el DBCA puede generar scripts para ejecutarlo desde la Línea de comandos del SQL Plus. La creación son tres pasos distintos: Crear la instancia, crear la Base de Datos, crear el Diccionario de Datos. Si utiliza el DBCA, un Database Listener puede ser requerido. El DBCA no hace uso de Listener, pero si la toma la opción para Configurar el Database Control, el DBCA comprobará si un Listener está disponible.
Para crear una instancia, todo lo que se requiere es un archivo de parámetros. Los parámetros críticos son el Nombre de la Base de Datos y la ubicación de los ControlFiles. Luego para crear una Base de Datos, utilice el comando CREATE DATABASE. Este generará como los ControlFiles, dos online log file groups, los Tablespaces SYSTEM y SYSAUX y un Diccionario de Datos. Para hacer la Base de Datos utilizable u operable, ejecute un conjunto de scripts que crean las Vista de diccionario de Datos y los paquetes PL/SQL suministrados, y luego instale cualquier opción que sea requerida.

DOS MINUTOS.
Crear una Base de Datos Utilizando el Database Configuratíon Assistant.
- Una Base de Datos puede ser creada con el DBCA o desde la Línea de comandos del SQL Plus.
- El DBCA puede crear una Base de Datos desde nada o desde una platilla guardada.
- El DBCA y SQL Plus puede eliminar una Base de Datos.
- Una instancia debe ser creada antes de que la Base de Datos pueda ser creada.
- Cualquier opción no seleccionada en el momento de creación puede ser agregada posteriormente.

No hay comentarios:

Publicar un comentario