Pular para o conteúdo
  • Este tópico contém 40 respostas, 6 vozes e foi atualizado pela última vez 17 anos, 1 mês atrás por vieri.
Visualizando 15 posts - 16 até 30 (de 41 do total)
  • Autor
    Posts
  • #85164
    mpvargas
    Participante

      Só por curiosidade:
      Recebi o erro ORA-12514 que diz que excedeu o número de processos, sendo assim, aumentei o número de processos de 150 para 300. Agora estou observando que a quantidade de I/O aumentou consideravelmente… Tem relação uma coisa com outra?

      #85165
      vieri
      Participante

        Po filhão não existe performance mas tem lá desempenho!
        😆 preguiça de ir lá olhar o nome certinho pra vc!! rsrs
        e so subtituir isso que o caminho é aquele que mandei.

        Agora vamos a prática.

        1)Eu de cara aumentaria o session_cache_cursor
        para 40 e open_cursor para 400.

        2)mudaria o filesystem dos redo-logs on line
        para outro filesystem com menos i/o e o aumentaria para
        400Mb.

        3)Verifique como está está tabela MSIGA.CT2010″
        suas tablespaces e índices(se estão em tabps separadas)
        de cara eu mudaria os indexes desta tabela para uma tablespace
        única pra eles, para paralelizar o i/o.Verifique o tamanho de linhas tb.

        4)Como o próprio relatório nos diz
        “cursor_sharing” to “force”. para evitar hard parse pode ser testado.

        5)Veja o plano desta consulta.

        SELECT /+ */ R_E_C_N_O_ FROM SE5010 WHERE E5_FILIAL = ’04’ AND
        E5_RECPAG = ‘R’ AND E5_DATA = ‘20080604’ AND E5_NUMCHEQ = ‘ ‘ AND E5_DOCUMEN = ‘ ‘ AND E5_PREFIXO = ‘GRA’ AND
        E5_NUMERO > ‘DBUWG6’ AND D_E_L_E_T_ != ‘
        ‘ AND (E5_DATA >= ‘20080601’ AND E5_DATA ‘C’ AND INSTR(( ‘PA/RA/BA/VL/V2/DC/D2/JR/J2/MT/M2/CM/C2/AP/EP/PE/RF/IF/CP/TL/ES/TR/DB/OD/LJ/E2/TE/PE ‘ ),( E5_TIPODOC ))>0 AND E5_FILIAL = ’04’) ORDER BY E5_FILIAL,E5_RECPAG,E5_DATA,E5_NUMCHEQ,E5_DOCUMEN,E5_PREFIXO,E5_NUMER
        O,E5_PARCELA,E5_TIPO,E5_CLIFOR,E5_LOJA,E5_SEQ,R_E_C_N_O_

        6)Faça este alerta para os desenvolvedores:
        Investigate application logic to keep open the frequently used cursors. Note that cursors are closed by both cursor close calls and
        session disconnects.

        Implemente estas alterações o nos poste o relátorio novamente em um momento posterior a mudança.

        []s

        #85169
        vieri
        Participante

          7) aumente a PGA_AGREGATE_TARGET para 1500M.

          o ideal é pga com 25% de SGA

          #85170
          vieri
          Participante

            nossa se seu buffer está com 5,7Gb fixado seu sga_target
            está gerenciando apenas os 500mb que sobraram
            caso isso seja real isso é péssimo!!

            8) verifique isso tb !

            #85172
            vieri
            Participante

              9) verifique se seu log_buffer se está com pelo menos 40Mb !l
              e nele que o logWriter
              faz o pool das infos que vão para os redos, seu sistema tem mtas
              transações.

              []s

              #85173
              vieri
              Participante

                10)já tem bastante coisa pra estudar e implementar !!

                não poste aqui dúvidas como alterar parâmetro e redos
                isso tem a rodo no google, poste a saída do novo addm com as alterações feitas.

                abraços e boa sorte !

                #85175
                mpvargas
                Participante

                  Pô Vieri
                  Muito Obrigado mesmo
                  Vou implementar e depois te dou um retorno
                  Valeu pelas dicas e bom fim de semana.

                  #85183
                  vieri
                  Participante

                    no aguardo do seu retorno com o novo relatorio !!

                    []s

                    #85186
                    Rodrigo Almeida
                    Participante

                      Me tira uma dúvida, o owner MSIGA é do ERP MicroSiga?

                      #85191
                      mpvargas
                      Participante

                        Sim Rodrigo
                        Esse owner MSIGA é do ERP Microsiga
                        Já sofreu muito com esse ERP?
                        hehehe

                        #85195
                        Ishii
                        Participante

                          Olá,

                          Rapaz… trabalho há anos com ERPs e com o MSiga no Oracle SEMPRE tive problemas de performance…. o fato das tabelas serem sempre CHAR a criação de índices é complexa com a Adm do espaço, como tb não há chave (a não ser que vc crie algumas na mão…) a utilização do RECNO ou do fantástico d_e_l_e_t somente aumentam mesmo os I/O’s isso sem falar do Binds que não são usados e com isso fica uma análise individual às vezes da mesma consulta….

                          Infelizmente não há muita alternativa mesmo senão ficar analisando caso a caso e resolvendo (apagando incêndios mesmo) eventualmente.

                          Em um cliente a substituição do ERP por um nacional desenvolvido por um pessoal que foi da Unicamp resultou nos seguintes pontos:

                          Redução do Armazenamento de Dados (cerca de 70% de redução de espaço)
                          Processos (fechamento Contábil – antes 10 horas atualmente 15 minutos)
                          Processos de Fechamento de Ativo Imobilizado – Antes 180 horas (com redução de prioridade para não afetar o resto do ERP) e atualmente 35 minutos
                          I/O’s – redução de 67% em horários do pico

                          Fora outros benefícios associados que nem bastam mencionar. Nada como quem sabe fazer direito…

                          E para completar:

                          Acho que o problema está mais na leitura da SE5010 que na CT2010, mas coloque os resultados aqui que vamos dar uma olhada.

                          []s Ishii

                          #85196
                          Rodrigo Almeida
                          Participante

                            Marcelo,

                            Perguntei se era MicroSiga justamente pelos problemas que o Ishii acabeo de responder. Já peguei esse danado 1 vez, e é horrível.

                            Eles não sabem modelar, para início, só existe praticamente 2 data types para eles, CHAR e NUMBER. Horrível.

                            Eles não usam o dicionário do Oracle, usam um dicionário próprio e onde faz a consistência dos dados… por isso que eles falam que o ERP é totalmente multi plataforma, pq não usa as particularidades e recursos específicos de cada banco, o mesmo modelo no Oracle, eles usam para o SQL Server, DB2, SYBASE e etc…

                            E cara! MicroSiga terá ETERNOS problemas de performance, ETERNOS MESMO!! O que nós conseguiamos fazer é na camada do banco de dados, mudar diversos recursos, gerenciamento de tablespaces, tabelas, PRINCIPALMENTE reconstruir alguns índices e até mesmo o seu tipo, com o Ishi disse, colocar PKs para melhorar e etc…

                            Como ele é tudo diferente, tu fica muito amarrado na aplicação, e se mandar para a fábrica da MicroSiga realizar alguma coisa, sua empresa paga uma fortuna por customizações… $$$$$$$

                            O TEMA performance, tu ficará mestre com ele.

                            Abraços,
                            Rodrigo Almeida

                            #85200
                            mpvargas
                            Participante

                              É isso mesmo companheiros,
                              Já fiz de tudo um pouco para ver se melhora, mas é bastante complicado… além de todos os detalhes mencionados, o antigo gerente ainda me fez um favor de comprar um servidor sem me consultar, com isso comprou um servidor com 4 Hd’s sendo que a controladora não aceita RAID 10 (que é o mais recomendado), com isso além de todos os problemas, não consigo distribuir os processos, como por exemplo colocar os logs num disco separado. Mas uma dificuldade para diminuir o I/O.
                              Antes agente usava o DB2 e depois mudou pro Oracle, o servidor é 64 bits mas o sistema da microsiga não funciona em 64bits, só problemas, hehehe.
                              A tabela SE5010 é particionada. Para qualquer sistema isso é bom, mas para o microsiga eu sinceramente não sei… Será que pela forma como o ERP funciona, não seria melhor eu tirar o particionamento dessa tabela?
                              Já fiz diversas mudanças, mas sempre ganha de um lado e perde do outro.
                              O Sistema só traz facilidade com relação ao gerenciamento de usuários, como ele concentra tudo num usuário só, fica fácil gerenciar as tabelas, backups, etc. Em compensação quando preciso saber qual usuário está rodando determinado query, NÃO CONSIGO, afinal todo mundo acessa pelo usuário MSIGA.
                              E ainda tem o tal do TopConnect que é um verdadeiro funil e acaba sendo mais um gargalo.
                              Trabalho com Oracle a pouco tempo, gostaria de ver o funcionamento do banco em outro sistema, gerenciar mais usuários, realmente “meter a mão na massa”, porque esse ERP acaba deixando agente de mãos atadas. E as queries são um verdadeiro LIXO.
                              Foi bom ouvir esse depoimento de vocês que são profissionais experientes, eu já estava me sentindo um incompetente por não conseguir resolver os problemas de performance, apesar de já ter conseguido algumas melhoras, principalmente pela ajuda da galera do Forum.
                              Obrigado pela ajuda

                              #85205
                              vieri
                              Participante

                                mpvargas ,

                                conseguiu implementar as alterações ?

                                []s

                                #85207
                                mpvargas
                                Participante

                                  Vieri,
                                  ainda não implementei as alterações, é que para alguns parâmetros eu preciso reiniciar a instância. Posso responder algumas questões.

                                  1) Eu de cara aumentaria o session_cache_cursor para 40 e open_cursor para 400.
                                  R: Atualizei para esses valores, mas preciso parar a instancia para efetivar.

                                  2)mudaria o filesystem dos redo-log…
                                  R: Meu servidor tem 4Hds em RAID 5, e só tem o filesystem principal (/)

                                  3)Verifique como está está tabela MSIGA.CT2010″ suas tablespaces e índices(se estão em tabps separadas)
                                  R: Esta tabela está numa tablespaces separada e seus índices numa outra tablespace exclusiva.

                                  4)Como o próprio relatório nos diz “cursor_sharing” to “force”. para evitar hard parse pode ser testado.
                                  R: Aí fica uma grande dúvida. Já li diversas pessoas comentando que tiveram sérios problemas quando alteraram esse parâmetro. Será que é seguro fazer essa alteração?

                                  5) e 6) O sistema é um ERP da Microsiga e tem coisas que não são possíveis de alterar.

                                  7) Vou alterar, apesar da PGA ter chegado no máximo a 400MB

                                  8) Eu uso SGA_Target e faço a monitoração com o Spotlight da Quest. No momento a SGA está 6,21Gb e o Buffer Cache está 5,81Gb. Sobram então 400Mb. O que eu devo fazer, configurar os parâmetros manualmente?

                                  9) O Log_Buffer está com 14Mb, devo passar para 40Mb?

                                  Obrigado pela ajuda.

                                Visualizando 15 posts - 16 até 30 (de 41 do total)
                                • Você deve fazer login para responder a este tópico.