- This topic has 1 reply, 2 voices, and was last updated 6 years, 9 months ago by José Laurindo Chiappa.
-
AuthorPosts
-
25 de janeiro de 2018 at 4:27 am #109159Vinicius CasaliParticipant
Boa noite pessoal, minha primeira postagem aqui, meu conhecimento em Oracle é zero, e tenho uma duvida pra tirar com vocês, vou tentar descrever o que ta acontecendo. Na empresa que trabalho eles resolveram mudar de sistema, o sistema novo ele roda com banco de dados da Oracle a instalação dele foi feita em uma vm com Oracle Linux 7.2 nela foram dedicados 4 vcpu e 8gb de ram, como falei para o pessoal do sistema novo que não entendo nada de Oracle contrataram um profissional pra fazer essa instalação, preparação do servidor e também colocar o banco pra rodar, eles instalaram o Oracle XE 11.2, pelo que estava lendo ele vem com limitação pra utilizar 1 nucleo e 1Gb de memoria ram por conta de ser uma versão gratis como o sql server express. Nosso sistema tem entre uns 40 a 50 usuarios trabalhando nele, vendemos peças de reposição então é gerado cotações, pedidos, vendas, emissão de nfe, parte de pcp do setor de engenharia, enfim tem dias que o sistema chega a travar principalmente quando se é gerada a nota fiscal de venda acredito que é o momento que o sistema vai e deve recolher todas as informações que precisa la no banco de dados para gerar a nota e tambem quando se gera algum relatorio maior, dai o sistema fica bastante lento. O servidor Fisico ele é um Hp com 2 processadores six core e5-2620 v3 de 2.4 GHZ, 48GB de ram 2 discos de 300gb em raid 1 para o windows server 2012 r2 e mais 4 discos de 900gb em raid 10 todos os discos são sas de 10k rpm, nesse servidor alem da vm do banco de dados tem mais 4 vms. Ad, File Server, Acesso remoto para thin clients, Openfire para comunicador interno, esta tudo virtualizado com o Hyper-v. Não sei se fui muito extenso mas procurei descrever o que acontece, como é a vm e o que tem de hardware em nosso servidor.
Obrigado desde ja
25 de janeiro de 2018 at 3:05 pm #109160José Laurindo ChiappaModeratorTudo tranquilo ? Sim, vc está COMPLETAMENTE CERTO : o XE é uma versão gratuita, que por isso mesmo possui SEVERAS limitações em performance/escalabilidade : entre elas, realmente só vai poder usar UMA thread por vez em UM núcleo do processador e apenas 1 GB de RAM – assim sendo, se a vm onde roda o banco tem, digamos, acesso a 2 núcleos em cada um dos dois processadores, um dos núcleos e um dos processadores VÃO ficar à toa, sub-utilizados, não sendo acessados nunca pelo XE…. Idem a memória RAM, com quase Absoluta certeza uma máquina PROD num sistema de algum porte (que não seja a lojinha da esquina) DEVERIA ser capaz de ter um cache de dados grande, de trabalhar com múltiplos arrays, etc, o que muito provavelmente o XE não vai conseguir fazer na limitação máxima de 1 GB lá dele : aí dos 8 GB que vc diz que foram dados para a vm Linux onde roda o Oracle, 7 GB ficam lá SUB-UTILIZADOS, à toa… NADA bom pra performance….
E só pra deixar CLARO, vc ** SABE ** que o XE tem um ** LIMITE MÁXIMO DE DADOS **, ou seja, quando o database chegar num tamanho X (11 GB, cfrme exemplificado em https://petesdbablog.wordpress.com/2013/04/07/oracle-11g-xe-and-the-11-gigabyte-limit/) ele simplesmente vai PARAR DE FUNCIONAR, dando um erro “ORA-12953: The request exceeds the maximum allowed database size of 11 GB”, sim sim ??? Esse limite de 11 GB parece ser alto MAS NÃO É, em PROD, com gente entrando dados diariamente, é BEM FÁCIL cair nele….==> Eu ** questiono ** a qualidade técnica e a Idoneidade de um ‘especialista’ Oracle que vai e mete um XE provavelmente SEM te avisar dessas coisas….
Bem, de qquer modo a sua resposta é : SIM, é possível (ninguém pode te garantir SEM uma análise precisa, no local mas é SIM totalmente Possível) que essas limitações naturais do XE estejam interferindo / causando a má performance, sim… A minha Recomendação é que vc contrate um Especialista de verdade em tecnologia Oracle, que vai :
– analisar o quão distante de verdade teu database está dos 11 GB fatais
– analisar se alterações externas ao database (como por exemplo ativar I/O asíncrono e direto no Linux, provavelmente com raw devices já que ASM iirc não é oficialmente suportado com XE) melhoram
– fazer um trace de SQLs E uma análise de carga nesse database na hora que dá a lentidão, para confirmar se os culpados principais são alguns SQLs que possam ser melhorados (criando índices, re-escrevendo-os, como for) OU se então o problema é volume e carga de trabalho mesmo, coisas que só podem ser mitigadas ‘quebrando’ os grandes trabalhos em múltiplas sessões cada uma fazendo um bocadinho, o que demanda PARALLEL SQL e é um Recurso que o XE não tem
==> Só APÓS essa análise vc vai ter uma PROVA se o XE está sendo suficiente ou não, se não estiver aí sim é partir para uma versão PAGA do RDBMS Oracle…
[]s
Chiappa
-
AuthorPosts
- You must be logged in to reply to this topic.