10 Jan Crear Una Base de Datos Oracle 11gR2 en Linux – Parte III
Verificar Variable de Ambiente
Aqui tenemos que decidir el nombre que va a tener nuestra instancia, aunque ya es algo que vimos en los prerequisitos, mas vale volver a verificar el nombre, aqui un ejemplo utilizando Korn shell, si utilizas C Shell, usa el comando setenv
- variable ORACLE_SID
export ORACLE_SID=TESTDB - variable ORACLE_BASE
export ORACLE_BASE=’/mount/oracle’ - variable ORACLE_HOME
export ORACLE_HOME=’/mount/oracle/product/11.2.0.2v1′ - variable PATH
export PATH=$ORACLE_HOME/bin:$PATH
Crear el archivo de parametros
Aqui esta un ejemplo de un archivo init para que arranques, este no es para nada uno a tener en produccion ya que ese tiene que ser revisado para las necesidades de la instancia, pero para nuestras pruebas, con este es mas que suficiente.Este archivo lo guarde en la siguiente ruta /mount/dba01/oracle/TESTDB/pfile/initTESTDB.ora, tu lo puedes guardar en la ruta que a ti te sirva y lo puedas tener a la mano.
audit_trail =’db’
compatible =’11.2.0′
control_files = (/mount/u01/oracle/TESTDB/control/control01.ctl,
/mount/u01/oracle/TESTDB/control/control02.ctl)
db_block_size =8192
db_domain =”
db_name =’TESTDB’
db_recovery_file_dest =’/mount/oracle/copy01/flash_recovery_area/TESTDB’
db_recovery_file_dest_size =2G
diagnostic_dest =’/mount/oracle/dump01′
memory_target =1G
open_cursors =300
processes =150
remote_login_passwordfile =’EXCLUSIVE’
undo_tablespace =’UNDOTBS1′
Conectarnos a la base de datos y crear el archivo de parametros binario a partir del archivo initTESTDB.ora
Nos vamos a conectar a la base de datos autenticandonos con el sistema operativo y una vez conectados vamos a crear el archivo binarios (spfile).
$ sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> CREATE SPFILE
FROM PFILE = ‘/mount/dba01/oracle/TESTDB/pfile/initTESTDB.ora’;
Crear Nuestra Base de Datos
Una vez que creamos nuestro archivo binario de parametros, vamos a levantar la base de datos en modo nomount
Ahora vamos a correr el siguiente SQL para crear nuestra base de datos. Vamos a inicializar la instancia con el comando
USER SYS IDENTIFIED BY sys_password
USER SYSTEM IDENTIFIED BY system_password
LOGFILE GROUP 1 (‘/mount/u01/oracle/TESTDB/redo01a.log’,‘/mount/u02/oracle/TESTDB/redo01b.log’) SIZE 100M ,
GROUP 2 (‘/mount/u01/oracle/TESTDB/redo02a.log’,‘/mount/u02/oracle/TESTDB/redo02b.log’) SIZE 100M ,
GROUP 3 (‘/mount/u01/oracle/TESTDB/redo03a.log’,‘/mount/u02/oracle/TESTDB/redo03b.log’) SIZE 100M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
CHARACTER SET UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE ‘/mount/u01/oracle/TESTDB/data/system01.dbf’ SIZE 500M REUSE
SYSAUX DATAFILE ‘/mount/u01/oracle/TESTDB/data/sysaux01.dbf’ SIZE 500M REUSE
DEFAULT TABLESPACE users
DATAFILE ‘/mount/u02/oracle/TESTDB/data/users01.dbf’
SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE ‘/mount/u02/oracle/TESTDB/data/temp01.dbf’
SIZE 20M REUSE
UNDO TABLESPACE undotbs1
DATAFILE ‘/mount/u01/oracle/TESTDB/data/undotbs01.dbf’
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
Correr scripts para crear las vistas del Diccionario de Datos
Una vez que la base de datos se haya creado, vamos a correr los siquientes tres scripts para crear las vistas y procedimientos del diccionario de datos, este es un paso obligatorio asi que no te lo saltes, catalog.sql y catproc.sql deben de correr con el usuario sys y los encuentras en $ORACLE_HOME/rdbms/admin, el script pupbld.sql debe de correr con el usuario system y lo encuentras en el directorio $ORACLE_HOME/sqlplus/admin. Aqui un ejemplo de como correrlos:
TESTDB >CONNECT SYS AS SYSDBA
spool catalog.log
@/mount/oracle/product/11.2.0.2v1/rdbms/admin/catalog.sql
spool off
spool catproc.log
@/mount/oracle/product/11.2.0.2v1/rdbms/admin/catproc.sql
spool off
TESTDB >CONNECT SYSTEM
Enter password:
spool pupbld.log
@/mount/oracle/product/11.2.0.2v1/sqlplus/admin/pupbld.sql
spool off
Conclusion
Una vez que ya hemos seguido las ultimas tres entradas,hemos logrado crear una base de datos desde cero, espero que te sirva como ejemplo para poder crear tus base datos de ejemplos y de ahi puedas crear una para produccion.
oscar ->campeón
Posted at 13:55h, 18 FebruaryHola campeòn, bueno creo que hay error minimo,mira:
En el control file indicas el nombre del tablespace undotbs1 (undo_tablespace =’UNDOTBS1′) lo cual es correcto, pero al correr el script para crear la base de datos pones
UNDO TABLESPACE undotbs DATAFILE ‘/mount/u01/oracle/TESTDB/data/undotbs01.dbf’
te comiste el nùmero 1 , XD
Deberia ser :
UNDO TABLESPACE undotbs1 DATAFILE ‘/mount/u01/oracle/TESTDB/data/undotbs01.dbf’
jajajja, es minimo el error pero podrìa causar dolores de cabeza para un novato..
Saludos
René
Posted at 22:16h, 10 MarchMuchas gracias Oscar, corregido , cierto para alguien que es u primera vez, esto puede ser todo un dolor de cabeza.