sábado, 20 de septiembre de 2014

CONFIGURACION DE ORACLE STANDBY DATABASE


En el origen modificamos el archivo tnsnames.ora y agregamos la base de datos destino.  Y en el destino que será standby tambien modificamos el archivo y agregamos la base de datos primaria.


En la base de datos primaria Ejecutamos el siguiente comando para comprobar comunicación
tnsping nombre_dela_base_destino


Nos aseguramos de que los directorios para los datafile existan o los creamos, al igual que las otras rutas necesarias.


En la base de datos Primaria Renombramos el init
cp init.ora init_basededatos.ora


Lo llevamos a la base de datos de standby y una vez que ya esté ahí nos aseguramos de modificarle los siguientes parametros.
pfile o spfile según lo que vayamos a usar y agregamos lo siguiente:


db_unique_name=’baseSTB’
log_archive_format=’nombre_%t_%s.arc
instance_name=’baseSTB’
fal_client      >que exista
fal_server     >que exista
log archive_dest=’ruta de los archives’


y guardamos   


Nos conectamos a la base de datos as sysdba y levantamos la base en nomount
>startup nomount
>exit


Nos conectamos como RMAN
>register database
>exit
Una vez configurado lo anterior, podemos ejecutar los siguientes comandos, en este caso los he puesto en un archivo.sh


rman << EOF
connect target sysusr/usr@dborigen
connect catalog rman/rmanusr@base
connect auxiliary
run{
allocate channel ch1 type ‘sbt_tape’ parms ‘SBT_LIBRARY=/usr/omni/lib/libob2oracle8_64bit.a, ENV=(OB2BARTYPE=Oracle8, OB2APPNAME=baseorigen, OB2BARLIST=hostorigen-ora-baseorige-onl-mar)’;
DUPLICATE TARGET DATABASE FOR STANDBY dorecover NOFILENAMECHECK;
restore archivelog from sequence 54656 until sequence 64778;
release channel ch1;
}
EOF


En dado caso de que falten archvies nos los traemos desde la base de datos primaria.


AHORA, EN LA BASE DE DATOS PRIMARIA
seteamos el siguiente parametro:
Nos conectamos como sysdba
>alter system set los_archive_dest_2=’SERVICE=baseSTB ARCH SYNC NOAFFIRM delay=0 OPTIONAL max_failure=0 register’;


Una vez hecho esto, en el destino hacemos lo siguiente:
SQL> CONNECT / AS SYSDBA
2. Iniciamos la instancia sin montar la base.
SQL> STARTUP NOMOUNT;
3. Montamos la standby database:
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;


Iniciamos la recuperación en managed recovery mode que permitirá la aplicacion automatica de los archived redolog files de la base primaria a la standby. Managed recovery deberá ser iniciado con una sesion disconnect con la siguiente seintaxis:


SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;


El siguiente es para un realtime apply, disponible desde versión 10.1
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;


También es posible efectuar un manual recovery (era requerido en 8i standby database)
SQL> RECOVER STANDBY DATABASE;
or
SQL> ALTER DATABASE RECOVER AUTOMATIC STANDBY DATABASE;


Cancelar el recovery:
En dado caso de querer cancelar el recovery deberemos usar lel siguiente comando:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
O bien para cancelar el recovery manual:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;


LISTO!!! Ya debe estar sincronizada la base de datos y ya debe estar recibiendo los archives que se vayan generando en la base de datos primaria.


Nota importante:
Una situación que a mi se me presentó es que repentinanmente los archives dejaron de generarse en la ruta que especifiqué para los archives, para prevenir esto hacemos lo siguiente:
En nuestra base de datos standby nos conectamos as sysdba
>alter system set standby_archive_dest=’/folder/delos/archive’

viernes, 19 de septiembre de 2014

UPGRADE A 9.2.0.8


Ahora que ya tenemos instalado el software 9.2.0.1 vamos a hacer un upgrade a la versión 9.2.0.8  corriendo el parche 4547809 que se encuentra en  /media/patch/

  • Lo descomprimimos con el usuario oracle
  • Una vez descomprimido nos posicionamos en el directorio generado  
    • Disk1
  • Corremos el runInstaller
    • ./runInstaller.sh
  • Nos preguntará “destination”
    • escribimos el path
    • O el que sea el path de nuestro ORACLE_HOME
    • y damos next
  • Seleccionamos el producto.
    • En este caso el parche.
  • Nos va a pedir correr el archivo root.sh y lo corremos con el usuario root
    • ./root.sh
    • recordemos que se encuentra en la ruta de ORACLE_HOME
  • Damos ok y listo !

OPATCH

Colocamos la carpeta OPatch copiandola desde un servidor que ya la tenga
scp OPatch.tar oracle@ipdestino:/temporal
La colocamos en ORACLE_HOME
Le cambiamos de usuario
chown oracle:oinstall OPatch.tar
La descomprimimos
tar -xvf OPatch.tar
Exportamos lo siguiente
export PATH=$PATH:$ORACLE_HOME/bin
export PATH=$PATH:$ORACLE_HOME/OPatch
POSTPASOS

Instalar los siguientes parches
1) Parche 9119275
2) Parche 9655027
3) Parche 5576565
Se instalarán en ese orden ya que uno es prerequisito del otro.


PARCHE 9119275

Para ver los parches instalados usamos el comando
opatch lsinventory
Nos colocamos en la ruta /ruta_del_parche/9119275
Para ver si pudiera haber conflictos corremos el comando
opatch apply -report
Comenzamos con la aplicación del parche con el comando
opatch apply

Procedemos con el siguiente parche.

Nota:
ERRORES QUE SE PUEDEN PRESENTAR:
1. $ORACLE_HOME/jdk/bin/jar file is missing
2. $ORACLE_HOME/jdk/bin/jar file fails to execute
3. $ORACLE_HOME/jdk/bin/jar file is an invalid symbolic link

PARA SOLUCIONAR EL ERROR
Primero, localizar el archivo en cuestión para crear el link.
Opción 1:
AIX 5L
 opatch apply -jdk /usr/java14

Opción 2:
AIX 5L
ln -s /usr/java14/bin/jar $ORACLE_HOME/jdk/bin/jar





Remove the following line in $ORACLE_HOME/Apache/Apache/conf/httpd.conf, if it exists:
FastCGIServer fcgi-bin/echo -initial-env ORACLE_HOME -initial-env NLS_LANG

Run the following commands as the root user:
chown root $ORACLE_HOME/bin/dbsnmp
chmod 6750 $ORACLE_HOME/bin/dbsnmp

PARCHE 9655027

Para ver si pudiera haber conflictos corremos el comando
opatch apply -report
Comenzamos con la aplicación del parche con el comando
opatch apply

Run the remove_demo.sh script to remove vulnerable Oracle HTTP Server demos. The demos cannot be restored after you run the script. If you expect to use the demos in the future, then manually backup the files in the $ORACLE_HOME/Apache/Apache/fcgi-bin directory before running the script.

To run remove_demo.sh, go to the directory where you downloaded the patch and enter the following commands:
cd 9655027
sh remove_demo.sh

Remove the following line in $ORACLE_HOME/Apache/Apache/conf/httpd.conf, if it exists:
FastCGIServer fcgi-bin/echo -initial-env ORACLE_HOME -initial-env NLS_LANG

Run the following commands as the root user:
chown root $ORACLE_HOME/bin/dbsnmp
chmod 6750 $ORACLE_HOME/bin/dbsnmp

PARCHE 5576565
Para ver si pudiera haber conflictos corremos el comando
opatch apply -report
Comenzamos con la aplicación del parche con el comando
opatch apply

DESPUÉS DE INSTALAR LOS PARCHES

Después de instalar los parches corremos el script
remove_demo.sh

Remover la siguiente linea en $ORACLE_HOME/Apache/Apache/conf/httpd.conf, en caso de que exista:
FastCGIServer fcgi-bin/echo -initial-env ORACLE_HOME -initial-env NLS_LANG

Correr los siguientes comandos con el usuario root:
chown root $ORACLE_HOME/bin/dbsnmp
chmod 6750 $ORACLE_HOME/bin/dbsnmp

INSTALACIÒN DE SOFTWARE ORACLE 9i


Antes que nada nos aseguramos de lo siguiente

Tenemos que asegurarnos de ver que funcione el ambiente gráfico utilizando el comando
xclock
De no funcionar hacemos lo siguiente y volvemos a intentar el comando
export DISPLAY=ip:0   

Con el usuario oracle revisamos los parámetros que se encuentren en etc/security/limits   
ulimit -a
deben estar en menos uno
unlimited

La instalación del software de Oracle 9.2.0.1 se hará usando los instaladores

1.- Con el usuario Root corremos el archivo rootpre.sh
./rootpre.sh
Nos debe marcar que nos encontramos en modo asincrono.

2.- Con el usuario oracle corremos el archivo runInstaller.sh
./runInstaller.sh    
Nos debe lanzar una ventana para comenzar con la instalación.

  • Cuando nos pregunte el nodo a utilizar seleccionamos el nodo:
  • Cuando nos pregunte la ruta del ORACLE_HOME pondremos:
    • la ruta que queramos que sea nuestro home
  • Cuando lleguemos a la parte de seleccionar Database Configuration:
    • Seleccionamos una de las opciones según lo que se desee instalar.
  • Recordemos que el grupo que pondremos debe ser “oinstall”
  • Nos solicitará la ruta del jdk que normalmente es:
    • /usr/java14/jre
  • Nos pedirá seleccionar los discos de instalación e iremos seleccionándolos.
  • Para finalizar se solicitará correr un archivo con el usuario root
    • ./root.sh    
    • que se encuentra en nuestro ORACLE_HOME