Pular para o conteúdo
Visualizando 13 posts - 1 até 13 (de 13 do total)
  • Autor
    Posts
  • #99296
    rman
    Participante

      Fazer EXP/IMP com o banco online é o procedimento correto ?

      Tenho o seguinte cenario:

      Uma base de produção e uma base de homologação em maquinas diferentes. De tempos em tempos temos que atualizar a base de homologação com os dados da base de produção.

      Problema a base de homologação é importada inconsistente.

      Temos uma tabela chamada GERADORSEQUENCIA, por algum motivo o projeto não utilizou as SEQUENCE do Oracle para geração das PK. Então temos na tabela, o nome da tabela e a sequencia atual. A inconsistência percebida é seguinte: tabela que iniciam com o nome depois de “G” da erro de PK ao tentar inserir um novo registro.

      O EXP exporta as tabelas em ordem alfabetica. O EXP nesta base dura um tempo em horas. Como a base está on line e em produção, todas as tabelas estão sofrendo alterações (INSERT,UPDATE,DELETE).

      Exemplo:

      As 13:00 o exp passa pela tabela GERADORSEQUENCIA, e temos:

      nome_tabela – sequencia
      pedido – 50

      As 14:00 o exp passa pela tabela PEDIDO, e temos:

      codigo – data
      85 – 2011-05-20

      Após importar isso na base de homologação, ao tentar inserir o pedido 51 dará erro de PK, pois os pedidos já estão em 85.

      Perguntando para o felipeg em outro tópico, ele me disse que em EXP/IMP não se aplica Archives…

      #99297
      felipeg
      Participante

        [quote=”rman”:3azzy9q3]Fazer EXP/IMP com o banco online é o procedimento correto ?

        Tenho o seguinte cenario:

        Uma base de produção e uma base de homologação em maquinas diferentes. De tempos em tempos temos que atualizar a base de homologação com os dados da base de produção.

        Problema a base de homologação é importada inconsistente.

        Temos uma tabela chamada GERADORSEQUENCIA, por algum motivo o projeto não utilizou as SEQUENCE do Oracle para geração das PK. Então temos na tabela, o nome da tabela e a sequencia atual. A inconsistência percebida é seguinte: tabela que iniciam com o nome depois de “G” da erro de PK ao tentar inserir um novo registro.

        O EXP exporta as tabelas em ordem alfabetica. O EXP nesta base dura um tempo em horas. Como a base está on line e em produção, todas as tabelas estão sofrendo alterações (INSERT,UPDATE,DELETE).

        Exemplo:

        As 13:00 o exp passa pela tabela GERADORSEQUENCIA, e temos:

        nome_tabela – sequencia
        pedido – 50

        As 14:00 o exp passa pela tabela PEDIDO, e temos:

        codigo – data
        85 – 2011-05-20

        Após importar isso na base de homologação, ao tentar inserir o pedido 51 dará erro de PK, pois os pedidos já estão em 85.

        Perguntando para o felipeg em outro tópico, ele me disse que em EXP/IMP não se aplica Archives…[/quote]

        Rman,

        Eu sugiro usar o RMAN para realizar esta atividade.

        http://download.oracle.com/docs/cd/B193 … m#BGBCEBJG

        Atenciosamente,
        Felipe.

        #99298
        rman
        Participante

          Felipe,

          Digamos que a gerencia não irá aceitar o uso do RMAN como solução, e temos que continuar a fazer por meio do EXP/IMP, tem solução ?

          #99299
          CleitonHanzen
          Participante

            Pq não fazer o export de forma consistente??? Quando gerado de forma consistente, todos os dados “apontarão” para a hora de ínicio do export e todas as alterações de dados posteriores ao ínicio serão “ignoradas” pelo export…

            abs

            #99300
            rman
            Participante

              [quote=”CleitonHanzen”:26kywdym]Pq não fazer o export de forma consistente??? Quando gerado de forma consistente, todos os dados “apontarão” para a hora de ínicio do export e todas as alterações de dados posteriores ao ínicio serão “ignoradas” pelo export…

              abs[/quote]

              Seria simplesmente passar no EXP o parametro CONSISTENT=Y, e o problema está resolvido ?

              #99301
              burga
              Participante

                [quote=”rman”:3j9d66os][quote=”CleitonHanzen”:3j9d66os]Pq não fazer o export de forma consistente??? Quando gerado de forma consistente, todos os dados “apontarão” para a hora de ínicio do export e todas as alterações de dados posteriores ao ínicio serão “ignoradas” pelo export…

                abs[/quote]

                Seria simplesmente passar no EXP o parametro CONSISTENT=Y, e o problema está resolvido ?[/quote]

                Exatamente isso que o CONSISTENT=Y faz… Só fique atento pra ver se o tempo de retenção dos dados é compatível com o tempo do seu export (já que ele dura horas) e se também tem espaço suficiente pra sua UNDO manter eles durante esse período…

                #99302
                CleitonHanzen
                Participante

                  Obrigado pelo complemento Burga…. 😉

                  #99303
                  rman
                  Participante

                    [quote=”burga”:2o3jlo7m][quote=”rman”:2o3jlo7m][quote=”CleitonHanzen”:2o3jlo7m]Pq não fazer o export de forma consistente??? Quando gerado de forma consistente, todos os dados “apontarão” para a hora de ínicio do export e todas as alterações de dados posteriores ao ínicio serão “ignoradas” pelo export…

                    abs[/quote]

                    Seria simplesmente passar no EXP o parametro CONSISTENT=Y, e o problema está resolvido ?[/quote]

                    Exatamente isso que o CONSISTENT=Y faz… Só fique atento pra ver se o tempo de retenção dos dados é compatível com o tempo do seu export (já que ele dura horas) e se também tem espaço suficiente pra sua UNDO manter eles durante esse período…[/quote]

                    Ao utilizar o parametro CONSISTENT=Y posso correr o risco de dar lock nas tabelas e o sistema em produção parar ?

                    #99304
                    CleitonHanzen
                    Participante

                      Opá

                      Não, isso não vai ocorrer. O sistema poderá ser utilizado normalmente enquanto o export estiver sendo executado.

                      #99312
                      vieri
                      Participante

                        CONSISTENT=y

                        ele vai inciar a leitura das tabelas no mesmo horário…
                        com referência no mesmo horário.
                        o problema e que vc terá que ter uma estrutura de undo otimizada.

                        OBJECT_CONSISTENT=y
                        irá colocar os objetos em read only, ai sim lhe trará problemas em produção…

                        o help do export é ótimo… 😛

                        [oracle@admbi1 ~]$ exp help=y

                        Export: Release 10.2.0.3.0 – Production on Mon May 23 14:58:50 2011

                        Copyright (c) 1982, 2005, Oracle. All rights reserved.

                        You can let Export prompt you for parameters by entering the EXP
                        command followed by your username/password:

                         Example: EXP SCOTT/TIGER
                        

                        Or, you can control how Export runs by entering the EXP command followed
                        by various arguments. To specify parameters, you use keywords:

                         Format:  EXP KEYWORD=value or KEYWORD=(value1,value2,...,valueN)
                         Example: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
                                   or TABLES=(T1:P1,T1:P2), if T1 is partitioned table
                        

                        USERID must be the first parameter on the command line.

                        Keyword Description (Default) Keyword Description (Default)

                        USERID username/password FULL export entire file (N)
                        BUFFER size of data buffer OWNER list of owner usernames
                        FILE output files (EXPDAT.DMP) TABLES list of table names
                        COMPRESS import into one extent (Y) RECORDLENGTH length of IO record
                        GRANTS export grants (Y) INCTYPE incremental export type
                        INDEXES export indexes (Y) RECORD track incr. export (Y)
                        DIRECT direct path (N) TRIGGERS export triggers (Y)
                        LOG log file of screen output STATISTICS analyze objects (ESTIMATE)
                        ROWS export data rows (Y) PARFILE parameter filename
                        CONSISTENT cross-table consistency(N) CONSTRAINTS export constraints (Y)

                        OBJECT_CONSISTENT transaction set to read only during object export (N)
                        FEEDBACK display progress every x rows (0)
                        FILESIZE maximum size of each dump file
                        FLASHBACK_SCN SCN used to set session snapshot back to
                        FLASHBACK_TIME time used to get the SCN closest to the specified time
                        QUERY select clause used to export a subset of a table
                        RESUMABLE suspend when a space related error is encountered(N)
                        RESUMABLE_NAME text string used to identify resumable statement
                        RESUMABLE_TIMEOUT wait time for RESUMABLE
                        TTS_FULL_CHECK perform full or partial dependency check for TTS
                        VOLSIZE number of bytes to write to each tape volume
                        TABLESPACES list of tablespaces to export
                        TRANSPORT_TABLESPACE export transportable tablespace metadata (N)
                        TEMPLATE template name which invokes iAS mode export

                        Export terminated successfully without warnings.

                        #99319
                        felipeg
                        Participante

                          [quote=”vieri”:14tycxxo]CONSISTENT=y

                          ele vai inciar a leitura das tabelas no mesmo horário…
                          com referência no mesmo horário.
                          o problema e que vc terá que ter uma estrutura de undo otimizada.

                          OBJECT_CONSISTENT=y
                          irá colocar os objetos em read only, ai sim lhe trará problemas em produção…

                          o help do export é ótimo… 😛

                          [oracle@admbi1 ~]$ exp help=y

                          Export: Release 10.2.0.3.0 – Production on Mon May 23 14:58:50 2011

                          Copyright (c) 1982, 2005, Oracle. All rights reserved.

                          You can let Export prompt you for parameters by entering the EXP
                          command followed by your username/password:

                           Example: EXP SCOTT/TIGER
                          

                          Or, you can control how Export runs by entering the EXP command followed
                          by various arguments. To specify parameters, you use keywords:

                           Format:  EXP KEYWORD=value or KEYWORD=(value1,value2,...,valueN)
                           Example: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
                                     or TABLES=(T1:P1,T1:P2), if T1 is partitioned table
                          

                          USERID must be the first parameter on the command line.

                          Keyword Description (Default) Keyword Description (Default)

                          USERID username/password FULL export entire file (N)
                          BUFFER size of data buffer OWNER list of owner usernames
                          FILE output files (EXPDAT.DMP) TABLES list of table names
                          COMPRESS import into one extent (Y) RECORDLENGTH length of IO record
                          GRANTS export grants (Y) INCTYPE incremental export type
                          INDEXES export indexes (Y) RECORD track incr. export (Y)
                          DIRECT direct path (N) TRIGGERS export triggers (Y)
                          LOG log file of screen output STATISTICS analyze objects (ESTIMATE)
                          ROWS export data rows (Y) PARFILE parameter filename
                          CONSISTENT cross-table consistency(N) CONSTRAINTS export constraints (Y)

                          OBJECT_CONSISTENT transaction set to read only during object export (N)
                          FEEDBACK display progress every x rows (0)
                          FILESIZE maximum size of each dump file
                          FLASHBACK_SCN SCN used to set session snapshot back to
                          FLASHBACK_TIME time used to get the SCN closest to the specified time
                          QUERY select clause used to export a subset of a table
                          RESUMABLE suspend when a space related error is encountered(N)
                          RESUMABLE_NAME text string used to identify resumable statement
                          RESUMABLE_TIMEOUT wait time for RESUMABLE
                          TTS_FULL_CHECK perform full or partial dependency check for TTS
                          VOLSIZE number of bytes to write to each tape volume
                          TABLESPACES list of tablespaces to export
                          TRANSPORT_TABLESPACE export transportable tablespace metadata (N)
                          TEMPLATE template name which invokes iAS mode export

                          Export terminated successfully without warnings.[/quote]

                          Realmente o help quebra um galho!

                          E quando ainda rolam dúvidas a documentação oficial da Oracle é uma ótima fonte de referência,

                          http://download.oracle.com/docs/cd/B105 … 2/ch01.htm

                          Atenciosamente,
                          Felipe.

                          #99627
                          rman
                          Participante

                            Ouvi dizer que ao utilizar o parametro CONSISTENT=y o processo de exportação pode perder a consistencia, e simplesmente é abortado no meio do processo…

                            1 – O que pode causa a perda da consistencia ?
                            2 – Como evitar isso ?

                            #99700
                            felipeg
                            Participante

                              [quote=”rman”:329yu9sp]Ouvi dizer que ao utilizar o parametro CONSISTENT=y o processo de exportação pode perder a consistencia, e simplesmente é abortado no meio do processo…

                              1 – O que pode causa a perda da consistencia ?
                              2 – Como evitar isso ?[/quote]

                              1 – Qualquer fator que impacte no armazenamento da consistência, nesse caso a tablespace de UNDO.

                              Causas mais comuns
                              – Falta de espaço.
                              – Qualquer operação que altere a estrutura das tabelas, como drop/modify column, move table, drop partition, truncate table/partition

                              2 – Acho que vendo as causas já se sabe o que fazer para evitar, por exemplo, monitorar se há alterações de estrutura, monitorar o espaço na tablespace, etc.

                              Atenciosamente,
                              Felipe.

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