- Este tópico contém 9 respostas, 2 vozes e foi atualizado pela última vez 11 anos atrás por rman.
-
AutorPosts
-
18 de novembro de 2013 às 3:39 pm #106123maperesParticipante
Caros(as)
Estou com um problema no meu ambiente de produção conforme abaixo :
Tenho dois nós – RAC
A aplicação usa o load balance e failover nesses dois nós.O problema é que, em um dos nós há uma sobrecarga devido ao número de conexões estarem indo mais para esse nó do que pro outro.
A proporção é de 5 vezes mais conexões nesse nó, considerando que, a média de conexões diárias nessa aplicação é de 800 conexões.
Meu ambiente hoje é :
Red Hat 6
Oracle 11gPor favor, alguém tem alguma dica do que pode estar havendo.
Agradeço
Marco Aurelio
18 de novembro de 2013 às 5:00 pm #106124rmanParticipante@maperes
Como está sendo feito a conexão? É via TNSNAMES.ora? Posta o conteúdo.
Você está usando quantos ips scan? Esses ips estão registrado em um dns?
18 de novembro de 2013 às 5:07 pm #106125maperesParticipante@rman
Obrigado pelo seu retorno.
A conexão é feita por php, na aplicação, utilizando o serviço abaixo :
CPQRAC =
(DESCRIPTION =
(FAILOVER = ON)
(LOAD_BALANCE = ON)
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.21.1.151)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.21.1.153)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = CPQ)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)
)
)
)Estão registrados no dns. Usamos dois ips virtuais.
18 de novembro de 2013 às 5:18 pm #106126maperesParticipante@rman
o conteúdo do arquivo hosts.
Do not remove the following line, or various programs
that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
#::1 localhost6.localdomain6 localhost6
#172.21.1.151 nolan.ima.sp.gov.br nolanPublic
172.21.1.151 nolan.ima.sp.gov.br nolan nolan.localdomain
172.21.1.153 nolde.ima.sp.gov.br noldePrivate
10.10.10.1 nolan-priv.localdomain nolan-priv
10.10.10.2 nolde-priv.localdomain nolde-privVirtual
172.21.1.154 nolan-vip.localdomain nolan-vip
172.21.1.155 nolde-vip.localdomain nolde-vipSCAN
172.21.1.156 rac-scan.localdomain rac-scan
18 de novembro de 2013 às 5:22 pm #106127maperesParticipante@rman
O conteúdo do serviço definido via aplicação é o abaixo :
define (“TNS_BANCO”, “(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.21.1.151)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.21.1.153)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = CPQ)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)
)
))”);define (“RACCPQ”,TNS_BANCO);
?>18 de novembro de 2013 às 5:31 pm #106128rmanParticipante@maperes
Posta o resultado:
SELECT *
FROM V$VERSION;
18 de novembro de 2013 às 6:08 pm #106129maperesParticipante@rman
segue o resultado:
SQL> SELECT *
FROM V$VERSION; 2BANNER
Oracle Database 11g Release 11.2.0.1.0 – 64bit Production
PL/SQL Release 11.2.0.1.0 – Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 – Production
NLSRTL Version 11.2.0.1.0 – Production18 de novembro de 2013 às 6:52 pm #106130rmanParticipante@maperes
Adiantando, no tnsnames.ora a conexão deve ser feita pelo endereço do scan, exemplo: rac-scan.ima.sp.gov.br, não pelos IPS públicos.
rac-scan.ima.sp.gov.br é o endereço dos ips scan?
Esse endereço deve retornar alternadamente 2 ips. Verifique com:
$ nslookup rac-scan.ima.sp.gov.br
Repare que ao executar varias vezes a ordem dos ips devem se alternar.
Considerando que o endereço seja realmente o rac-scan.ima.sp.gov.br. O seu tnsnames.ora deve ser configurado da seguinte maneira:
CPQRAC =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan.ima.sp.gov.br)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = CPQ)
)
)
Aqui está configurado desta maneira, e o balanceamento está ok. Repare que não foi colocado nada de FAILOVER e LOAD_BALANCE.
Só lembrando já existe a versão 11.2.0.4.0.
Outra coisa, achei estranho no seu /etc/hosts ter:
SCAN
172.21.1.156 rac-scan.localdomain rac-scan
Creio que não deveria estar no /etc/hosts e sim do DNS.
18 de novembro de 2013 às 7:54 pm #106131maperesParticipante@rman
O resultado de :
nslookup rac-scan.ima.sp.gov.br
é :
Server: 172.16.100.11
Address: 172.16.100.11#53Name: rac-scan.ima.sp.gov.br
Address: 172.21.1.156nos dois nós.
Pelo que entendi, o serviço a ser utilizado seria :
CPQRAC =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan.ima.sp.gov.br)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = CPQ)
)
)ao inves de :
define (“TNS_BANCO”, “(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.21.1.151)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.21.1.153)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = CPQ)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)
)
))”);define (“RACCPQ”,TNS_BANCO);
?>Seria, a principio isso?
18 de novembro de 2013 às 9:01 pm #106132rmanParticipante@maperes
O dns está retornando apenas 1 IP. Se você utilizou 2 IPs para scan, falta registrar o segundo IP.
Ao registrar o segundo IP do scan no DNS, remova o ip do /etc/hosts.
-
AutorPosts
- Você deve fazer login para responder a este tópico.