ORACLE DDL - CREATE DATABASE

google bookmarks delicious yahoo digg technorati meneame live IExplorer bookmarks rss
Más vistos:
  1. CREATE INDEX
  2. DECODE
  3. TO_CHAR
  4. TO_DATE
  5. SELECT
  6. GRANT
  7. INSERT
  8. TUNNING
  9. UPDATE
  10. CREATE USER

Create Database

Sirve para crea una base de datos.

Desde el punto de vista físico, una base de datos es, para oracle, un conjunto de ficheros, a saber:

Asi para crear una base de datos, una vez instalado oracle, debemos seguir los siguientes pasos:

1) Definir ORACLE_SID

ORACLE_HOME = E:\Oracle\Product\10.0.0
ORACLE_SID = GESTION

2) Crear el fichero INIT.ORA

C:\>ORACLE_HOME\database\initGESTION.ora
 
control_files = (/path/to/control1.ctl,/path/to/control2.ctl,/path/to/control3.ctl)
undo_management = AUTO
undo_tablespace = UNDOTBS1
db_name = GESTION
db_block_size = 8192
sga_max_size = 1073741824
sga_target = 1073741824 

3) Definir fichero de passwords

$ORACLE_HOME\bin\orapwd file=ORACLE_HOME\database\pwdGESTION.ora password=oracle entries=10
Podemos generar los pasos 2) y 3) con una sola instrucción:
oradim -new -sid GESTION -intpwd  -maxusers 20 -startmode auto
 -pfile E:\Oracle\Product\10.0.0\Database\initGESTION.ora

4) Arrancar la instancia

C:\>sqlplus  / as sysdba
sql> startup nomount

5) Crea la base de datos con el nombre(o SID) GESTION y el char set WE8ISO8859P1

CREATE DATABASE GESTION
LOGFILE 'E:\OraData\GESTION\LOG1GESTION.ORA' SIZE 2M,
'E:\OraData\GESTION\LOG2GESTION.ORA' SIZE 2M,
'E:\OraData\GESTION\LOG3GESTION.ORA' SIZE 2M,
'E:\OraData\GESTION\LOG4GESTION.ORA' SIZE 2M,
'E:\OraData\GESTION\LOG5GESTION.ORA' SIZE 2M
EXTENT MANAGEMENT LOCAL
MAXDATAFILES 100
DATAFILE 'E:\OraData\GESTION\SYS1GESTION.ORA' SIZE 50 M
DEFAULT TEMPORARY TABLESPACE temp TEMPFILE 'E:\OraData\GESTION\TEMP.ORA' SIZE 50 M
UNDO TABLESPACE undo DATAFILE 'E:\OraData\GESTION\UNDO.ORA' SIZE 50 M
NOARCHIVELOG
CHARACTER SET WE8ISO8859P1;

6) Ejecutar sql de creación: catalog.sql y catproc.sql

Sintaxis completa:
   CREATE DATABASE nombreDB opciones
Donde las opciones:
   DATAFILE filespec AUTOEXTEND OFF
   DATAFILE filespec AUTOEXTEND ON [NEXT int K | M] [MAXSIZE int K | M]
   MAXDATAFILES int
   EXTENT MANAGEMENT LOCAL
   DEFAULT TEMPORARY TABLESPACE tablespace [TEMPFILE filespec] 
                                       [EXTENT MANAGEMENT LOCAL] [UNIFORM [SIZE int K | M]]
   UNDO TABLESPACE tablespace [DATAFILE filespec]
   LOGFILE [GROUP int] filespec
   MAXLOGFILES int
   MAXLOGMEMBERS int
   MAXLOGHISTORY int
   MAXINSTANCES int
   ARCHIVELOG | NOARCHIVELOG
   CONTROLFILE REUSE
   CHARACTER SET charset
   NATIONAL CHARACTER SET charset
   SET TIMEZONE = 'time_zone_region'
   SET TIMEZONE = '{+|-} hh:mm'
   FORCE LOGGING
   USER SYS IDENTIFIED BY password
   USER SYSTEM IDENTIFIED BY password

Se puede poner mas de un DATAFILE o LOGFILE separando los nombres de fichero con comas DATAFILE filespec1, filespec2, filespec3

Si no se especifican claves, Oracle establece "change_on_install" para SYS y "manager" para SYSTEM.

Despues de crear la base de datos podemos cambiar entre los modos ARCHIVELOG, NOARCHIVELOG con la sentencia ALTER DATABASE.


Explicación de la sintaxis utilizada para los comandos:
Las palabras en mayusculas son comandos de oracle.
Las palabras en minusculas son opiones modificables
Las partes enmarcadas con [] son opcionales
Las palabras en negrita son las opciones por defecto
Las partes enmarcadas con {} son alternativas (una u otra).
El simbolo | indica OR