Pular para o conteúdo
  • This topic has 2 replies, 2 voices, and was last updated 6 years, 1 month ago by Avatar photoJosé Laurindo Chiappa.
Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #109416
    Avatar de airoospairoosp
    Participant

      Boa tarde pessoal,

      Estou fazendo uns testes em ambiente de homologação para criar um repositório, e durante os testes percebi que o campo TIMESTAMP da view DBA_OBJECTS foi atualizado para algumas procedures. O detalhe é que o horário de atualização foi as 3 da manhã, sendo que o ambiente não é utilizado por ninguém fora do horário do expediente.
      Pesquisando sobre alguns processos do banco, vi que nas views dba_autotask_ … há jobs que são executados pelo Oracle automaticamente, mas não encontrei informações sobre objetos inválidos.
      Utilizo o banco 11g R2, se alguém tiver mais informações sobre os processos que o banco executa, agradeço.

      Obrigado.

      Airton

      #109417
      Avatar photoJosé Laurindo Chiappa
      Moderator

        Blz ? Então, a primeira resposta é : cfrme https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1150834842942 nos explica, essa coluna é usada ** INTERNAMENTE ** pelo RDBMS, para registrar dependências que foram alteradas : com certeza, se vc viu essa coluna ser alterada, ALGUMA COISA mudou, seja no stored pl/sql em si, seja (o que é *** muuuuito mais provável ***) num dos Objetos dos quais esse stored PL/SQL depende….Consulte a DBA_DEPENDENCIES pra esse cara e vc vai ver quais são eles…. O ponto porém é : se vc quer saber quando O OBJETO PROGRAMÁTICO em si foi alterado, vc olha é na coluna LAST_DDL_TIME, e ** não ** na TIMESTAMP, sim sim sim ???

        O segundo ponto que vc cita é :

        “Pesquisando sobre alguns processos do banco, vi que nas views dba_autotask_ … há jobs que são executados pelo Oracle automaticamente…”

        Bom, SAIBA que há os mais diversos tipos de JOBs que um database Oracle pode executar : há os jobs ‘internos’ de manutenção, criados e mantidos pela própria Oracle (vc os consulta pelas views DBA_AUTOTASK_xxx, sim) MAS há também os JOBs criados/programados por um DBA/usuário, para o banco executar automaticamente num determinado schedule/frequência, vc os consulta nas views DBA_JOBS (para jobs criados com a interface de DBMS_JOBs) e na view DBA_SCHEDULER_JOBS (para jobs criados com a interface de SCHEDULERs, via DBMS_SCHEDULER)…

        , mas não encontrei informações sobre objetos inválidos.”

        Veja vc : um objeto INVÁLIDO é um objeto que NÂO TEM COMO FUNCIONAR MAIS (por exemplo, um sinônimo apontando prum objeto que não existe mais, um programa PL/SQL nomeado que tem um erro e não pode ser compilado por causa desse erro, algo assim) : vc consulta eles na DBA_OBJECTS , pela coluna STATUS contendo um valor diferente de VALID…
        No caso de JOBs (deve ser sobre ISSO a sua dúvida), EVIDENTEMENTE um job que está desligado/desabilitado OU que deu erro na execução, OU que está ‘quebrado’ por qquer motivo vc olha é nas VIEWS DE JOBS que indiquei, ok ?? Em especial, na DBA_JOBS temos as colunas LAST_DATE, BROKEN e FAILURES que dizem se/quando o job executou e se ele tá quebrado/invalidado/impossível de executar ou não, E pra scheduler JOBs as informações vão estar divididas/detalhadas em várias Views DBA_SCHEDULER_xxx ….

        Okdoc ?? Falando de ‘processos’ definidos em termos de JOBs executados INTERNAMENTE no RDBMS, essas são as fontes de informação : nem preciso dizer, há MUITOS outrs processos que são executados periodicamente/automaticamente PELOS BINÁRIOS ORACLE, externamente ao database, como o PMON, SMON, ARCH, etc, etc, etc….

        []s

        Chiappa

        #109418
        Avatar photoJosé Laurindo Chiappa
        Moderator

          Ah, detalhe importante : vc fala em repositório, e um ** REPOSITÓRIO ** normalmente é um database Oracle que vai ser usado não para armazenar dados de usuários finais, mas sim para armazenar dados de um APLICATIVO – tanto OEM quanto Designer quanto RMAN e muuuuitos outros programas podem necessitar de um REPOSITÓRIO….
          Evidentemente, via de regra esses programas externos executam coisas dentro do database Oracle que é o repositório dele TANTO diretamente QUANTO criando algum job, OU MESMO podem criar jobs EXTERNOS ao database (via CRON, digamos) que conectam ao banco e executam o que precisam : NEM PRECISO DIZER que se for um job externo OU se for uma rotina lá na aplicação que conecta ao banco e roda por conta própria um PL/SQL vc *** Não Vai Encontrar NENHUMA *** indicação disso dentro do database Oracle – só e apenas SE a aplicação cria um job no banco Oracle é que vc vai ver informaçãoes registradas no banco Oracle sobre a Execução….

          []s

          Chiappa

        Viewing 3 posts - 1 through 3 (of 3 total)
        • You must be logged in to reply to this topic.
        plugins premium WordPress