Oracle - Creación Manual de una Base de datos 11g en Linux
description
Transcript of Oracle - Creación Manual de una Base de datos 11g en Linux
Título: Creación MANUAL de base de datos 11g en Linux
Fecha: 25/08/2011
Página 1 de 8
Creación MANUAL de base de
datos 11g en Linux
Departamento:
Proyecto:
Documento: Documento1
Nº pags: 8
Asunto:
Autor: ODMS
http://locutoriorama.blogspot.com/
Aprobado por:
Fecha de creación: 25/08/2011 Fecha de aprobación:
Lista de Distribución:
Título: Creación MANUAL de base de datos 11g en Linux
Fecha: 25/08/2011
Página 2 de 8
Introducción ............................................................................................................................. 3
Almacenamiento ....................................................................................................................... 3
Creación de usuario .................................................................................................................. 5
Configuración del entorno de usuario ....................................................................................... 5
Creación de directorios ............................................................................................................. 5
Creación del fichero de password ............................................................................................. 5
Fichero de inicialización ............................................................................................................ 6
Arranque de la instancia ........................................................................................................... 6
CREATE DATABASE .................................................................................................................... 7
Diccionario de datos ................................................................................................................. 7
Creación del spfile ................................................................................................................. 8
Referencias ............................................................................................................................... 8
Título: Creación MANUAL de base de datos 11g en Linux
Fecha: 25/08/2011
Página 3 de 8
Introducción
En este documento se detalla un ejemplo de creación de una base de datos Oracle versión 11 en
plataforma Linux. En concreto voy a crear una 11.2.0.2 en Oracle Enterprise Linux 6, utilizando una
máquina virtual en VMware 7. Para ver cómo hice la instalación del sistema operativo de este ejemplo ir a
aquí. Y para ver cómo instalé el software de Oracle 11.2.0.2 ir aquí.
Para este ejemplo no voy a utilizar OMF (Oracle Managed File), ni FRA (Flash Recovery Area), ni ASM
(Automatic Storage Mgmt).
Almacenamiento
Como voy a crear una base de datos para pruebas, no me voy a detener mucho en la planificación, algo
que si sería necesario para una base de datos en producción. No obstante, voy a comentar el tipo de
almacenamiento que voy a preparar para esta base de datos de pruebas.
Como la base de datos a crear es para pruebas, no me voy a preocupar mucho de la I/O a disco, ni del
rendimiento o la seguridad.
Voy a utilizar el software de lvm del sistema operativo. Crearé 3 volúmenes con striping para separar
datos de redo online y redo archivado, básicamente y por simplificar.
Edito la máquina virtual y añado 6 discos más.
Re-escaneo los discos scsi para que el sistema operativo los reconozca y con lvm creo los volúmenes
físicos:
pvcreate /dev/sdc
pvcreate /dev/sdd
pvcreate /dev/sde
pvcreate /dev/sdf
pvcreate /dev/sdg
pvcreate /dev/sdh
Título: Creación MANUAL de base de datos 11g en Linux
Fecha: 25/08/2011
Página 4 de 8
Con pvscan veo los PV (physical volumen) disponibles:
Creo 3 VG (volume group) con 2 PV cada uno:
vgcreate vg_oel6_ora_data_01 /dev/sdc /dev/sdd
vgcreate vg_oel6_ora_redo_01 /dev/sde /dev/sdf
vgcreate vg_oel6_ora_arch_01 /dev/sdg /dev/sdh
Creo 3 LV (logical volumen) con striping en dos discos:
sudo lvcreate -L 50G -i2 -I256 -n lv_ora_data_01 vg_oel6_ora_data_01
sudo lvcreate -L 50G -i2 -I256 -n lv_ora_redo_01 vg_oel6_ora_redo_01
sudo lvcreate -L 50G -i2 -I256 -n lv_ora_arch_01 vg_oel6_ora_arch_01
Creamos los filesystems y montamos. Creo primero los puntos de montaje:
mkdir -p /bbdd/datos
mkdir -p /bbdd/redo
mkdir -p /bbdd/archive
chown –R oracle:oinstall /bbdd/datos
chown –R oracle:oinstall /bbdd/redo
chown –R oracle:oinstall /bbdd/archive
chmod 775 /bbdd/datos
chmod 775 /bbdd/redo
chmod 775 /bbdd/archive
mkfs.ext4 /dev/vg_oel6_ora_data_01/lv_ora_data_01
mount /dev/vg_oel6_ora_data_01/lv_ora_data_01 /bbdd/datos
mkfs.ext4 /dev/vg_oel6_ora_redo_01/lv_ora_redo_01
mount /dev/vg_oel6_ora_redo_01/lv_ora_redo_01 /bbdd/redo
mkfs.ext4 /dev/vg_oel6_ora_arch_01/lv_ora_arch_01
mount /dev/vg_oel6_ora_arch_01/lv_ora_arch_01 /bbdd/archive
y finalmente, añado las siguientes líneas en el /etc/fstab:
/dev/mapper/vg_oel6_ora_data_01-lv_ora_data_01 /bbdd/datos ext4 defaults 1 2
/dev/mapper/vg_oel6_ora_redo_01-lv_ora_redo_01 /bbdd/redo ext4 defaults 1 2
/dev/mapper/vg_oel6_ora_arch_01-lv_ora_arch_01 /bbdd/archive ext4 defaults 1 2
Título: Creación MANUAL de base de datos 11g en Linux
Fecha: 25/08/2011
Página 5 de 8
En el volumen /bbdd/datos van a ir los datafiles de datos, índices, temporal y sistema (system, undo y
sysaux)
En el volumen /bbdd/redo van a ir los grupos de redo log online.
Y en el volumen /bbdd/archives van a ir los redo log archivado.
Creación de usuario
Podría utilizar el usuario “oracle” que es el propietario del software que tengo instalado, pero voy a crear
otro específico para la creación de la base de datos.
useradd -m -d /home/dbaorcl -g dba -G oinstall,oper dbaorcl
passwd dbaorcl
Configuración del entorno de usuario
umask 002
export DISPLAY=xx.xx.xx.xx:0.0
ORACLE_BASE=/bbdd/rdbms
ORACLE_HOME=/bbdd/rdbms/product/11.2.0/dbhome_1
ORACLE_SID=orcl
export ORACLE_BASE ORACLE_HOME ORACLE_SID
PATH=$PATH:$ORACLE_HOME/bin
export PATH
Creación de directorios
/bbdd/datos/orcl
/bbdd/redo/orcl
/bbdd/archive/orcl
/bbdd/rdbms/admin/orcl/adump
Con los permisos adecuados.
Creación del fichero de password orapwd FILE=$ORACLE_HOME/dbs/orapworcl ENTRIES=5
Título: Creación MANUAL de base de datos 11g en Linux
Fecha: 25/08/2011
Página 6 de 8
Fichero de inicialización En $ORACLE_HOME/dbs tenemos un init.ora que podemos utilizar de base. De momento, no
voy a configurar la auditoría ni FRA, comento sus parámetros. Comento también el parámetro
dispatchers. Modifico las rutas necesarias.
db_name='ORCL'
memory_target=500M
processes = 150
audit_file_dest='/bbdd/rdbms/admin/orcl/adump'
#audit_trail ='db'
db_block_size=8192
db_domain=''
#db_recovery_file_dest='/bbdd/rdbms/flash_recovery_area'
#db_recovery_file_dest_size=2G
diagnostic_dest='/bbdd/rdbms'
#dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = (/bbdd/datos/orcl/ora_control1, /bbdd/datos/orcl/ora_control2)
compatible ='11.2.0'
Arranque de la instancia
sqlplus / as sysdba
startup nomount;
Si al arrancar la instancia recibimos este error:
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00130: invalid listener address '(ADDRESS=(PROTOCOL=TCP)(HOST=OEL6)(PORT=1521))'
Añadir al /etc/hosts el hostname y la ip correcta.
Título: Creación MANUAL de base de datos 11g en Linux
Fecha: 25/08/2011
Página 7 de 8
CREATE DATABASE
CREATE DATABASE orcl
MAXINSTANCES 8
MAXLOGHISTORY 1
MAXLOGFILES 16
MAXLOGMEMBERS 5
MAXDATAFILES 1000
DATAFILE '/bbdd/datos/orcl/system01.dbf' SIZE 700M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/bbdd/datos/orcl/sysaux01.dbf' SIZE 600M REUSE
SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/bbdd/datos/orcl/temp01.dbf'
SIZE 100M REUSE
SMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE '/bbdd/datos/orcl/undotbs01.dbf' SIZE 200M
REUSE
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
LOGFILE GROUP 1 ('/bbdd/redo/orcl/redo01_a.log', '/bbdd/redo/orcl/redo01_b.ora') SIZE 100M,
GROUP 2 ('/bbdd/redo/orcl/redo02_a.log', '/bbdd/redo/orcl/redo02_b.log') SIZE 100M,
GROUP 3 ('/bbdd/redo/orcl/redo03_a.log', '/bbdd/redo/orcl/redo03_b.log') SIZE 100M;
Diccionario de datos
SET VERIFY OFF
connect "SYS"/"change_on_install" as SYSDBA
set echo on
spool CreaCatalog.log append
@$ORACLE_HOME/rdbms/admin/catalog.sql;
@$ORACLE_HOME/rdbms/admin/catblock.sql;
@$ORACLE_HOME/rdbms/admin/catproc.sql;
@$ORACLE_HOME/rdbms/admin/catoctk.sql;
@$ORACLE_HOME/rdbms/admin/owminst.plb;
connect "SYSTEM"/"manager"
@$ORACLE_HOME/sqlplus/admin/pupbld.sql;
connect "SYSTEM"/"manager"
set echo on
spool sqlPlusHelp.log append
@$ORACLE_HOME/sqlplus/admin/help/hlpbld.sql helpus.sql;
spool off
spool off
Título: Creación MANUAL de base de datos 11g en Linux
Fecha: 25/08/2011
Página 8 de 8
Creación del spfile
Opcional.
Referencias http://download.oracle.com/docs/cd/E11882_01/server.112/e17120/create.htm#i1017640
http://download.oracle.com/docs/cd/E11882_01/server.112/e16638/iodesign.htm#PFGRF015