- Este tópico contém 2 respostas, 2 vozes e foi atualizado pela última vez 6 anos, 2 meses atrás por José Laurindo Chiappa.
-
AutorPosts
-
26 de setembro de 2018 às 11:00 pm #109416airoospParticipante
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
27 de setembro de 2018 às 5:00 pm #109417José Laurindo ChiappaModeradorBlz ? 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
27 de setembro de 2018 às 5:10 pm #109418José Laurindo ChiappaModeradorAh, 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
-
AutorPosts
- Você deve fazer login para responder a este tópico.