Restore #3 - Restore UNDO com Backup
Imagine seu tablespace de UNDO com problemas durante o horário de produção, o que você faria para corrigir o erro?
Usaremos dois cenários um restaurando a partir de um backup e outro sem backup. Nesse post usaremos backup.
Criando cenário:
1 - Faça um backup full da sua base de dados e em seguida verifique qual o seu tablespace de UNDO padrão
SQL> select file_name, online_status from dba_data_files; /u01/app/oracle/oradata/TESTE/datafile/o1_mf_users_h2pfd4yt_.dbf ONLINE /u01/app/oracle/oradata/TESTE/datafile/o1_mf_undotbs1_h30fdf6x_.dbf ONLINE /u01/app/oracle/oradata/TESTE/datafile/o1_mf_system_h2pfb7p9_.dbf SYSTEM /u01/app/oracle/oradata/TESTE/datafile/o1_mf_sysaux_h2pfcbsm_.dbf ONLINE |
2 - Remova o tablespace de UNDO
SQL> ! rm /u01/app/oracle/oradata/TESTE/datafile/o1_mf_undotbs1_h30fdf6x_.dbf |
RMAN> VALIDATE DATABASE; Starting validate at 28-JAN-20 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=863 device type=DISK allocated channel: ORA_DISK_2 channel ORA_DISK_2: SID=985 device type=DISK RMAN-06169: could not read file header for datafile 4 error reason 5 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of validate command at 01/28/2020 10:49:51 RMAN-06056: could not access datafile 4 |
Restore:
Tente realizar o restore/recover somente do arquivo e veja o erro que irá acontecer no alert.log. Para que possamos realizar o restore teremos que dar shutdown no banco de dados.
Se executarmos o SHUTDOWN IMMEDIATE, iremos receber um erro. O motivo desse erro é que durante um SHUTDOWN IMMEDIATE, todas as sessões ativas são desconectadas imediatamente e todas as transações ativas são desfeitas (roll back).
Porém como no nosso caso, estamos sem o tablespace de UNDO, então não temos como realizar a operação de roll back.
SQL> SHUTDOWN IMMEDIATE; ORA-01116: erro ao abrir o arquivo 4 do banco de dados ORA-01110: 4 do arquivo de dados: '/u01/app/oracle/oradata/TESTE/datafile/o1_mf_undotbs1_h30fdf6x_.dbf' ORA-27041: n?o e possivel abrir arquivo Linux-x86_64 Error: 2: No such file or directory Additional information: 3 |
A saída é executar o SHUTDOWN ABORT. Nesse caso o banco de dados será desligado de forma inconsistente.
SQL> SHUTDOWN ABORT; |
SQL> STARTUP Instancia ORACLE iniciada. Total System Global Area 2097150584 bytes Fixed Size 8899192 bytes Variable Size 905969664 bytes Database Buffers 1174405120 bytes Redo Buffers 7876608 bytes Banco de dados montado. ORA-01157: n?o e possivel identificar/bloquear arquivo de dados 4 - consulte arquivo de analise DBWR ORA-01110: 4 do arquivo de dados: '/u01/app/oracle/oradata/TESTE/datafile/o1_mf_undotbs1_h30fdf6x_.dbf' |
Faça o RESTORE/RECOVER do datafile
RMAN> RESTORE DATAFILE 4; RMAN> RECOVER DATAFILE 4; |
RMAN> SQL 'ALTER DATABASE DATAFILE 4 ONLINE'; RMAN> VALIDATE DATABASE; |
Verifique o alert.log e veja se está tudo ok com seu banco de dados.
Comentários