Oracle - Creación Manual de una Base de datos 11g en Linux

8
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:

description

Documento que describe una creación manual de una base de datos 11g en plataforma Linux

Transcript of Oracle - Creación Manual de una Base de datos 11g en Linux

Page 1: 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:

Page 2: 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 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

Page 3: 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 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

Page 4: 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 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

Page 5: 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 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

Page 6: 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 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.

Page 7: 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 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

Page 8: 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 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