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