[ 2012-01-01 ]

Script para testear el balanceo de conexiones en un RAC (9i-10g)

El siguiente script lo utilizo para testear el balanceo entre nodos de un RAC.



export NUM=1
export CANT=$2
let CANT=CANT-1
while [ $NUM -le $CANT ]; do
    let NUM=$NUM+1
    sqlplus  -s user/password@$1<<!
    set heading off
    select '$NUM)  Instancia: '||instance_name from v\$instance;
    exit
!
done


Se invoca pasandole el nombre de alias "tnsnames" y la cantidad de veces que intenta establecer la conexión.


[oracle@server1 scripts]$ ./testcon.sh ORCL 20

testcon.sh [SID] [veces]



La salida que muestra es la siguiente:
(probado en bases RAC 9i y 10g):


1)  Instancia: ORCL2

2)  Instancia: ORCL1


3)  Instancia: ORCL1


4)  Instancia: ORCL2


5)  Instancia: ORCL1


6)  Instancia: ORCL2


7)  Instancia: ORCL1


8)  Instancia: ORCL2


9)  Instancia: ORCL1


10)  Instancia: ORCL2


11)  Instancia: ORCL1


12)  Instancia: ORCL2


13)  Instancia: ORCL1


14)  Instancia: ORCL2


15)  Instancia: ORCL1


16)  Instancia: ORCL2


17)  Instancia: ORCL2


18)  Instancia: ORCL2


19)  Instancia: ORCL2


20)  Instancia: ORCL2



La entrada en el TNSNAMES.ora es:

ORCL = 
  (DESCRIPTION= 
    (LOAD_BALANCE=ON)
    (FAILOVER=ON)
    (ADDRESS=(PROTOCOL=TCP)(HOST=server01)(PORT=1521))
    (ADDRESS=(PROTOCOL=TCP)(HOST=server02)(PORT=1521)) 
    (CONNECT_DATA=
      (SERVICE_NAME=ORCL)
      (FAILOVER_MODE=
          (TYPE=SELECT) 
          (METHOD=BASIC)
          (RETRIES=20)
          (DELAY=15)
      )
    )
  )

No hay comentarios:

Publicar un comentario