====== [HOWTO] Converting a Database into a clusterware resource ====== ====== Descripción ====== Como convertir una bbdd en un recurso del clusterware de oracle para poder pivotarla de nodo en un entorno activo-pasivo. ====== Howto ====== * Tomo la variable ORACLESID como nombre de la base de datos. * Exportamos y CONSERVAMOS la configuración actual de la bbdd: crsctl status resource ora.${ORACLESID,,}.db -p > crsctl_${ORACLESID,,}.txt cp -pfv crsctl_${ORACLESID,,}.txt crsctl_${ORACLESID,,}.txt.orig * Paramos la BBDD * Eliminamos la configuración actual: srvctl remove database -d ${ORACLESID,,} * Editar el fichero de recursos: vim crsctl_${ORACLESID,,}.txt * Y dejar los siguientes parámetros de configuración: NAME TYPE ACL ACTION_SCRIPT ACTION_FAILURE_TEMPLATE ACTIVE_PLACEMENT AUTO_START CARDINALITY CHECK_INTERVAL DEGREE DESCRIPTION ENABLED HOSTING_MEMBERS LOAD NOT_RESTARTING_TEMPLATE OFFLINE_CHECK_INTERVAL PLACEMENT PROFILE_CHANGE_TEMPLATE RESTART_ATTEMPTS SCRIPT_TIMEOUT START_DEPENDENCIES START_TIMEOUT STATE_CHANGE_TEMPLATE STOP_DEPENDENCIES STOP_TIMEOUT UPTIME_THRESHOLD * Cambiar las variables: ACTION_SCRIPT=/u01/app/11.2.0/grid/crs/public/action_${ORACLESID} HOSTING_MEMBERS=node1 node2 * Donde ACTION_SCRIPT es un script más abajo documentado y los "HOSTING_MEMBERS" son los nodos donde puede ejecutarse la BBDD. * Y añadimos el recurso: crsctl add resource ${ORACLESID,,}.db -type cluster_resource -file crsctl_${ORACLESID,,}.txt ===== Script de Acción ===== vim /u01/app/11.2.0/grid/crs/public/action_${ORACLESID} #!/bin/bash # Environment variables export ORA_SID="DIVAPRE" export ORA_USER="oracle" export CRS_HOME="/u01/app/11.2.0/grid" export CRS_HOME_SCRIPT=${CRS_HOME}/crs/public export EXITCODE=0 export PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:" export DB_HOME=/u01/app/oracle/product/11.2.0/db . /home/oracle/vars_${ORA_SID} # Database start, stop, check, clean # DB STOP stop() { echo "Stopping Instance ${ORA_SID}..." sqlplus /nolog < Variables a tener en cuenta: ^ Variable ^ Descripción ^ | ''ORA_SID="DIVAPRE"'' | SID de la instancia | | ''export ORA_USER="oracle"'' | Usuario de oracle | | ''export CRS_HOME="/u01/app/11.2.0/grid"'' | Directorio de instalación del clusterware | | ''export CRS_HOME_SCRIPT=${CRS_HOME}/crs/public'' | Path a los scripts | | ''export BASE_PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:"'' | Definición básica del PATH | | ''export DB_HOME=/u01/app/oracle/product/11.2.0/db'' | ''${ORACLE_HOME}'' | | ''. /home/oracle/vars_${ORA_SID}'' | Fichero con la configuración básica de la instacia |