Minha abordagem
Pense em Recovery, e no em Backup. RMAN significa Recovery Manager, e no Backup Manager. Sem RMAN, o Manager do Recovery ser voc. O cliente no quer saber se tem Backup, quando pergunta isto. Quer saber se tem Recovery. A maior responsabilidade de um DBA o Recovery. Os Bancos de Dados esto cada vez maiores, e o Recovery, mais difcil. Cerca de 80% dos grandes Bancos de Dados no so recuperveis. 60% das empresas que perderam dados fecharam suas portas em at 1 ano. Backup e Recovery com RMAN. O RMAN grtis: se voc comprou o Oracle, ele j seu. O RMAN no precisa ser instalado. Se o Banco de Dados importante, deve estar em ARCHIVELOG. Se o Banco de Dados no importante, para que colocar dados nele? No h motivo que justifique Backup Offline (Backup Frio). Recovery uma situao estressante. Durante uma situao estressante, tendemos a utilizar as opes que conhecemos melhor. Recovery deve ser praticado, treinado, dominado. Voc ter que fazer um Recovery. A questo no SE, QUANDO. Saiba o tempo necessrio para um Recovery iro lhe perguntar. Durante o Recovery, se puder, tenha uma segunda pessoa olhando o que voc est fazendo. Saiba o momento em que deve pedir ajuda. No execute uma operao sem saber seu efeito. Conhea outros RDBMS. TI no lugar para paixes. Voc ficaria surpreso em descobrir as vantagens dos Logs de outros RDBMs sobre o Oracle. Saiba dizer No.
O que o RMAN?
Packages RMAN
DBMS_RCVMAN DBMS_BACKUP_RESTORE DBMS_RCVCAT DBMS_TDB
Arquitetura RMAN
MML
RMAN: Vantagens
Backup Lgico (exp / expdp) mais lento que Backup Fsico (RMAN). Restore Lgico (imp / imdp) mais lento que Restore Fsico (RMAN). Restores Lgicos no podem ser em um ponto do tempo. User Managed Backup (BEGIN BACKUP / END BACKUP) gera mais Redo Logs. O RMAN sabe automaticamente onde esto todos os arquivos do Banco de Dados. Compresso embutida significa Backups a mais, e dinheiro a mais. E todas as New Features a seguir no podero ser utilizadas
10
11
12
13
14
Conexes
15
Conexes
TARGET
CATALOG
$ rman TARGET / CATALOG=RMAN_USER/RMAN_USER@CATALOGO
AUXILIARY
$ rman AUXILIARY / $ rman TARGET / AUXILIARY / $ rman AUXILIARY BACKUP_USER/BACKUP_USER $ rman AUXILIARY BACKUP_USER/BACKUP_USER@PRD TARGET / $ rman AUXILIARY / TARGET BACKUP_USER/BACKUP_USER@PRD
16
Opes
17
Configuraes
Exibir todas configuraes padro
RMAN> SHOW ALL;
18
Comandos
@ @@ ADVISE FAILURE ALLOCATE CHANNEL ALLOCATE CHANNEL FOR MAINTENANCE ALTER DATABASE BACKUP CATALOG CHANGE CONFIGURE CONNECT CONVERT CREATE CATALOG CREATE SCRIPT CROSSCHECK DELETE DELETE SCRIPT DROP CATALOG DROP DATABASE DUPLICATE EXECUTE SCRIPT EXIT FLASHBACK DATABASE GRANT HOST IMPORT CATALOG LIST PRINT SCRIPT QUIT RECOVER REGISTER DATABASE RELEASE CHANNEL REPAIR FAILURE REPLACE SCRIPT REPORT RESET DATABASE RESTORE RESYNC CATALOG REVOKE RMAN RUN SEND SET SHOW SHUTDOWN SPOOL SQL STARTUP SWITCH TRANSPORT TABLESPACE UNREGISTER UPGRADE CATALOG VALIDATE
19
Verifique o contedo do arquivo de LOG. Estudando o TRACE, execute o SHOW ALL pelo SQL*Plus.
20
Verifique indidualmente o contedo das configuraes alteradas. Volte uma das configuraes ao seu valor original (CLEAR), e a altere novamente.
21
Instance
22
Instance States
Estados:
SHUTDOWN STARTUP --- O RMAN s conecta no TARGET e AUXILIARY a partir deste estgio. MOUNT OPEN O RMAN s conecta no CATALOG neste estgio.
Comandos:
RMAN> STARTUP; RMAN> STARTUP NOMOUNT; RMAN> ALTER DATABASE MOUNT; RMAN> STARTUP MOUNT; RMAN> ALTER DATABASE OPEN; SQL> STARTUP RESTRICT; SQL> ALTER SYSTEM DISABLE RESTRICTED SESSION; RMAN> STARTUP DBA; RMAN> STARTUP FORCE; RMAN> SHUTDOWN NORMAL; RMAN> SHUTDOWN IMMEDIATE; RMAN> SHUTDOWN TRANSACTIONAL; RMAN> SHUTDOWN ABORT;
23
24
25
26
27
28
Habilite mais um destino de armazenamento dos Archived Redo Logs. Verifique se os Archived Redo Logs esto sendo gerados nos dois destinos. Verifique o Alert Log.
29
RMAN: Backup
30
31
32
33
RMAN: Repository
34
RMAN Repository
CONTROL_FILE_RECORD_KEEP_TIME
35
RMAN CATALOG
RC_ARCHIVED_LOG RC_BACKUP_ARCHIVELOG_DETAILS RC_BACKUP_ARCHIVELOG_SUMMARY RC_BACKUP_CONTROLFILE RC_BACKUP_CONTROLFILE_DETAILS RC_BACKUP_CONTROLFILE_SUMMARY RC_BACKUP_COPY_DETAILS RC_BACKUP_COPY_SUMMARY RC_BACKUP_CORRUPTION RC_BACKUP_DATAFILE RC_BACKUP_DATAFILE_DETAILS RC_BACKUP_DATAFILE_SUMMARY RC_BACKUP_FILES RC_BACKUP_PIECE RC_BACKUP_PIECE_DETAILS RC_BACKUP_REDOLOG RC_BACKUP_SET RC_BACKUP_SET_DETAILS RC_BACKUP_SET_SUMMARY RC_BACKUP_SPFILE RC_BACKUP_SPFILE_DETAILS RC_BACKUP_SPFILE_SUMMARY RC_CHECKPOINT RC_CONTROLFILE_COPY RC_COPY_CORRUPTION RC_DATABASE RC_DATABASE_BLOCK_CORRUPTION RC_DATABASE_INCARNATION RC_DATAFILE RC_DATAFILE_COPY RC_LOG_HISTORY RC_OFFLINE_RANGE RC_PROXY_ARCHIVEDLOG RC_PROXY_ARCHIVELOG_DETAILS RC_PROXY_ARCHIVELOG_SUMMARY RC_PROXY_CONTROLFILE RC_PROXY_COPY_DETAILS RC_PROXY_COPY_SUMMARY RC_PROXY_DATAFILE RC_REDO_LOG RC_REDO_THREAD RC_RESTORE_POINT RC_RESYNC RC_RMAN_BACKUP_JOB_DETAILS RC_RMAN_BACKUP_SUBJOB_DETAILS RC_RMAN_BACKUP_TYPE RC_RMAN_CONFIGURATION RC_RMAN_OUTPUT RC_RMAN_STATUS RC_SITE RC_STORED_SCRIPT RC_STORED_SCRIPT_LINE RC_TABLESPACE RC_TEMPFILE RC_UNUSABLE_BACKUPFILE_DETAILS
36
37
A configurao se manteve? Por que? Explore as VIEWs do CATALOG. Habitue-se ao seu contudo. Execute o script de limpeza do CATALOG.
$ sqlplus USER_CATALOGO/USER_CATALOGO@CATALOGO SQL>@?/rdbms/admin/prgrmanc.sql
38
RMAN: Validate
39
OU
RMAN> VALIDATE DATAFILE 1; RMAN> VALIDATE DATAFILE 1,2; RMAN> VALIDATE TABLESPACE USERS; RMAN> VALIDATE TABLESPACE USERS, SYSAUX; RMAN> VALIDATE DATABASE; RMAN> VALIDATE CHECK LOGICAL DATAFILE 1; RMAN> VALIDATE CHECK LOGICAL DATAFILE 1,2; RMAN> VALIDATE CHECK LOGICAL TABLESPACE USERS; RMAN> VALIDATE CHECK LOGICAL TABLESPACE USERS, SYSAUX; RMAN> VALIDATE CHECK LOGICAL DATABASE;
40
41
RMAN: Compression
42
Compression
43
Compression
Algoritmo ZLIB 11.1.0
CONFIGURE or SET COMPRESSION ALGORITHM 'ZLIB';
11.2.0
CONFIGURE or SET COMPRESSION ALGORITHM 'MEDIUM';
11.2.0
CONFIGURE or SET COMPRESSION ALGORITHM 'BASIC';
Exemplo:
RMAN> CONFIGURE COMPRESSION ALGORITHM 'HIGH' OPTIMIZE FOR LOAD TRUE;
44
Execute novamente um Backup Completo do Banco de Dados. Qual a diferena de tempo e tamanho entre os Backups? Qual a diferena de uso de CPU entre os Backups?
45
RMAN: Encryption
46
Encryption
Transparent Encryption
RMAN> SET ENCRYPTION ON
Password Encryption
RMAN> SET ENCRYPTION ON IDENTIFIED BY 'MyPasswordIsHard' ONLY; RMAN> SET DECRYPTION IDENTIFIED BY 'MyPasswordIsHard';
47
Oracle Wallet
48
49
50
51
RMAN: List
52
53
RMAN: Crosscheck
54
CROSSCHECK
55
Mova um ARCHIVE para outro diretrio, e refaa o CROSSCHECK. Remova este ARCHIVE do Repositrio com o DELETE EXPIRED.
RMAN> DELETE EXPIRED (?)
56
57
58
59
60
Hierarquia
BACKUP BACKUP TAG BACKUP SET BACKUP PIECE
61
Execute um BACKUP Completo do Banco de Dados. Encontre no resultado os BACKUP SETs, BACKUP PIECEs e TAG. Altere o MAXPIECESIZE para 100M.
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 100M;
Execute um BACKUP Completo do Banco de Dados. Encontre no resultado os BACKUP SETs, BACKUP PIECEs e TAG. Altere o MAXSETSIZE para 100M.
RMAN> CONFIGURE MAXSETSIZE TO 100M;
Execute um BACKUP Completo do Banco de Dados. Encontre no resultado os BACKUP SETs, BACKUP PIECEs e TAG. Execute um BACKUP Completo do Banco de Dados, com uma TAG com seu nome.
62
RMAN: FORMAT
63
FORMAT
%a Activation ID %c Copy number %d Database name %D Day of the month %e Archived log sequence %f Absolute file number %F Combines the DBID, day, month, year, and sequence %h Archived redo log thread number. %I Database ID. %M Month %N Tablespace name %n Database name, padded on the right with x %p Piece number within the backup set %s Backup set number %t Backup set time stamp %T Year, month, and day %U System-generated unique filename %Y Year
64
Execute um BACKUP completo do Banco de Dados, e verifique os novos nomes. Altere a localizao e nome padro do CONTROLFILE AUTOBACKUP. Execute um BACKUP de 1 Datafile, e verifique o novo nome do CONTROLFILE AUTOBACKUP.
65
66
67
68
69
RMAN: Switch
70
71
RMAN: Retention
72
Retentions
73
74
75
76
RMAN: Scripts
77
Onde ficam armazeadas as informaes sobre os Stored Scripts? Remova o Stored Script.
RMAN> DELETE SCRIPT BackupCompleto;
78
RMAN: Copy
79
80
RMAN: Change
81
Liste novamente todos os BACKUPS do DATAFILE 1. O que mudou? Valide o BACKUPSET que est UNAVAILABLE. Liste todos os ARCHIVELOGs. Remova todos ARCHIVELOGs do Repositrio.
RMAN> CHANGE ARCHIVELOG ALL UNCATALOG;
Liste todos os ARCHIVELOGs. O que mudou? Inclua todos ARCHIVELOGs no Repositrio novamente.
RMAN> CATALOG START WITH '/tmp';
82
83
84
85
86
87
Procedimento:
Conectar no RMAN, com TARGET / e CATALOG centralizado. Listar Backups Disponveis (LIST). Escolher qual Backup recuperar. Restaurar SPFILE (RESTORE). Altere um parmetro no SPFILE.
88
Procedimento:
Conectar no RMAN, com TARGET /. Listar Backups Disponveis (LIST). Escolher qual Backup recuperar. Restaurar SPFILE (RESTORE). Altere um parmetro no SPFILE.
89
Procedimento:
Passe a Instance ao estado SHUTDOWN. Passe a instance ao estado OPEN, utilizando o PFILE. Criar SPFILE a partir do PFILE. Passe a Instance ao estado SHUTDOWN. Passe a instance ao estado OPEN. Altere um parmetro no SPFILE.
90
Procedimento:
Criar PFILE a partir do Alert Log. Passe a Instance ao estado SHUTDOWN. Passe a instance ao estado OPEN, utilizando o PFILE. Criar SPFILE a partir do PFILE. Passe a Instance ao estado SHUTDOWN. Passe a instance ao estado OPEN. Altere um parmetro no SPFILE.
91
Procedimento:
Conectar no RMAN, com TARGET / e CATALOG centralizado. SET DBID. Passe a Instance ao estgio STARTUP NOMOUNT. Como, sem o SPFILE ou PFILE? Listar Backups Disponveis (LIST). Neste momento, verifique o Parmetro control_files pelo SQL*Plus. Escolher qual Backup recuperar. Restaurar SPFILE (RESTORE). Passe a Instance ao estgio SHUTDOWN. Passe a Instance ao estgio OPEN. Altere um parmetro no SPFILE.
92
Procedimento:
Conectar no RMAN, com TARGET /. SET DBID. Passe a Instance ao estgio STARTUP NOMOUNT. Listar Backups Disponveis (LIST). Por que no funciona? Neste momento, verifique o Parmetro control_files pelo SQL*Plus. Escolher qual BACKUP recuperar. Inclua este BACKUP no Repositrio (CATALOG). Por que no funciona? Restaurar SPFILE (RESTORE). Passe a Instance ao estgio SHUTDOWN. Passe a Instance ao estgio OPEN. Altere um parmetro no SPFILE.
93
Procedimento:
Crie um PFILE s com os parmetros bsicos. Passe a instance ao estado OPEN, utilizando o PFILE. Criar SPFILE a partir do PFILE. Passe a Instance ao estado SHUTDOWN. Passe a instance ao estado OPEN. Altere um parmetro no SPFILE.
94
95
Restore ARCHIVELOGs
ARCHIVELOGs s podem ser restaurados com a INSTANCE em MOUNT ou OPEN. O RESTORE s pode ser feito com dados do Repositrio. Comandos:
RMAN> RUN {SET ARCHIVELOG DESTINATION TO '/tmp';} RMAN> RESTORE ARCHIVELOG SEQUENCE 10; RMAN> RESTORE ARCHIVELOG FROM SEQUENCE 5; RMAN> RESTORE ARCHIVELOG FROM SEQUENCE 5 UNTIL SEQUENCE 10; RMAN> RESTORE ARCHIVELOG UNTIL SEQUENCE 15; RMAN> RESTORE ARCHIVELOG ALL;
96
97
98
RECOVER
REDO LOGs BACKUPSET INCREMENTAL LEVEL 1 ARCHIVED REDO LOGs
99
Procedimento:
Coloque o DATAFILE em OFFLINE. Execute o RESTORE do DATAFILE. Execute o RECOVER do DATAFILE. Altere o DATAFILE para ONLINE.
100
Procedimento:
Execute STARTUP. Em que estado a Instance parou? Execute o RESTORE do DATAFILE. Execute o RECOVER do DATAFILE. Altere a Instance para o estado OPEN.
101
Procedimento:
Coloque o DATAFILE em OFFLINE. Crie uma cpia do DATAFILE perdido. SQL> ALTER DATABASE CREATE DATAFILE '/LocalAntigo/users04.dbf' AS '/LocalNovo/users04.dbf'; Execute o RECOVER da cpia. SQL> RECOVER DATAFILE '/LocalNovo/users04.dbf'. Altere o DATAFILE para ONLINE.
102
Procedimento:
Execute STARTUP. Em que estado a Instance parou? Coloque o DATAFILE em OFFLINE. Crie uma cpia do DATAFILE perdido. SQL> ALTER DATABASE CREATE DATAFILE '/LocalAntigo/users04.dbf' AS '/LocalNovo/users04.dbf'; Execute o RECOVER da cpia. SQL> RECOVER DATAFILE '/LocalNovo/users04.dbf'; Altere o DATAFILE para ONLINE. Altere a Instance para o estado OPEN.
103
Procedimento:
Abra um Shell com o usurio root. Verifique qual o PID do processo dbw0. V ao diretrio dos File Descriptor (cd /proc/<PID>/fd). Verifique qual o File Descriptor do arquivo removido (ls -lh). Copie o File Descriptor para o local original do arquivo removido (cat 27 > /u01/app/oracle/oradata/ORCL/users01.dbf). D permisso ao usurio oracle para o arquivo copiado (chown oracle:dba /u01/app/oracle/oradata/ORCL/users01.dbf) Execute uma validao do Banco de Dados.
104
Preparao:
Deixe a Instance em estado OPEN. Remova o DATAFILE users02.dbf pelo Sistema Operacional. Execute SHUTDOWN IMMEDIATE. Verifique o Alert Log. Execute SHUTDOWN ABORT. Verifique o Alert Log.
Procedimento:
Execute STARTUP. Em que estado a Instance parou? Coloque o DATAFILE em OFFLINE. Passe a instncia ao estado OPEN.
105
Procedimento:
106
107
Procedimento:
Remova logicamente o TEMPFILE. SQL> ALTER DATABASE TEMPFILE '/u01/app/oracle/oradata/ORCL/temp02.dbf' DROP; Adicione um novo TEMPFILE.
108
109
TSPITI
110
Procedimento:
Coloque o TABLESPACE em OFFLINE. Execute o RESTORE da TABLESPACE. Execute o RECOVER da TABLESPACE. Altere a TABLESPACE para ONLINE.
111
Procedimento:
Execute STARTUP. Em que estado a Instance parou? Execute o RESTORE da TABLESPACE. Execute o RECOVER da TABLESPACE. Altere a Instance para o estado OPEN.
112
Procedimento:
RMAN> RECOVER TABLESPACE USUARIOS UNTIL SEQUENCE 35 AUXILIARY DESTINATION '/home/oracle/auxiliary/'; Pegue um bombom e aprecie o show.
113
114
Procedimento:
Coloque o DATAFILE em OFFLINE. O que aconteceu com o DATAFILE? E sua sesso? Execute o RESTORE do DATAFILE. Verifique o Alert Log. O RESTORE funcionou? Execute o RECOVER do DATAFILE. O que aconteceu com o DATAFILE? E sua sesso? Execute SHUTDOWN IMMEDIATE. Por que no funciona? Execute SHUTDOWN ABORT. Execute STARTUP. Em que estado a Instance parou? Qual o Estado do DATAFILE? Execute o RECOVER do DATAFILE. Qual o Estado do DATAFILE? Altere o DATAFILE para ONLINE. Verifique o Alert Log. Execute uma validao do Banco de Dados. Verifique o Alert Log.
115
Procedimento:
Coloque o DATAFILE em OFFLINE. Execute o RESTORE do DATAFILE. Execute o RECOVER do DATAFILE. Altere o DATAFILE para ONLINE. Verifique o Alert Log. Execute uma validao do Banco de Dados. Verifique o Alert Log.
116
Procedimento:
Crie um PFILE atravs do SPFILE. Execute SHUTDOWN IMMEDIATE. Por que no funciona? Execute SHUTDOWN ABORT. Altere no PFILE o Parmetro UNDO_MANAGEMENT para MANUAL. Execute STARTUP. Em que estado a Instance parou? Altere o DATAFILE para OFFLINE DROP. Passe a Instance ao Estado OPEN. Remova a antiga TABLESPACE de UNDO, e crie outra com o mesmo nome. Se necessrio, utilize o parmetro."_offline_rollback_segments". Reinicie a Instance.
117
118
RESETLOGS
119
Incomplete Recovery
TIME SET UNTIL TIME "TO_DATE('2010-07-14:13:00:00','YYYY-MM-DD:HH24:MI:SS')"; SCN SET UNTIL SCN 824753; SEQUENCE SET UNTIL SEQUENCE 42;
120
Procedimento:
Verifique qual o membro que est com status INVALID (V$LOGFILE). Remova o membro INVALID. SQL> ALTER DATABASE DROP LOGFILE MEMBER; Adicione outro membro, para manter os REDO LOGs multiplexados.
121
Procedimento:
SQL>ALTER DATABASE CLEAR LOGFILE GROUP 1;
122
Procedimento:
Execute SHUTDOWN IMMEDIATE. Execute STARTUP MOUNT. Execute um INCOMPLETE RECOVERY falso. SQL> RECOVER DATABASE UNTIL CANCEL; Passe a Instance ao estado OPEN, com RESETLOGS. SQL> ALTER DATABASE OPEN RESETLOGS; Verifique os INCARNATIONs de seu Banco de Dados. RMAN> LIST INCARNATION;
123
Procedimento:
Execute SHUTDOWN IMMEDIATE. Execute STARTUP MOUNT. Execute um INCOMPLETE RECOVERY. RUN { SET UNTIL SEQUENCE 8; RESTORE DATABASE; RECOVER DATABASE; ALTER DATABASE OPEN RESETLOGS; } Verifique os INCARNATIONs de seu Banco de Dados.
124
Procedimento:
Verifique os INCARNATIONs de seu Banco de Dados (LIST INCARNATION). Execute SHUTDOWN IMMEDIATE. Execute STARTUP MOUNT. Altere para o INCARNATION anterior ao CURRENT: RMAN> RESET DATABASE TO INCARNATION 4; Execute INCOMPLETE RECOVERY at um SCN anterior ao primeiro SCN do INCARNATION CURRENT. RMAN>RESTORE DATABASE UNTIL SCN 825321; RMAN> RECOVER DATABASE UNTIL SCN 825321; RMAN> ALTER DATABASE OPEN RESETLOGS; Verifique os INCARNATIONs de seu Banco de Dados.
125
126
Encontrando o DBID
Onde encontrar o DBID? V$DATABASE Ao conectar no RMAN No CATALOG. No nome do CONTROLFILE AUTOBACKUP. Dentro dos Backups da SYSTEM, SYSAUX e UNDO (MAXVALUE ou DBID:). Dentro do DATAFILE da SYSAUX (MAXVALUE ou DBID:).
127
Controfile AutoBackup
O comando de RESTORE s procura por 7 dias ou 10 Backups, mesmo utilizando Repositrio CATALOG.
RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP MAXSEQ 200 MAXDAYS 100;
128
Procedimento:
Execute SHUTDOWN IMMEDIATE. Por que no funciona? Execute SHUTDOWN ABORT. Copie o CONTROLFILE sobrevivente para o que foi apagado. Execute STARTUP.
129
Procedimento:
Execute SHUTDOWN IMMEDIATE. Por que no funciona? Execute SHUTDOWN ABORT. Execute STARTUP. Em que estado a Instance parou? Execute RESTORE do CONTROLFILE. Para onde so restaurados? Execute um Incomplete Recovery falso RMAN> RECOVER DATABASE. Abra a Instance em RESETLOGS. Verifique os INCARNATIONs de seu Banco de Dados.
130
Procedimento:
Execute STARTUP. Em que estado a Instance parou? Execute o comando CREATE CONTROLFILE que est no final do TRACE. Execute um Incomplete Recovery falso. SQL> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL; Abra a Instance em RESETLOGS. Verifique os INCARNATIONs de seu Banco de Dados.
131
Procedimento:
Execute SHUTDOWN IMMEDIATE. Por que no funciona? Execute SHUTDOWN ABORT. Execute STARTUP. Em que estado a Instance parou? Execute o comando CREATE CONTROLFILE que est no final do TRACE. Execute um Incomplete Recovery falso. SQL> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL; Quando for solicitado, indique o REDO LOG que estava CURRENT no momento do ABORT. Abra a Instance em RESETLOGS. Verifique os INCARNATIONs de seu Banco de Dados.
132
Procedimento:
Execute SHUTDOWN IMMEDIATE. Por que no funciona? Execute SHUTDOWN ABORT. Execute STARTUP. Em que estado a Instance parou? Execute o comando CREATE CONTROLFILE. Execute um Incomplete Recovery falso. SQL> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL; Quando for solicitado, indique o REDO LOG que estava CURRENT no momento do ABORT. Abra a Instance em RESETLOGS. Verifique os INCARNATIONs de seu Banco de Dados.
133
Procedimento:
Execute SHUTDOWN IMMEDIATE. Por que no funciona? Execute SHUTDOWN ABORT. Copie o SNAPSHOT CONTROLFILE para os que foram apagados. Execute STARTUP. Execute um Incomplete Recovery falso. SQL> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL; Quando for solicitado, indique o REDO LOG que estava CURRENT no momento do ABORT.
134
Melhores Prticas
Domine a manipulao de dados do REPOSITORY. Utilize um nome til nos ARCHIVED REDO LOGs. Utilize um nome til nos BACKUPPIECEs. Utilize TAGs. Utilize o CATALOG. Centralize o agendamento e execuo de seus BACKUPs no CATALOG. Utilize RMAN STORED SCRIPTs. O banco de dados do CATALOG o mais importante de seu ambiente. Execute VALIDATE CHECK LOGICAL regularmente. Execute RESTORE VALIDATE regularmente. Anote o tempo de execuo. Utilize PASSWORD ENCRYPTION. Habilite o CONTROLFILE AUTOBACKUP, em um locao seguro. Habilite o BACKUP OPTIMIZATION. Utilize compresso MEDIUM (ZLIB). Armazene seus Redo Logs em filesystem SYNC. SHUTDOWN ABORT mais rpido e to seguro quando IMMEDIATE. No utilize BACKUPs incrementais: prefira um ARCHIVED REDO LOG a mais. Utilize RETENTION do tipo REDUNDANCY: voc no quer um backup do ms passado. Pratique cenrios de RESTORE e RECOVER regularmente. Antes que acontea.
135