tag:blogger.com,1999:blog-5738872960415708519.post2379776176922651957..comments2024-01-29T06:38:46.574-03:00Comments on Blog do DBA/Instrutor Fábio Prado: Recuperando a versão anterior de objetos PL/SQL (Stored Procedures, Functions etc.)Fábio Pradohttp://www.blogger.com/profile/05498446367081034213noreply@blogger.comBlogger14125tag:blogger.com,1999:blog-5738872960415708519.post-41276194607668197132018-02-02T15:30:36.284-02:002018-02-02T15:30:36.284-02:00Valeu Prado!!
Usei o seu exemplo e consegui trazer...Valeu Prado!!<br />Usei o seu exemplo e consegui trazer o resultado que eu queria!<br />Muito obrigado pela ajuda!!!Diego Andradehttps://www.blogger.com/profile/02381021870174605884noreply@blogger.comtag:blogger.com,1999:blog-5738872960415708519.post-84854491151469361342018-02-02T15:23:20.959-02:002018-02-02T15:23:20.959-02:00Exemplo:
select *
from DBA_SCHEDULE...Exemplo:<br /> select * <br /> from DBA_SCHEDULER_JOBS as of timestamp <br /> TO_TIMESTAMP('02/02/2017 14:00:00', 'dd/mm/yyyy hh24:mi:ss')<br /> where JOB_name='JOB_TESTE' ;Fábio Pradohttps://www.blogger.com/profile/05498446367081034213noreply@blogger.comtag:blogger.com,1999:blog-5738872960415708519.post-38212058153914034792018-02-02T14:47:42.405-02:002018-02-02T14:47:42.405-02:00Dá sim Diego!
Para Scheduler Jobs ao invés de faz...Dá sim Diego!<br /><br />Para Scheduler Jobs ao invés de fazer um select na visão dba_source use a visão dba_scheduler_jobs e informe uma data/hora antes dela ser excluída. Você irá recuperar a linha dela na visão dba_scheduler_jobs que irá conter todos os dados necessários para você recriar o Scheduler Job usando a proc DBMS_SCHEDULER.CREATE_JOB, ok?<br /><br />[]sFábio Pradohttps://www.blogger.com/profile/05498446367081034213noreply@blogger.comtag:blogger.com,1999:blog-5738872960415708519.post-52573747905688156632018-02-02T14:28:01.441-02:002018-02-02T14:28:01.441-02:00Tudo bem Prado?
Você sabe me dizer se da pra usar ...Tudo bem Prado?<br />Você sabe me dizer se da pra usar esse recurso pra recuperar os dados de um scheduler job que foi excluído?Diego Andradehttps://www.blogger.com/profile/02381021870174605884noreply@blogger.comtag:blogger.com,1999:blog-5738872960415708519.post-4686462999937652702016-12-26T18:40:24.753-02:002016-12-26T18:40:24.753-02:00Obrigado pelo feedback.
[]sObrigado pelo feedback.<br />[]sFábio Pradohttps://www.blogger.com/profile/05498446367081034213noreply@blogger.comtag:blogger.com,1999:blog-5738872960415708519.post-77190062944334932252016-12-26T18:17:57.356-02:002016-12-26T18:17:57.356-02:00Bacana Fabio ótimo post.
Já utilizado . Recomenda...Bacana Fabio ótimo post. <br />Já utilizado . Recomendado .MOzZaReLLAhttps://www.blogger.com/profile/11394293397542351266noreply@blogger.comtag:blogger.com,1999:blog-5738872960415708519.post-13655607539420976632015-01-01T15:49:50.553-02:002015-01-01T15:49:50.553-02:00Matheus, obrigado pela sugestão e ela contribuirá ...Matheus, obrigado pela sugestão e ela contribuirá muito com o artigo, pois nesses tipos de discussões as 2 partes sempre aprendem um pouco mais!<br /><br />Eu discordo sobre manter o repositório fora do BD. Um backup (físico ou lógico) feito via DataPump ou RMAN, por exemplo, já cumprem esse papel p/ permitir recuperações do BD no caso de falhas. Não quero o repositório fora do BD, pois o papel dele é me ajudar a fazer recuperações da versão anterior dos objetos de forma mais rápida e mais fácil, OK?<br /><br />[]sFábio Pradohttps://www.blogger.com/profile/05498446367081034213noreply@blogger.comtag:blogger.com,1999:blog-5738872960415708519.post-39772525606326900142014-12-31T11:00:51.324-02:002014-12-31T11:00:51.324-02:00Oi Fábio! Realmente sua implementação é melhor do ...Oi Fábio! Realmente sua implementação é melhor do que manter diversos arquivos separados. Mas, se você me permite, gostaria de deixar uma sugestão: Manter o repositório fora do banco de dados, para o caso de falhas.<br /><br />Abraço, e um ótimo 2015!Matheus Safraidhttp://dirtybuffer.wordpress.com/noreply@blogger.comtag:blogger.com,1999:blog-5738872960415708519.post-18120942421326997922014-12-30T15:47:15.259-02:002014-12-30T15:47:15.259-02:00Matheus, primeiramente obrigado pelo comentário.
...Matheus, primeiramente obrigado pelo comentário. <br /><br />Leia o artigo que eu citei no item 2: http://www.fabioprado.net/2012/06/repositorio-de-metadados-no-oracle.html. Lá eu cito este método que vc recomendou e faço algo muito melhor!<br /><br />[]s<br /><br />Fábio Pradohttps://www.blogger.com/profile/05498446367081034213noreply@blogger.comtag:blogger.com,1999:blog-5738872960415708519.post-57178290432627382722014-12-30T14:58:22.277-02:002014-12-30T14:58:22.277-02:00Oi Fábio! Gostei bastante do seu artigo, e gostari...Oi Fábio! Gostei bastante do seu artigo, e gostaria de complementar com uma sugestão que ficaria entre os itens 1 e 2 que você enumerou! É uma configuração tranquila de se fazer e que pode ficar à cargo totalmente do DBA: Usando impdp com a opção SQLFILE.<br /><br />Se o DBA possuir o arquivo de dump gerado pelo DataPump com a versão da procedure que ele quer, basta usar o impdp apontando para um SQLFILE para gerar o arquivo SQL de criação do banco. Nesse arquivo teremos os códigos, tais como estavam no momento do dump.<br /><br />Outra coisa legal que dá pra fazer é colocar esse impdp num script diário que crie o dump do banco e logo em seguida crie o arquivo de SQL, compacte e mantenha num local seguro. O arquivo de dump pode ser mantido por 24h por segurança ou ser removido logo em seguida. <br /><br />Outra opção, caso não haja espaço ou janela para o dump, é usar o expdp com a opção CONTENT=METADATA_ONLY e manter os dumpfiles que serão gerados sem o "recheio". :) <br /><br />Eu reconheço que a melhor prática realmente é usar um versionador, mas caso não seja possível o DBA consegue "dar seus pulos" pra garantir que o código SQL do banco de dados vai permanecer disponível em caso de problemas.<br /><br />Grande abraço!Matheus Safraidhttp://dirtybuffer.wordpress.com/noreply@blogger.comtag:blogger.com,1999:blog-5738872960415708519.post-45349273376586677502014-12-30T11:10:18.483-02:002014-12-30T11:10:18.483-02:00Benê, obrigado pelo comentário!
[]sBenê, obrigado pelo comentário!<br />[]sFábio Pradohttps://www.blogger.com/profile/05498446367081034213noreply@blogger.comtag:blogger.com,1999:blog-5738872960415708519.post-46594056564839390462014-12-30T09:19:08.803-02:002014-12-30T09:19:08.803-02:00Fabio,
Excelente artigo! Muito bom o conteúdo e su...Fabio,<br />Excelente artigo! Muito bom o conteúdo e super didático! \o/ \o/Anonymoushttps://www.blogger.com/profile/05927897777537553898noreply@blogger.comtag:blogger.com,1999:blog-5738872960415708519.post-76189487823754451682014-12-29T18:29:41.722-02:002014-12-29T18:29:41.722-02:00Emerson, obrigado pelo seu comentário!
[]sEmerson, obrigado pelo seu comentário!<br />[]sFábio Pradohttps://www.blogger.com/profile/05498446367081034213noreply@blogger.comtag:blogger.com,1999:blog-5738872960415708519.post-4345184831265007292014-12-29T18:23:13.046-02:002014-12-29T18:23:13.046-02:00Muito legal essa dica. Obrigado pela contribuição....Muito legal essa dica. Obrigado pela contribuição.Aprendendo TI no dia-a-diahttps://www.blogger.com/profile/17843715557192396435noreply@blogger.com