viernes, junio 14, 2013

Instalar Oracle Database 11G en Oracle Linux Parte II

CONFIGURAR BASE DE DATOS

Bueno, pues finalmente aquí os dejo la segunda parte:

Esta guia continua donde lo dejamos aquí: Instalar Oracle Database 11G en Oracle Linux

Una vez instalado el software de la base de datos, quedará configurar la misma, para ello deberemos estando en el escritorio gnome (Xwindows) nos situamos en la carpeta “bin” de Oracle_home” (en nuestro caso /oracle/product/11.2.0/dbhome_1/bin) y ejecutamos el archivo “netca”, nos saldrá la siguiente ventana:

Pinchamos en siguiente y sólo nos dejará agregar, volveremos a pinchar en siguiente:


Dejamos el nombre que trae por defecto y le damos a siguiente:



Seguimos dejando todo tal y como viene por defecto y le damos a siguiente:




Con el puerto que usará lo mismo:



Finalmente nos pedirá si queremos configurar otro listener, le diremos que no.




Seguiremos pinchando en siguiente




Y por último en terminar



Luego en  la carpeta bin en la que estamos ejecutaremos “dbca” y nos saldrá la siguiente ventana deberemos de pinchar en siguiente:




Entonces deberemos crear la base de datos tal y como mostramos a continuación:



Tras eso seleccionaremos la que nos muestra por defecto, salvo que queramos alguna cosa rara, pero en nuestro caso, haremos una base de datos normal:




Nos pedirá el nombre de la base de datos global, en este ejemplo, usaremos dbrls, el sid pondremos lo mismo:


Para luego tener datos con los que trabajar marcaremos los esquemas de ejemplo:



Nos aparecerá lo siguiente, no es necesario modificar nada aquí, le daremos a siguiente:



Tras eso, nos pedirá password para los usuarios especiales de la base de datos, podemos poner una contraseña para cada usuario (lo más recomendado). Sino, ponemos una contraseña para todos igual. En este manual lo haremos así, pondremos de contraseña "oracle" y le daremos a siguiente.





Nos saldrá la siguiente ventana, por que esa contraseña no cumple su politica de contraseñas, como ya hemos dicho antes como es una de ejemplo de diremos que sí a continuar.



La siguiente ventana la dejamos igual, damos a siguiente:




Tras eso, marcaremos en la siguiente ventana la opción de “Activar archivado” y tras eso le daremos al botón de “Editar Parámetros de Modo de Archiva…”



Nos saldrá la siguiente ventana de opciones, que con que nombre y en que ruta se han de guardar los archivo de Archive log. Pondremos como muestra la imagen.




Aceptamos y continuamos, nos saldrá la siguiente ventana que daremos al botón siguiente:



Luego toca el tamaño de la memoria, por defecto le dejaremos el 40% que indica, si fuera un Server con menos memoria, podríamos bajárselo o dependiendo del numero de conexiones que fuera a tener o de los usos de la BD subirlo. Ahi ya cada uno.






Iremos después al juego de caracteres y lo pondremos tal y como aparece en la imagen, el que trae por defecto nos tiene a nuestra querida ñ, si quisieramos usar caracteres raros en conjunto (mezcla caracteres castellanos y japoneses por ejemplo) tendríamos que poner el unicode y luego configurar mas cosas. O si queremos alguno en especial lo seleccionamos y listo.






Luego toca configurar los tablespaces, en este caso no crearemos ninguno así que todo lo que vayamos crenado ira al tablespace users, pero si quisieramos desde aquí podemos crear tablespaces, darles nombre, tamaño alojarlos donde digamos e incluso que si llega al tamaño máximo que vaya incrementando hasta cierto tope. Esto podemos hacerlo también después desde la Enterprise Manager.




Aceptamos, le damos a siguiente y ya sólo quedaría darle a terminar, para que empiece la creación de la base de datos.




Y tras esto, ya tendríamos todo instalado.



 Retoques Finales


-Activar Instancia

Con un editor de texto, Editamos el archivo /etc/oratab y cambiar la N por Y en la línea de la instancia quedando así en nuestro ejemplo:

dbrls:/oracle/product/11.2.0/dbhome_1:Y

-Creación de script de Arranque

Creamos el archivo oracledb en la siguiente ubicación “/etc/init.d” con el siguiente código. Sólo hay que cambiar los valores de las variables OUSER y OPATH, que será el usuario con el que hemos hecho la instalación (en nuestro caso oracle11g) y el path donde lo hemos instalado (En este caso "/oracle/product/11.2.0/dbhome_1”) , el codigo no es mio, yo solo lo copie en su momento y lo sigo usando hoy en día, muchas gracias a su creador.

--------- INICIO CODIGO ---------
#!/bin/bash
#
# Run level script to start Oracle services on Linux
#
# -------------------------------------------------------------------------
# Copyright (c) 2006 nixCraft project
# This script is licensed under GNU GPL version 2.0 or above
# Comment/suggestion:
# -------------------------------------------------------------------------
# chkconfig: 345 91 19
# description: Startup/Shutdown Oracle service

OUSER="oracle11g"
OPATH="/oracle/product/11.2.0/dbhome_1"

# check Oracle db status
function chkdb_status() {

# set username
SUSER="system"
# set password
SPASS="oracle"

sqlplus /nolog > /dev/null 2>&1 <whenever sqlerror exit failure
connect $SUSER/$SPASS
exit success
EOF

if [ $? -ne 0 ]; then
 echo "Connection failed : DB is down"
 exit 1
else
 echo "Connection succeeded : DB is up"
fi
}

case "$1" in
        start)
        echo  "*** Starting Oracle *** "
        su - $OUSER -c "$OPATH/bin/lsnrctl start"
        su - $OUSER -c "$OPATH/bin/dbstart"
        ;;
        stop)
        echo  "*** Stopping Oracle *** "
        su - $OUSER -c "$OPATH/bin/lsnrctl stop"
        su - $OUSER -c "$OPATH/bin/dbshut"
        ;;
        restart)
        $0 stop
        $1 start
        ;;
        isqlstart)
        echo  "*** Starting Oracle iSQL Plus *** "
        su - $OUSER -c "$OPATH/bin/isqlplusctl start"
        echo "*** Note: You can access service at url:  http://$(hostname):5560/isqlplus"
        ;;
        isqlstop)
        echo  "*** Stopping Oracle iSQL Plus *** "
        su - $OUSER -c "$OPATH/bin/isqlplusctl stop"
        ;;
        emstart)
        echo  "*** Starting Oracle Enterprise Manager 10g Database Control ***"
        su - $OUSER -c "$OPATH/bin/emctl start dbconsole"
        echo "*** Note: You can access service at url:  http://$(hostname):1158/em"
        ;;
        emstop)
        echo  "*** Stopping Oracle Enterprise Manager 10g Database Control ***"
        su - $OUSER -c "$OPATH/bin/emctl stop dbconsole"
        ;;
        status)
        echo "*** Oracle database status ***"
        chkdb_status
        ;;
        *)
        echo $"Usage: $0 {start|stop|isqlstart|isqlstop|emstart|emstop}"
        exit 1
esac
exit 0


--------- FIN CODIGO ---------

Una vez hecho esto, creamos los enlaces simbólicos siguientes:

#ln -s /etc/init.d/oracledb /etc/rc.d/rc2.d/S99oracledb
#ln -s /etc/init.d/oracledb /etc/rc.d/rc3.d/S99oracledb
#ln -s /etc/init.d/oracledb /etc/rc.d/rc4.d/S99oracledb
#ln -s /etc/init.d/oracledb /etc/rc.d/rc5.d/S99oracledb
#ln -s /etc/init.d/oracledb /etc/rc.d/rc0.d/K01oracledb
#ln -s /etc/init.d/oracledb /etc/rc.d/rc6.d/K01oracledb

Luego le damos permiso de ejecución al código que hemos creado:

#chmod +x /etc/init.d/oracledb

Tras esto, probamos que arranque ejecutando lo siguiente:

#/etc/init.d/oracledb start



Si nos da el error siguiente:

ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener

Tendremos que cambiar los archivos “dbstart” y “dbshut” con un editor de texto así:

vim /oracle/product/11.2.0/dbhome_1/bin/dbstart

Sustituyendo el campo:

ORACLE_HOME_LISTNER=$1

Por

ORACLE_HOME_LISTNER=$ORACLE_HOME

Cambiar Parámetros de la base de datos.

Abrimos una terminal desde el usuario oracle11g que hemos creado para dicha instalación y ejecutamos lo siguiente:

#sqlplus /nolog

Nos abrirá una sesión de sqlplus y ahí escribiremos:

#connect system/oracle as sysdba;

Una vez conectados,  podremos entre otras ejecutar las siguientes instrucciones:

#ALTER SYSTEM SET DEFERRED_SEGMENT_CREATION=FALSE SCOPE=BOTH; 
# ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
#ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON=FALSE SCOPE=BOTH;

La primera es para que tras escribir este comando a la hora de exportar tablas el sistema no ignore las tablas que no tengan líneas.

La segunda es para que no nos pida cambiar la contraseña nunca

La ultima es para que no diferencie entre mayúsculas y minúsculas.


Y así  con esto tenemos una base de pruebas creada.  Decir que el verdadero trabajo vendría ahora hasta ir configurando la BD y demas, pero eso ya lo iremos mirando. Un saludo.

Ah!, decir que en oracle linux 5, la parte de instalar paquetes necesarios para la base de datos, el usuario oracle, el grupo oinstall, los limites del sistema y los parámetros del kernel, todo eso nos lo instalará si ejecutamos lo siguiente (aunque si el sistema es de 64 bits hay que instalar después el paquete unixODBC de 32):

#yum install oracle-validated