Chiappa, eh impressionante como vc abidica parte do seu tempo para nos ajudar, 
nao somente para me ajudar, mas para ajudar a todos do grupo. Com embasamentos 
teoricos, explicando cada detalhe para nos fazer entender cada procedimento. 
Estou sem palavras para lhe agradecer, voce eh uma das melhores pessoas que ja 
conheci (por meios de forum e blogs). Obrigado por compartilhar um pouco do seu 
conhecimento conosco. 

    Em Quarta-feira, 8 de Março de 2017 10:02, "[email protected] 
[oracle_br]" <[email protected]> escreveu:
 

     Blz ? Vamos começr pela questão do RESETLOGS : quando vc perde 
completamente o controlfile, como eu disse na minha msg anterior ** ou ** vc 
restaura ele de um backup , ** OU ** (se TIVER toda a informação que vai nele E 
se tiver os archives/redo logs necessários todinhos) vc o recria com o comando 
CREATE CONTROLFILE - se por acaso além de perder todoas as n cópias do 
controlfile que o RDBMS mantém vc ainda por cima não tiver backup do 
controlfile e não puder recriar ele por não ter todas as informações em mãos 
(ou pior, por tem mais alguma coisa perdida/corrompida além do controlfile), 
normalmente é game over.... 
 A questão no vídeo do cara é que (de um modo meio Artificial, só pra servir de 
exemplo) ele simulou a perda apenas e tão somente dos controlfiles, mantendo-se 
totalmente íntegros os redo log files, os archives TODINHOS e os datafiles - 
ora, numa situação assim, onde vc tem 100% de certeza de ter os datafiles 
fisicamente íntegros E ainda por cima tem todinhos os redo log files e os 
archives, aí SIM vc pode pedir um OPEN NORESETLOGS : a FINALIDADE do 
NORESETLOGS é justamente essa, ie, vc indica pro RDBMS que vc ** TEM ** 
absolutamente TODO o fluxo de redo (redo que estava online, principalmente, 
além dos óbvios redos archivado, que vc SEMPRE precisa em situação de banco em 
archivemode que vc não tem 100% de certeza de shutdown limpo OU está voltando 
backup) necessário para deixar o database consistente.... Da documentação 11gR2 
:
"NORESETLOGS  Specify NORESETLOGS if you want Oracle Database to use all files 
in the LOGFILE clause as they were when the database was last open. These files 
must exist and must be the current online redo log files rather than restored 
backups. The database reassigns the redo log file groups to the threads to 
which they were previously assigned and reenables the threads as they were 
previously enabled."

 OK ? Torno a repetir, esse exemplo do cara mostra que em tese é possível se 
reconstruir controlfile sem resetar logs mas ele foi ARTIFICIAL, num caso real 
da vida como ela é vc ** não vai ter 100% de certeza ** que os redo online não 
corromperam, então vc vai de RESETLOGS, o que instrui o RDBMS a recriar os redo 
log files, desprezando a informação que estava neles.... Não tenho o contexto 
mas ACREDITO que é isso o que o Portilho estava demonstrando, uma situação REAL 
onde vc não tem 100% de certeza que os redo onlines estão presentes e íntegros, 
por isso ele (corretamente) foi de RESETLOGS.....
  Pense no RESETLOGS como um comando para o database IGNORAR a informação de 
SCN corrente que estava no redo log ativo - e INCLUSIVE, é Por Isso que via de 
regra vc ao voltar um backup hot/online vc tem que pedir resetlogs, pois o RMAN 
** não tem garantia ** alguma de conseguir copiar o redo logfile que está no 
uso (pois tranquilamente o RDBMS pode estar gravando nele no momento que o RMAN 
tentar copiar), então o RMAN optou por simplesmente *** NUNCA *** copiar o redo 
online num backup online/hot/inconsistente : sem redo online no backup (ou sem 
garantia de ter o redo online, no caso de crash) = necessidade de usar 
RESETLOGS... É POR ISSO, também, que em algum momento da thread foi Recomendado 
que vc pedisse para ARCHIVAR o redo online via alter system archive log 
current; - isso é uma Garantia a Mais que o redo que estava sendo gerado por 
transações ativas/abertas vai ser arquivado e portanto vai ser backupeado...

Agora sobre INCARNATION : vc pode pensar numa INCARNATION como uma "nova vida", 
uma nova "versão" do seu database... Tirando do Glossário do 11gR2 :

"incarnation

A separate version of a database. The incarnation of the database changes when 
you open it with the RESETLOGS option, but you can recover backups from a prior 
incarnation so long as the necessary redo is available."

 Para vc poder entender o conceito, antes de tudo é preciso vc entender que o 
SCN além de ser um número sequencial e crescer a cada commit, checkpoint e etc, 
ele TAMBÉM cresce sozinho em pequenos intervalos de tempo,funcionando assim na 
prática como um RELÓGIO INTERNO para o database se controlar - é POR ISSO que 
vc pode tranquilamente MUDAR a data/hora do servidor onde o RDBMS Oracle roda 
absolutamente sem prejuízo algum para o funcionamento do kernel do RDBMS, o 
banco em si internamente NÃO USA a hora do sistema pra nada - satélites e/ou 
aplicações que dependem da hora (como JOBs, por exemplo) seriam afetados mas o 
banco em si nunca, já que ele se controla é pelo SCN....
 Muito bem : já que o database se controla/sabe quanto "tempo" passou através 
do SCN e que cfrme acima quando vc pede um RESETLOGS ele RECRIA o redo log com 
um SCN diferente online E que vc tinha informação de SCN constando no redo log, 
vc VAi ter  um GAP aí : antes o redolog online tinha um SCN X, depois com a 
reconstrução dele (junto com os demais logfiles) o redo online passou a ter um 
SCN Y diferente.... Para evitar inconsistência nesse GAP aí, o RDBMS considera 
que nesse ponto no tempo onde Y passou a ser o SCN o database criou uma 'vida 
nova', uma nova 'versão', em princípio INCOMPATÍVEL com o passado - isso é 
importante no mundo Oracle porque o RDBMS Oracle não só atende às exigências 
das regras de Codd (que exigem que uma transação possa ser desfeita a qualquer 
momento, que seja durável, que registre log, etc) mas TAMBÉM (dado que separa 
UNDO de REDO) desde muuuto tempo atrás o RDBMS Oracle sempre ofereceu a 
possibilidade de VOLTA NO TEMPO, ie, fazer o database voltar a uma posição 
íntegra num ponto do passado desfazendo o redo, o chamado ROLLING BACKWARD - 
veja 
https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:913283900346408687
 para refs...
  Por causa desse "GAP" artificial gerado pelo RESETLOGS, obviamente não temos 
nenhum redo cobrindo o intervalo entre X e Y, teria uma INCONSISTÊNCIA se eu 
fosse voltar além desse ponto : assim Y passou a ser em princípio o início de 
uma nova 'vida', de uma nova 'versão' do database, quase como se ele tivesse 
sido RECRIADO em Y, logicamente falando.... É POR ISSO, inclusive, que a Oracle 
introduziu no conceito de FLASHBACK DATABASE a figura dos ** FLASHBACK LOGS ** 
, que por serem independentes de sequência de SCN permitem que vc volte no 
tempo o database até mesmo para encarnações passadas... 
  
  Já que vc está testando metodologias e conceitos de backup, esse conceito de 
INCARNATION vai ser ** totalmente crítico ** no que se refere à RECOVER : para 
vc fazer o recover de um backup restaurado, como já dito o RDBMS vai aplicar os 
redos arquivados, e ele só consegue fazer isso se a ENCARNAÇÃO é a mesma..... 
OU SEJA, na prática no instante em que vc cria uma nova ENCARNAÇÂO do seu 
database os archives da encarnação anterior ficam "incompatíveis" com a 
encarnação registrada no database atualmente, elas são de uma 'vida' anterior à 
qual vc não tem acesso, digamos assim.... SE a sua política eventualmente prevê 
rolling backward via REDO pra um tempo no passado a priori, fique Ciente 
disso... OU AINDA, imagine que vc fez um backup full no dia 1 (digamos), aí foi 
fazendo incrementais e backups de archives, aí no dia 5 vc criou uma nova 
encarnação fazendo um OPEN RESETLOGS (porque teve que voltar backup hot, 
digamos, enfim)  mas inadvertidamente NÃO fez nada mais e continuou só 
backupeando archives - esses archives são de uma NOVA encarnação, vc terá 
PROBLEMAS ao tentar aplicá-los  em cima do backup full do dia 1 que é de uma 
encarnação anterior..... Ate o banco 10g vc estaria com problemas Graves aí na 
sua recuperabilidade, mas no 11g foi introduzida a figura do RESET DATABASE que 
coloca o database numa outra encarnação, veja 
http://shahiddba.blogspot.com.br/2012/10/resetting-or-recovering-database-with.html
 incremental para refs....

  []s
  
    Chiappa  #yiv1166750234 #yiv1166750234 -- #yiv1166750234ygrp-mkp 
{border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 
10px;}#yiv1166750234 #yiv1166750234ygrp-mkp hr {border:1px solid 
#d8d8d8;}#yiv1166750234 #yiv1166750234ygrp-mkp #yiv1166750234hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv1166750234 #yiv1166750234ygrp-mkp #yiv1166750234ads 
{margin-bottom:10px;}#yiv1166750234 #yiv1166750234ygrp-mkp .yiv1166750234ad 
{padding:0 0;}#yiv1166750234 #yiv1166750234ygrp-mkp .yiv1166750234ad p 
{margin:0;}#yiv1166750234 #yiv1166750234ygrp-mkp .yiv1166750234ad a 
{color:#0000ff;text-decoration:none;}#yiv1166750234 #yiv1166750234ygrp-sponsor 
#yiv1166750234ygrp-lc {font-family:Arial;}#yiv1166750234 
#yiv1166750234ygrp-sponsor #yiv1166750234ygrp-lc #yiv1166750234hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv1166750234 
#yiv1166750234ygrp-sponsor #yiv1166750234ygrp-lc .yiv1166750234ad 
{margin-bottom:10px;padding:0 0;}#yiv1166750234 #yiv1166750234actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv1166750234 
#yiv1166750234activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv1166750234
 #yiv1166750234activity span {font-weight:700;}#yiv1166750234 
#yiv1166750234activity span:first-child 
{text-transform:uppercase;}#yiv1166750234 #yiv1166750234activity span a 
{color:#5085b6;text-decoration:none;}#yiv1166750234 #yiv1166750234activity span 
span {color:#ff7900;}#yiv1166750234 #yiv1166750234activity span 
.yiv1166750234underline {text-decoration:underline;}#yiv1166750234 
.yiv1166750234attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv1166750234 .yiv1166750234attach div a 
{text-decoration:none;}#yiv1166750234 .yiv1166750234attach img 
{border:none;padding-right:5px;}#yiv1166750234 .yiv1166750234attach label 
{display:block;margin-bottom:5px;}#yiv1166750234 .yiv1166750234attach label a 
{text-decoration:none;}#yiv1166750234 blockquote {margin:0 0 0 
4px;}#yiv1166750234 .yiv1166750234bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv1166750234 
.yiv1166750234bold a {text-decoration:none;}#yiv1166750234 dd.yiv1166750234last 
p a {font-family:Verdana;font-weight:700;}#yiv1166750234 dd.yiv1166750234last p 
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv1166750234 
dd.yiv1166750234last p span.yiv1166750234yshortcuts 
{margin-right:0;}#yiv1166750234 div.yiv1166750234attach-table div div a 
{text-decoration:none;}#yiv1166750234 div.yiv1166750234attach-table 
{width:400px;}#yiv1166750234 div.yiv1166750234file-title a, #yiv1166750234 
div.yiv1166750234file-title a:active, #yiv1166750234 
div.yiv1166750234file-title a:hover, #yiv1166750234 div.yiv1166750234file-title 
a:visited {text-decoration:none;}#yiv1166750234 div.yiv1166750234photo-title a, 
#yiv1166750234 div.yiv1166750234photo-title a:active, #yiv1166750234 
div.yiv1166750234photo-title a:hover, #yiv1166750234 
div.yiv1166750234photo-title a:visited {text-decoration:none;}#yiv1166750234 
div#yiv1166750234ygrp-mlmsg #yiv1166750234ygrp-msg p a 
span.yiv1166750234yshortcuts 
{font-family:Verdana;font-size:10px;font-weight:normal;}#yiv1166750234 
.yiv1166750234green {color:#628c2a;}#yiv1166750234 .yiv1166750234MsoNormal 
{margin:0 0 0 0;}#yiv1166750234 o {font-size:0;}#yiv1166750234 
#yiv1166750234photos div {float:left;width:72px;}#yiv1166750234 
#yiv1166750234photos div div {border:1px solid 
#666666;height:62px;overflow:hidden;width:62px;}#yiv1166750234 
#yiv1166750234photos div label 
{color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv1166750234
 #yiv1166750234reco-category {font-size:77%;}#yiv1166750234 
#yiv1166750234reco-desc {font-size:77%;}#yiv1166750234 .yiv1166750234replbq 
{margin:4px;}#yiv1166750234 #yiv1166750234ygrp-actbar div a:first-child 
{margin-right:2px;padding-right:5px;}#yiv1166750234 #yiv1166750234ygrp-mlmsg 
{font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv1166750234 
#yiv1166750234ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv1166750234 
#yiv1166750234ygrp-mlmsg select, #yiv1166750234 input, #yiv1166750234 textarea 
{font:99% Arial, Helvetica, clean, sans-serif;}#yiv1166750234 
#yiv1166750234ygrp-mlmsg pre, #yiv1166750234 code {font:115% 
monospace;}#yiv1166750234 #yiv1166750234ygrp-mlmsg * 
{line-height:1.22em;}#yiv1166750234 #yiv1166750234ygrp-mlmsg #yiv1166750234logo 
{padding-bottom:10px;}#yiv1166750234 #yiv1166750234ygrp-msg p a 
{font-family:Verdana;}#yiv1166750234 #yiv1166750234ygrp-msg 
p#yiv1166750234attach-count span {color:#1E66AE;font-weight:700;}#yiv1166750234 
#yiv1166750234ygrp-reco #yiv1166750234reco-head 
{color:#ff7900;font-weight:700;}#yiv1166750234 #yiv1166750234ygrp-reco 
{margin-bottom:20px;padding:0px;}#yiv1166750234 #yiv1166750234ygrp-sponsor 
#yiv1166750234ov li a {font-size:130%;text-decoration:none;}#yiv1166750234 
#yiv1166750234ygrp-sponsor #yiv1166750234ov li 
{font-size:77%;list-style-type:square;padding:6px 0;}#yiv1166750234 
#yiv1166750234ygrp-sponsor #yiv1166750234ov ul {margin:0;padding:0 0 0 
8px;}#yiv1166750234 #yiv1166750234ygrp-text 
{font-family:Georgia;}#yiv1166750234 #yiv1166750234ygrp-text p {margin:0 0 1em 
0;}#yiv1166750234 #yiv1166750234ygrp-text tt {font-size:120%;}#yiv1166750234 
#yiv1166750234ygrp-vital ul li:last-child {border-right:none 
!important;}#yiv1166750234 

   

Responder a