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:
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=10Podemos 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 opcionesDonde 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