Pular para o conteúdo
Visualizando 13 posts - 16 até 28 (de 28 do total)
  • Autor
    Posts
  • #102189
    mpvargas
    Participante

      Meu SO é LINUX CentOs 5

      Tenho 8 discos de 140GB distribuidos em 4 filesystems com RAID 1 (Espelhados) e separei conforme abaixo

      filesystem / => instalação do Oracle, tbs de sistema, controlfile1
      filesystem /dados => tbs de dados, controlfile2
      filesystem /backup => tbs de indices, bkp export, controlfile3
      filesystem /logs => redo logs, archive logs, bkp rman

      #102192
      mpvargas
      Participante

        Outro detalhe importante…
        as minhas principais tabelas são particionadas (range de data)

        #102193
        mpvargas
        Participante

          Fábio

          enviei pra vc um novo relatório AWR referente a coleta de dados de hoje das 9 às 10h

          #102197
          fabiogalera
          Participante

            Agora sim, parece ser mais real esse AWR.

            Realmente o seu problema é os FULL SCAN, nesse relatório mostra que 54% da Base de Dados esperou por “db file scattered read”, que é acesso full em tabelas.

            MSIGA.SE5010 é a sua tabela mais utilizada, especificamente a partição PT01 … ela corresponde a 66% das Leituras Físicas e 50% das lógicas;

            O que você pode fazer:
            – Tirar um relatório ASH para esse mesmo periodo, para identificar quais queries tiveram esse evento;
            – Utilizar paralelismo nessa tabela, mudando o parâmetro DEGREE para mais de 1;
            – 30% dos cache buffer chains estão recebendo “miss”, verifique os atributos das tablespaces, como EXTENT MANAGEMENT e SEGMENT SPACE MANAGEMENT, para todas as tablespace e posta aqui;
            – Execute abaixo:


            select filetype_name, asynch_io, access_method, retries_on_error
            from v$iostat_file;

            Aguardo resposta =)

            #102204
            mpvargas
            Participante

              O que você pode fazer:
              – Tirar um relatório ASH para esse mesmo periodo, para identificar quais queries tiveram esse evento;

              Fábio, essa tabela é de movimentação bancária então queries nessa tabela rodam todo o tempo

              • Utilizar paralelismo nessa tabela, mudando o parâmetro DEGREE para mais de 1;

              Esse parâmetro é possível mudar pra cada tabela ou tem que ser pra instancia

              • 30% dos cache buffer chains estão recebendo “miss”, verifique os atributos das tablespaces, como EXTENT MANAGEMENT e SEGMENT SPACE MANAGEMENT, para todas as tablespace e posta aqui;

              Com relação a query eu não encontrei a view ou tabela… pesquisei na dba_views e na dba_tables mas não encontrei

              #102207
              fabiogalera
              Participante

                1-) Gere o ASH Report, apenas para termos mais análises (use o mesmo periodo)


                @?/rdbms/admin/ashrpt

                2-) Eu disse parâmetro, na verdade é atributo das Tabelas. Você consegue setar que o Oracle trabalhe com Paralelismo para todas a queries que consultam a específica tabela.

                obs: não use isso ainda !!! Aguarde um pouco.


                ALTER TABLE

                <

                table> PARALLEL (DEGREE 8);

                3-) O que te pedi esta na DBA_TABLESPACES

                set lines 200
                col tablespace_name for a30
                select tablespace_name, BLOCK_SIZE, STATUS, SEGMENT_SPACE_MANAGEMENT, EXTENT_MANAGEMENT from dba_tablespaces;

                4-) Me mande o retorno disso:


                select filetype_name, asynch_io, access_method, retries_on_error
                from v$iostat_file;

                #102214
                mpvargas
                Participante

                  Fábio
                  mandei pra vc os relatórios por email

                  mas esse deu erro

                  select filetype_name, asynch_io, access_method, retries_on_error
                  from v$iostat_file;

                  Error starting at line 2 in command:
                  select filetype_name, asynch_io, access_method, retries_on_error
                  from v$iostat_file
                  Error at Command Line:3 Column:5
                  Error report:
                  SQL Error: ORA-00942: table or view does not exist
                  00942. 00000 – “table or view does not exist”
                  *Cause:
                  *Action:

                  #102235
                  fabiogalera
                  Participante

                    show parameter async
                    show parameter filesystem

                    CentOS é baseado em RHEL:

                    ldd $ORACLE_HOME/bin/oracle | grep libaio

                    nm $ORACLE_HOME/bin/oracle | grep io_getevent

                    obs: caso esse ultimo comando venha a não retornar o prompt, CRTL+C imediatamente =)

                    #102260
                    mpvargas
                    Participante

                      SQL> show parameter async

                      NAME TYPE VALUE


                      disk_asynch_io boolean TRUE
                      tape_asynch_io boolean TRUE

                      SQL> show parameter filesystem

                      NAME TYPE VALUE


                      filesystemio_options string none

                      $ ldd $ORACLE_HOME/bin/oracle | grep libaio
                      libaio.so.1 => /usr/lib64/libaio.so.1 (0x0000002a96f2c000)

                      $ nm $ORACLE_HOME/bin/oracle | grep io_getevent
                      w io_getevents@@LIBAIO_0.4

                      #102261
                      fabiogalera
                      Participante

                        Executa também

                        mount

                        e nos cola o resultado.

                        #102264
                        mpvargas
                        Participante

                          aí está

                          #mount

                          /dev/cciss/c0d0p1 on / type ext3 (rw)
                          none on /proc type proc (rw)
                          none on /sys type sysfs (rw)
                          none on /dev/pts type devpts (rw,gid=5,mode=620)
                          usbfs on /proc/bus/usb type usbfs (rw)
                          /dev/cciss/c0d1p1 on /dados type ext3 (rw)
                          none on /dev/shm type tmpfs (rw)
                          /dev/cciss/c0d2p1 on /logs type ext3 (rw)
                          /dev/cciss/c0d3p1 on /backup type ext3 (rw)
                          none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
                          sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
                          nfsd on /proc/fs/nfsd type nfsd (rw)

                          #102265
                          fabiogalera
                          Participante

                            alter system set filesystemio_option = setall;

                            Lembre-se de setar isso no parâmetro de inicialização. Isso ajudará nas leituras físicas da Base de Dados, abilitando leituras assincronas (paralelas).

                            É um parâmetro dinâmico, porém, eu aconselho a fazer um reboot na Base de Dados depois de alterar esse parâmetro.

                            Depois de alterado, nos diga se ocorreu alguma melhoria.

                            #102312
                            mpvargas
                            Participante

                              Fábio,
                              ainda não alterei o parâmetro pela dificuldade de conseguir uma “janela” para reiniciar o banco… mas assim que o fizer eu posto aqui no tópico
                              muito obrigado pela ajuda

                              FELIZ NATAL E UM ANO NOVO DE MUITO SUCESSO

                              Abs

                              Marcelo Vargas

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