treinamento oracle backup e recovery - nerv informática ltda

150
Oracle Backup & Recovery 9iR1 ao 12cR1 Ricardo Portilho Proni [email protected] Esta obra está licenciada sob a licença Creative Commons Atribuição-SemDerivados 3.0 Brasil. Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nd/3.0/br/.

Upload: ricardo-portilho-proni

Post on 13-May-2015

2.874 views

Category:

Technology


61 download

DESCRIPTION

A principal responsabilidade de um DBA é a recuperação de dados, que é mais conhecida pelo termo em inglês, o Recovery. Reparem que eu nem disse Backup & Recovery, e sim, apenas a segunda parte. Backup é uma parte do processo de Recovery, é apenas um meio, e não o fim. O objetivo é garantir a recuperabilidade de seus dados. Pense no Recovery, e não no Backup. O RMAN – Recovery Manager (“Gerenciador de Recuperação”) – é a ferramenta recomendada pela Oracle para executar Backups dos bancos de dados gerenciados por seu principal produto, o Oracle Database, e existe desde a versão 8.0.3. Não adianta fugir. Se você pretende administrar seriamente um banco de dados Oracle, terá que dominar esta ferramenta.

TRANSCRIPT

Page 1: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

Oracle Backup & Recovery9iR1 ao 12cR1

Ricardo Portilho [email protected]

Esta obra está licenciada sob a licençaCreative Commons Atribuição-SemDerivados 3.0 Brasil.

Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nd/3.0/br/.

Page 2: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

2

Minha abordagem

• Pense em Recovery, e não em Backup. RMAN significa Recovery Manager, e não Backup Manager.• Sem RMAN, o Manager do Recovery será você.• O cliente não 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 estão cada vez maiores, e o Recovery, mais difícil.• Cerca de 80% dos grandes Bancos de Dados não são recuperáveis.• 60% das empresas que perderam dados fecharam suas portas em até 1 ano.• Backup e Recovery é com RMAN.• O RMAN é grátis: se você comprou o Oracle, ele já é seu.• O RMAN não precisa ser instalado.• Se o Banco de Dados é importante, deve estar em ARCHIVELOG.• Se o Banco de Dados não é importante, para que colocar dados nele?• Não há motivo que justifique Backup Offline (“Backup Frio”).• Recovery é uma situação estressante.• Durante uma situação estressante, tendemos a utilizar as opções que conhecemos melhor.• Recovery deve ser praticado, treinado, dominado.• Você terá que fazer um Recovery. A questão não é SE, é QUANDO.• Saiba o tempo necessário para um Recovery – irão 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. Não execute uma operação sem saber seu efeito.• Conheça outros RDBMS. TI não é lugar para paixões. Você ficaria surpreso em descobrir as vantagens

dos Logs de outros RDBMs sobre o Oracle.• Faça um Backup antes, e outro depois.• Saiba dizer “Não”.

Page 3: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

3

Estratégia / Política de Backup

● RTO (Recovery Time Objective)● RPO (Recovery Point Objective)● Retenção por Negócio● Retenção por Legislação● DISK / FRA / TAPE

Page 4: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

4

O que é o RMAN?

Page 5: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

5

Packages RMAN

rman + recover.bsq:● DBMS_RCVMAN● DBMS_BACKUP_RESTORE● DBMS_RCVCAT● DBMS_TDB

Page 6: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

6

Arquitetura RMAN

Page 7: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

7

MML

Page 8: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

8

Views RMAN

● V$BACKUP_FILES● V$BACKUP_PIECE● V$BACKUP_SET_SUMMARY● V$BACKUP_CONTROLFILE_DETAILS● V$BACKUP_COPY_DETAILS● V$BACKUP_DATAFILE_DETAILS● V$RMAN_OUTPUT● V$RMAN_STATUS● V$RMAN_BACKUP_JOB_DETAILS

Page 9: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

9

Por que usar o RMAN?

Page 10: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

10

$ sqlplus / as sysdbaSQL> ALTER TABLESPACE USERS ADD DATAFILE '/u01/oradata/ORCL/users02.dbf' SIZE 10M AUTOEXTEND ON MAXSIZE UNLIMITED;SQL> EXIT;

$ rman TARGET /RMAN> REPORT NEED BACKUP;RMAN> EXIT;

$ sqlplus / AS SYSDBASQL> CREATE TABLE T TABLESPACE USERS NOLOGGING AS SELECT * FROM ALL_OBJECTS;SQL> EXIT;

$ rman TARGET /RMAN> REPORT UNRECOVERABLE;RMAN> EXIT;

Lab 0.1: Por que usar o RMAN?

Page 11: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

11

RMAN: Vantagens

• Backup Lógico (exp / expdp) é mais lento que Backup Físico (RMAN).• Restore Lógico é (imp / imdp) é mais lento que Restore Físico (RMAN).• Restores Lógicos não podem ser em um ponto do tempo.• User Managed Backup (BEGIN BACKUP / END BACKUP) gera mais Redo Logs.• O RMAN sabe automaticamente onde estão todos os arquivos do Banco de Dados.• Compressão embutida significa Backups a mais, e dinheiro a mais.• E todas as New Features a seguir não poderão ser utilizadas…

Page 12: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

12

RMAN New Features: 10gR1

• RMAN Scripts Manageability• Enhanced RMAN Reporting• Backup Compression• Bounded Backup Window• Recovery Area Full Alert• Flash Backup and Recovery• RMAN Database Deregistration• Backup and Restore of Standby Control File• Automatic TSPITR• Simplified Recovery Manager Cataloging of Backup Files• Automatic Channel Failover for Backup and Restore• Automatic File Creation During Recovery• Simplified Backups to Disk• Proxy Copy Backup of Archivelogs• Incrementally Updated Backups• Simplified Recovery Through Resetlogs• Restore Tolerates Corrupt or Missing Backups• Full Database Begin Backup Command• Change-Aware Incremental Backups

Page 13: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

13

RMAN New Features: 10gR2

• Automatic Deletion of Applied Archive Logs• Dynamic RMAN Channel Allocation for Backing Up and Recovering RAC Database• RMAN Backup Encryption• Enhanced RMAN Backup Job Views• Hardware Assisted Resilient Data (HARD) Compliant RMAN Backups• Incremental Roll Forward of Database Copy• Unused Block Compression• Restore Point• Temporary Datafiles Are Re-Created on RMAN Recovery• Use RMAN Compression During Cloning

Page 14: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

14

RMAN New Features: 11gR1

● Archive Log Management Improvements● Fast Incremental Backups on Physical Standby Database● Improved Backup Compression Performance● Improved Integration with Data Guard● Network-Aware DUPLICATE Command● Optimized Undo Backup● Read-Only Transported Tablespaces Backup● Virtual Private Catalog● Data Recovery Advisor● Enhance LogMiner to Support Automatic Data Repair● Integrated Protection From Various Data Corruptions● Lost-Write Detection Using a Physical Standby Database

Page 15: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

15

RMAN New Features: 11gR2

• Automatic Block Repair• Backup to Amazon Simple Storage Service (S3) Using OSB Cloud Computing• DUPLICATE Without Connection to Target Database• Enhanced Tablespace Point-In-Time Recovery (TSPITR)• New DUPLICATE Options• New SET NEWNAME Clauses and Format Options• Tablespace Checks in DUPLICATE

Page 16: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

16

RMAN New Features: 12cR1

• Comandos SQL / DESCRIBE / SELECT• SYSBACKUP Administration Privilege• Storage Snapshot Optimization• Table-Level Recovery From Backups• Active Database Duplication Enhancements• Cross-Platform Backup and Restore• DUPLICATE Enhancements• Multisection Image Copies• Multisection Incremental Backups• Network-Enabled RESTORE

Page 17: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

17

Features Enterprise

• Duplexed Backup Sets• Block Change Tracking• Unused Block Compression Backup• Block-Level Recovery• Automatic Block Repair• Parallel Backup and Recovery• TSPITR• TPITR• Trial Recovery• Flashback• Cross-Platform Backup & Recovery• Transportable Tablespace and Full Transportable Database

Page 18: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

18

RMAN: Conexões, Opções, Configurações e Comandos

Page 19: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

19

Conexões

Page 20: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

20

Conexões

● TARGET$ rman TARGET /$ rman TARGET BACKUP_USER/BACKUP_USER$ rman TARGET BACKUP_USER/BACKUP_USER@PRD

• CATALOG$ rman TARGET / CATALOG=RMAN_USER/RMAN_USER@CATALOGO

• AUXILIARY$ rman AUXILIARY BACKUP_USER/BACKUP_USER@PRD TARGET /$ rman AUXILIARY / TARGET BACKUP_USER/BACKUP_USER@PRD

Page 21: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

21

Opções

Page 22: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

22

Configurações

Exibir todas configurações padrãoRMAN> SHOW ALL;

Exibir uma configuração padrãoRMAN> SHOW RETENTION POLICY;

Alterar uma configuração padrãoRMAN> CONFIGURE BACKUP OPTIMIZATION ON;

Reiniciar uma configuração padrãoRMAN> CONFIGURE BACKUP OPTIMIZATION CLEAR;

Ignorar uma configuração padrão até o final da sessãoRMAN> SET COMPRESSION ALGORITHM 'HIGH';

Ignorar uma configuração padrão uma vezRMAN> RUN {SET BACKUP COPIES 2; BACKUP DATABASE;}

Page 23: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

23

Comandos

@@@ADVISE FAILUREALLOCATE CHANNELALLOCATE CHANNEL FOR MAINTENANCEALTER DATABASEBACKUPCATALOGCHANGECONFIGURECONNECTCONVERTCREATE CATALOGCREATE SCRIPTCROSSCHECKDELETEDELETE SCRIPTDROP CATALOGDROP DATABASEDUPLICATEEXECUTE SCRIPTEXITFLASHBACK DATABASEGRANTHOSTIMPORT CATALOG

LISTPRINT SCRIPTQUITRECOVERREGISTER DATABASERELEASE CHANNELREPAIR FAILUREREPLACE SCRIPTREPORTRESET DATABASERESTORERESYNC CATALOGREVOKERMANRUNSENDSETSHOWSHUTDOWNSPOOLSQLSTARTUPSWITCHTRANSPORT TABLESPACEUNREGISTERUPGRADE CATALOGVALIDATE

Page 24: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

24

Execute o RMAN em modo DEBUG.$ rman DEBUG TRACE=/home/oracle/rman.trc TARGET /RMAN> SHOW ALL;RMAN EXIT;

$ rman DEBUG=IO TRACE=/home/oracle/rmanIO.trc TARGET /RMAN> BACKUP DATAFILE 1;RMAN EXIT;

Verifique o conteúdo dos arquivos de TRACE.

Execute o RMAN em modo LOG.$ rman LOG=/home/oracle/rman.log TARGET /RMAN> SHOW ALL;RMAN> EXIT;

Verifique o conteúdo do arquivo de LOG.

Estudando o TRACE, execute o SHOW ALL pelo SQL*Plus.

Lab 1.1: Conexões, Opções, Configurações

Page 25: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

25

Verifique todas as configurações do RMAN.$ rman TARGET /RMAN> SHOW ALL;

Altere as seguintes configurações do RMAN.RMAN> CONFIGURE BACKUP OPTIMIZATION ON;RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET;

Verifique indidualmente o conteúdo das configurações alteradas.

Volte uma das configurações ao seu valor original (CLEAR), e a altere novamente.

Lab 1.2: Conexões, Opções, Configurações

Page 26: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

26

Instance

Page 27: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

27

Instance States

Estados:SHUTDOWNSTARTUP --- O RMAN só conecta no TARGET e AUXILIARY a partir deste estágio.MOUNTOPEN – O RMAN só conecta no CATALOG neste estágio.

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;

Page 28: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

28

Altere o Banco de Dados para o modo NOARCHIVELOG.SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP MOUNT;SQL> ALTER DATABASE NOARCHIVELOG;SQL> ALTER DATABASE OPEN;

Execute um BACKUP OFFLINE.RMAN> SHUTDOWN IMMEDIATE;RMAN> STARTUP MOUNT;RMAN> BACKUP DATABASE;RMAN> ALTER DATABASE OPEN;

Lab 2.1: Instance

Page 29: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

29

Archived Redo Logs

Page 30: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

30

Archived Redo Logs

Page 31: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

31

Parâmetros: Archived Redo Logs

archive_lag_targetlog_archive_configlog_archive_destlog_archive_dest_1, log_archive_dest_2 , log_archive_dest_3...log_archive_dest_state_1, log_archive_dest_state_2, log_archive_dest_state_3...log_archive_duplex_destlog_archive_formatlog_archive_local_firstlog_archive_max_processeslog_archive_min_succeed_destlog_archive_startlog_archive_tracestandby_archive_dest

Page 32: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

32

Format: Archived Redo Logs

%s: log sequence number%S: log sequence number, zero filled%t: thread number%T: thread number, zero filled%a: activation ID%d: database ID%r: resetlogs ID

Page 33: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

33

Escolha um local de armazenamento dos Archived Redo Logs.$ mkdir /u01/archivesSQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/u01/archives';

Escolha um nome para os Archives.SQL> ALTER SYSTEM SET LOG_ARCHIVE_FORMAT = ...

Altere o Banco de Dados para o modo ARCHIVELOG.SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP MOUNT;SQL> ALTER DATABASE ARCHIVELOG;SQL> ALTER DATABASE OPEN;

Habilite mais um destino de armazenamento dos Archived Redo Logs.

Verifique se os Archived Redo Logs estão sendo gerados nos dois destinos.

Verifique o Alert Log.

Lab 3.1: Archived Redo Logs

Page 34: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

34

RMAN: Backup

Page 35: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

35

BACKUP Multitenant

RMAN> BACKUP TABLESPACE PDB1:USERS;RMAN> BACKUP DATABASE root;RMAN> BACKUP PLUGGABLE DATABASE PDB1;RMAN> BACKUP PLUGGABLE DATABASE PDB1,PDB2;

Page 36: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

36

RMAN> BACKUP SPFILE;

RMAN> BACKUP CURRENT CONTROLFILE;

RMAN> BACKUP DATAFILE 1;RMAN> BACKUP DATAFILE 1, 2;

RMAN> BACKUP TABLESPACE USERS;RMAN> BACKUP TABLESPACE USERS, SYSAUX;

Lab 4.1: Backup

Page 37: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

37

RMAN> LIST ARCHIVELOG ALL;RMAN> ALTER SYSTEM SWITCH LOGFILE;RMAN> ALTER SYSTEM SWITCH LOGFILE;RMAN> ALTER SYSTEM SWITCH LOGFILE;RMAN> LIST ARCHIVELOG ALL;

RMAN> LIST ARCHIVELOG SEQUENCE 1;RMAN> LIST ARCHIVELOG FROM SEQUENCE 1;RMAN> LIST ARCHIVELOG FROM SEQUENCE 1 UNTIL SEQUENCE 10;

RMAN> BACKUP ARCHIVELOG SEQUENCE 1;RMAN> BACKUP ARCHIVELOG FROM SEQUENCE 2 UNTIL SEQUENCE 10;RMAN> BACKUP ARCHIVELOG UNTIL SEQUENCE 10;

RMAN> BACKUP ARCHIVELOG SEQUENCE 30;RMAN> BACKUP ARCHIVELOG SEQUENCE 30;RMAN> BACKUP ARCHIVELOG SEQUENCE 30 NOT BACKED UP 3 TIMES;RMAN> BACKUP ARCHIVELOG SEQUENCE 30 NOT BACKED UP 3 TIMES;

RMAN> BACKUP ARCHIVELOG ALL;RMAN> BACKUP ARCHIVELOG ALL DELETE INPUT;

Lab 4.2: Backup

Page 38: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

38

RMAN> BACKUP DATABASE;RMAN> BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT;RMAN> BACKUP DATABASE TO DESTINATION '/home/oracle/';RMAN> BACKUP NOT BACKED UP SINCE TIME 'SYSDATE-1' DATABASE;

RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 2;RMAN> CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 2;RMAN> BACKUP DATABASE;O que aconteceu?

RMAN> BACKUP BACKUPSET 10;RMAN> BACKUP BACKUPSET ALL;

Lab 4.3: Backup

Page 39: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

39

RMAN: Repository

Page 40: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

40

RMAN Repository

● CONTROL_FILE_RECORD_KEEP_TIME● Licenciamento● Backup● High Availability

Page 41: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

41

RMAN Compatibility Matrix

Page 42: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

42

RMAN CATALOG

RC_ARCHIVED_LOGRC_BACKUP_ARCHIVELOG_DETAILSRC_BACKUP_ARCHIVELOG_SUMMARYRC_BACKUP_CONTROLFILERC_BACKUP_CONTROLFILE_DETAILSRC_BACKUP_CONTROLFILE_SUMMARYRC_BACKUP_COPY_DETAILSRC_BACKUP_COPY_SUMMARYRC_BACKUP_CORRUPTIONRC_BACKUP_DATAFILERC_BACKUP_DATAFILE_DETAILSRC_BACKUP_DATAFILE_SUMMARYRC_BACKUP_FILESRC_BACKUP_PIECERC_BACKUP_PIECE_DETAILSRC_BACKUP_REDOLOGRC_BACKUP_SETRC_BACKUP_SET_DETAILSRC_BACKUP_SET_SUMMARYRC_BACKUP_SPFILERC_BACKUP_SPFILE_DETAILSRC_BACKUP_SPFILE_SUMMARYRC_CHECKPOINTRC_CONTROLFILE_COPYRC_COPY_CORRUPTIONRC_DATABASERC_DATABASE_BLOCK_CORRUPTION

RC_DATABASE_INCARNATIONRC_DATAFILERC_DATAFILE_COPYRC_LOG_HISTORYRC_OFFLINE_RANGERC_PROXY_ARCHIVEDLOGRC_PROXY_ARCHIVELOG_DETAILSRC_PROXY_ARCHIVELOG_SUMMARYRC_PROXY_CONTROLFILERC_PROXY_COPY_DETAILSRC_PROXY_COPY_SUMMARYRC_PROXY_DATAFILERC_REDO_LOGRC_REDO_THREADRC_RESTORE_POINTRC_RESYNCRC_RMAN_BACKUP_JOB_DETAILSRC_RMAN_BACKUP_SUBJOB_DETAILSRC_RMAN_BACKUP_TYPERC_RMAN_CONFIGURATIONRC_RMAN_OUTPUTRC_RMAN_STATUSRC_SITERC_STORED_SCRIPTRC_STORED_SCRIPT_LINERC_TABLESPACERC_TEMPFILERC_UNUSABLE_BACKUPFILE_DETAILS

Page 43: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

43

Crie um CATALOG em seu próprio Banco de Dados.$ sqlplus / AS SYSDBASQL> CREATE TABLESPACE TBS_CATALOGO DATAFILE '/u01/oradata/ORCL/tbs_catalogo_01.dbf' SIZE 10M AUTOEXTEND ON NEXT 10M;SQL> CREATE USER USER_CATALOGO IDENTIFIED BY USER_CATALOGO DEFAULT TABLESPACE TBS_CATALOGO;SQL> GRANT CONNECT, RESOURCE, RECOVERY_CATALOG_OWNER TO USER_CATALOGO;SQL> ALTER USER USER_CATALOGO QUOTA UNLIMITED ON TBS_CATALOGO;$ rman CATALOG=USER_CATALOGO/USER_CATALOGORMAN> CREATE CATALOG TABLESPACE TBS_CATALOGO;RMAN> EXIT;

Registre seu Banco de Dados no CATALOG local.$ rman CATALOG=USER_CATALOGO/USER_CATALOGO TARGET /RMAN> REGISTER DATABASE;

Desregistre seu Banco de Dados do CATALOG local, e remova o CATALOG.RMAN> UNREGISTER DATABASE;RMAN> DROP CATALOG;

Registre seu Banco de Dados no CATALOG centralizado.

Lab 5.1: Catalog

Page 44: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

44

Com o RMAN, conecte no TARGET sem conectar no CATALOG.$ rman TARGET /

Altere uma configuração do RMAN.RMAN> CONFIGURE BACKUP OPTIMIZATION OFF;

Saia do RMAN, e agora conecte-se ao TARGET e ao CATALOG.RMAN> EXIT;$ rman CATALOG=USER_CATALOGO/USER_CATALOGO@CATALOGO TARGET /A configuração se manteve? Por que?

Execute o script de limpeza do CATALOG.$ sqlplus USER_CATALOGO/USER_CATALOGO@CATALOGOSQL>@?/rdbms/admin/prgrmanc.sql

Lab 5.2: Catalog

Page 45: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

45

RMAN: Validate

Page 46: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

46

RMAN> BACKUP VALIDATE DATAFILE 1;RMAN> BACKUP VALIDATE TABLESPACE USERS;RMAN> BACKUP VALIDATE DATABASE;RMAN> BACKUP VALIDATE CHECK LOGICAL DATAFILE 1;RMAN> BACKUP VALIDATE CHECK LOGICAL TABLESPACE USERS;RMAN> BACKUP VALIDATE CHECK LOGICAL DATABASE;

OU

RMAN> VALIDATE DATAFILE 1;RMAN> VALIDATE TABLESPACE USERS;RMAN> VALIDATE DATABASE;RMAN> VALIDATE CHECK LOGICAL DATAFILE 1;RMAN> VALIDATE CHECK LOGICAL TABLESPACE USERS;RMAN> VALIDATE CHECK LOGICAL DATABASE;

Lab 6.1: Validate

Page 47: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

47

RMAN> RESTORE VALIDATE DATAFILE 1;RMAN> RESTORE VALIDATE DATAFILE 1,2;RMAN> RESTORE VALIDATE TABLESPACE USERS;RMAN> RESTORE VALIDATE TABLESPACE USERS, SYSAUX;RMAN> RESTORE VALIDATE DATABASE;

RMAN> RESTORE VALIDATE CHECK LOGICAL DATAFILE 1;RMAN> RESTORE VALIDATE CHECK LOGICAL DATAFILE 1,2;RMAN> RESTORE VALIDATE CHECK LOGICAL TABLESPACE USERS;RMAN> RESTORE VALIDATE CHECK LOGICAL TABLESPACE USERS, SYSAUX;RMAN> RESTORE VALIDATE CHECK LOGICAL DATABASE;

RMAN> REPORT NEED BACKUP;

RMAN> VALIDATE BACKUPSET 10;

Lab 6.2: Validate

Page 48: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

48

RMAN: Compression

Page 49: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

49

Algoritmo ZLIB11.1.0CONFIGURE or SET COMPRESSION ALGORITHM 'ZLIB'; 11.2.0CONFIGURE or SET COMPRESSION ALGORITHM 'MEDIUM';

Algoritmo BZIP211.1.0CONFIGURE or SET COMPRESSION ALGORITHM 'BZIP2';11.2.0CONFIGURE or SET COMPRESSION ALGORITHM 'BASIC';

Advanced Compression11.2.0CONFIGURE or SET COMPRESSION ALGORITHM 'HIGH';

Pre-Compression Block Processing11.2.0OPTIMIZE FOR LOAD TRUEOPTIMIZE FOR LOAD FALSE

Exemplo:RMAN> CONFIGURE COMPRESSION ALGORITHM 'HIGH' OPTIMIZE FOR LOAD TRUE;

Compression

Page 50: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

50

Verifique a compressão padrão atual do RMAN.

Altere o alogoritmo de compressão padrão do RMAN.RMAN> CONFIGURE COMPRESSION ALGORITHM 'MEDIUM' OPTIMIZE FOR LOAD FALSE;RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE;

Altere o alogoritmo de compressão padrão do RMAN.RMAN> CONFIGURE COMPRESSION ALGORITHM 'BASIC' OPTIMIZE FOR LOAD FALSE;RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE;

Altere o alogoritmo de compressão padrão do RMAN.RMAN> CONFIGURE COMPRESSION ALGORITHM 'HIGH' OPTIMIZE FOR LOAD FALSE;RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE;

Qual a diferença de tempo e tamanho entre os Backups?Qual a diferença de uso de CPU entre os Backups?Mantenha a configuração com melhor relação custo / benefício.

Lab 7.1: Compression

Page 51: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

51

RMAN: Encryption

Page 52: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

52

Transparent EncryptionRMAN> SET ENCRYPTION ON

Password EncryptionRMAN> SET ENCRYPTION ON IDENTIFIED BY 'MyPasswordIsHard' ONLY;RMAN> SET DECRYPTION IDENTIFIED BY 'MyPasswordIsHard';

Dual Mode EncryptionRMAN> SET ENCRYPTION ON IDENTIFIED BY 'MyPasswordIsHard';RMAN> SET DECRYPTION IDENTIFIED BY 'MyPasswordIsHard';

Encryption

Page 53: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

53

Oracle Wallet

Page 54: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

54

Habilite o Password Encryption para uma sessão.RMAN> SET ENCRYPTION ON IDENTIFIED BY 'Nerv2014' ONLY;

Execute um Backup de um ARCHIVELOG com DELETE INPUT.RMAN> LIST ARCHIVELOG ALL;RMAN> BACKUP ARCHIVELOG SEQUENCE 10 DELETE INPUT;

Saia do RMAN, e restaure o ARCHIVELOG.RMAN> EXIT;RMAN> RESTORE ARCHIVELOG SEQUENCE 10;

Lab 8.1: Encryption

Page 55: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

55

RMAN: Snapshot Controlfile

Page 56: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

56

Lab 9.1: Snapshot Controlfile

Crie um diretório para armazenar o SNAPSHOT CONTROLFILE.

Altere a localização padrão do SNAPSHOT CONTROLFILE para o novo diretório.

Execute o comando SHOW ALL, e verifique a nova localização.O SNAPSHOT CONTROLFILE continua na antiga localização?

Page 57: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

57

RMAN: List

Page 58: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

58

RMAN> LIST BACKUP OF CONTROLFILE;RMAN> LIST BACKUP OF DATAFILE 1;RMAN> LIST BACKUP OF TABLESPACE USERS;RMAN> LIST BACKUP OF DATABASE;RMAN> LIST BACKUP;

RMAN> LIST BACKUP OF CONTROLFILE SUMMARY;RMAN> LIST BACKUP OF DATAFILE 1 SUMMARY;RMAN> LIST BACKUP OF TABLESPACE USERS SUMMARY;RMAN> LIST BACKUP OF DATABASE SUMMARY;RMAN> LIST BACKUP SUMMARY;Que informação há em cada coluna dos comandos SUMMARY?

Lab 10.1: List

Page 59: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

59

RMAN: Crosscheck

Page 60: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

60

CROSSCHECK

Page 61: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

61

Execute Crosscheck de vários tipos de dados do Repositório do RMAN.RMAN> CROSSCHECK BACKUP OF DATAFILE 1;RMAN> CROSSCHECK BACKUP OF TABLESPACE USERS;RMAN> CROSSCHECK BACKUP OF SPFILE;RMAN> CROSSCHECK ARCHIVELOG ALL;

Mova um ARCHIVE para outro diretório, e refaça o CROSSCHECK.Que informação mudou?

Remova este ARCHIVE do Repositório com o DELETE EXPIRED.RMAN> DELETE EXPIRED ARCHIVELOG ALL;

Reinsira as informações do ARCHIVE com o comando CATALOG.RMAN> CATALOG ARCHIVELOG '/home/oracle/archive_10101010.arc';OURMAN> CATALOG START WITH '/home/oracle/';

Verifique se a informação do ARCHIVE voltou a existir no Repositório do RMAN.RMAN> LIST ARCHIVELOG ALL;Que informação mudou?

Lab 11.1: Crosscheck

Page 62: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

62

Mova um BACKUP para outro diretório, e refaça o CROSSCHECK.Que informação mudou?

Remova este BACKUP do Repositório com o DELETE EXPIRED.RMAN> DELETE EXPIRED BACKUP;

Reinsira as informações do BACKUP com o comando CATALOG.RMAN> CATALOG BACKUPPIECE '/home/oracle/bkp_10101010.bkp';OURMAN> CATALOG START WITH '/home/oracle';

Verifique se a informação do BACKUP voltou a existir no Repositório do RMAN.RMAN> LIST BACKUP OF DATAFILE 1;Que informação mudou?

Lab 11.2: Crosscheck

Page 63: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

63

RMAN: Backup Optimization

Page 64: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

64

Verifique se o OPTIMIZATION está em ON.

Altere uma TABLESPACE para READ ONLY.

Execute um BACKUP completo do Banco de Dados.

Execute novamente um BACKUP completo do Banco de Dados.

Execute novamente um BACKUP completo do Banco de Dados.

Verifique se o segundo Backup incluiu a TABLESPACE em READ ONLY.

Execute novamente um BACKUP completo do Banco de Dados, mas com FORCE.RMAN> BACKUP DATABASE FORCE;

Lab 12.1: Backup Optimization

Page 65: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

65

RMAN: Backup, Tag, Backup Set, Backup Piece

Page 66: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

66

→ BACKUP

→ BACKUP TAG

→ BACKUP SET

→ BACKUP PIECE

Hierarquia

Page 67: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

67

Altere a configuração do RMAN para utilizar paralelismo de BACKUP.RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 2; 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.

Lab 13.1: Backup, BackupSet, PackupPiece

Page 68: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

68

RMAN: FORMAT

Page 69: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

69

%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

FORMAT

Page 70: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

70

Crie um diretório para armazenar os BACKUPs.

Altere a localização e nome padrão dos BACKUPS, utilizando o FORMAT.

RMAN> CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT...

Execute um BACKUP completo do Banco de Dados, e verifique os novos nomes.

Altere a localização e nome padrão do CONTROLFILE AUTOBACKUP.

Execute um BACKUP de 1 Datafile, e verifique o novo nome do CONTROLFILE AUTOBACKUP.

Lab 14.1: Format

Page 71: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

71

RMAN: Backup Incremental

Page 72: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

72

Differential Incremental Backups

Page 73: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

73

Cumulative Incremental Backups

Page 74: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

74

Execute um BACKUP completo do Banco de Dados.RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASE;

Execute um BACKUP INCREMENTAL LEVEL 1 do Banco de Dados.RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;

Execute um BACKUP INCREMENTAL CUMULATIVE LEVEL 1 do Banco de Dados.RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;Qual Backup foi mais rápido?Qual foi menor?

Lab 15.1: Backup Incremental

Page 75: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

75

Habilite o BLOCK CHANGE TRACKING.SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE...

Execute um BACKUP completo do Banco de Dados.RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASE;

Execute um BACKUP INCREMENTAL LEVEL 1 do Banco de Dados.RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;Qual Backup foi mais rápido?Qual foi menor?

Verifique a utilização do Block Change Tracking.SQL> SELECT DATAFILE_BLOCKS, BLOCKS_READ, USED_CHANGE_TRACKING FROM V$BACKUP_DATAFILE WHERE FILE# = 1;

O que acontece se o BCT File fica indisponível?

Lab 15.2: Backup Incremental

Page 76: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

76

Execute um Incrementally Updated Backup.RMAN> BACKUP AS COPY DATABASE TAG 'BackupFull';

RMAN> BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'BackupFull' DATABASE;RMAN> BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'BackupFull' DATABASE;RMAN> BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'BackupFull' DATABASE;

RMAN> RECOVER COPY OF DATABASE WITH TAG 'BackupFull';

Lab 15.3: Backup Incremental

Page 77: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

77

RMAN: Switch

Page 78: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

78

Troque a localização de um DATAFILE com RMAN.RMAN> RUN {BACKUP DATAFILE 5;SQL 'ALTER TABLESPACE EXAMPLE OFFLINE';SET NEWNAME FOR DATAFILE 5 TO '/home/oracle/example01.NEWNAME.dbf';RESTORE DATAFILE 5;RECOVER DATAFILE 5;SWITCH DATAFILE 5;SQL 'ALTER TABLESPACE EXAMPLE ONLINE';REPORT SCHEMA;}Funcionou? Por que?O DATAFILE sumiu da localização anterior?

Execute o MOVE ONLINE deste DATAFILE.SQL> ALTER DATABASE MOVE DATAFILE '/home/oracle/example01.NEWNAME.dbf' TO '/home/oracle/example01.SUPERNEWNAME.dbf';Qual a diferença do método anterior?

Lab 16.1: Switch

Page 79: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

79

RMAN: Retention

Page 80: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

80

Retentions

Page 81: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

81

Altere o RETENTION para RECOVERY WINDOW OF 6 DAYS.RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 6 DAYS;

Verifique quais BACKUPs estão obsoletos.RMAN> REPORT OBSOLETE;

Remova os BACKUPs obsoletos.RMAN> DELETE OBSOLETE;

Altere o RETENTION para REDUNDANCY 1.RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 1;

Verifique quais BACKUPs estão obsoletos.RMAN> REPORT OBSOLETE;

Remova os BACKUPs obsoletos.RMAN> DELETE OBSOLETE;

Lab 17.1: Retention

Page 82: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

82

Altere o RETENTION para REDUNDANCY 2.RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 2;

Verifique quais BACKUPs estão obsoletos.RMAN> REPORT OBSOLETE;

Remova os BACKUPs obsoletos.RMAN> DELETE OBSOLETE;

Execute um BACKUP completo do Banco de Dados.RMAN> BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT;

Verifique quais BACKUPs estão obsoletos.RMAN> REPORT OBSOLETE;

Remova os BACKUPs obsoletos.RMAN> DELETE OBSOLETE;

Lab 17.2: Retention

Page 83: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

83

Execute um BACKUP que ignora o RETENTION.RMAN> BACKUP DATABASE KEEP UNTIL TIME='SYSDATE+366';

Verifique quais BACKUPs estão obsoletos.RMAN> REPORT OBSOLETE;

Lab 17.3: Retention

Page 84: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

84

RMAN: Scripts

Page 85: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

85

Crie um Stored Script para um BACKUP completo do Banco de Dados.RMAN> CREATE SCRIPT BackupCompleto{BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT;}

Verifique o conteúdo do Stored Script.RMAN> PRINT SCRIPT BackupCompleto;RMAN> LIST ALL SCRIPT NAMES;Onde ficam armazenados os Stored Scripts?

Execute o Stored Script.RMAN> RUN {EXECUTE SCRIPT BackupCompleto;}

Crie um Shell Script que execute um Stored Script.

Remova o Stored Script.RMAN> DELETE SCRIPT BackupCompleto;

Lab 18.1: Scripts

Page 86: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

86

RMAN: Copy

Page 87: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

87

Criar uma cópia de um DATAFILE.RMAN> COPY DATAFILE 1 TO '/tmp/system01.dbf';

Crie uma cópia do CONTROLFILE.RMAN> COPY CURRENT CONTROLFILE TO '/tmp/control01.ctl';

Criar uma Cópia completa do Banco de Dados.RMAN> BACKUP AS COPY DB_FILE_NAME_CONVERT = ('/u01','/u02') DATABASE;

Criar uma Cópia completa do Banco de Dados, com o CONTROLFILE.RMAN> BACKUP AS COPY DB_FILE_NAME_CONVERT = ('/u01','/u02') DATABASE INCLUDE CURRENT CONTROLFILE;

Lab 19.1: Copy

Page 88: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

88

RMAN: Change

Page 89: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

89

Liste todos os BACKUPS do DATAFILE 1.

Altere um BACKUPSET para UNAVAILABLE.RMAN> CHANGE BACKUPSET 522 UNAVAILABLE;

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 Repositório.RMAN> CHANGE ARCHIVELOG ALL UNCATALOG;

Liste todos os ARCHIVELOGs.O que mudou?

Inclua todos ARCHIVELOGs no Repositório novamente.RMAN> CATALOG START WITH '/tmp';

Lab 20.1: Change

Page 90: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

90

Liste todos os Backups.

Altere o Retention de um deles.RMAN> CHANGE BACKUP TAG 'MeuBackup' KEEP FOREVER;

Lab 20.2: Change

Page 91: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

91

RMAN: Tuning

Page 92: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

92

Memória● DISK_ASYNCH_IO / TAPE_ASYNCH_IO● DBWR_IO_SLAVES● PGA / LARGE_POOL / SHARED_POOL

Multiplexing● PARALLELISM● Multi-section backups

Leitura● CONFIGURE CHANNEL 1 DEVICE TYPE DISK MAXOPENFILES 4;● BCT

Gravação● BACKUP DATABASE FILESPERSET 1;

DURATION● BACKUP DURATION 5:00 PARTIAL MINIMIZE TIME DATABASE FILESPERSET 1;● BACKUP DURATION 5:00 PARTIAL MINIMIZE LOAD DATABASE FILESPERSET 1;

Tuning

Page 93: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

93

AcompanhamentoSET PAGESIZE 1000SET LINESIZE 200COL MESSAGE FORMAT A100SELECT SID,SERIAL#,START_TIME,((SOFAR/TOTALWORK)*100),'%',MESSAGE FROM V$SESSION_LONGOPS where TIME_REMAINING > 0 ORDER BY TIME_REMAINING;

SELECT type, status, filename, buffer_size, buffer_count FROM v$backup_sync_io WHERE type <> 'AGGREGATE' AND status = 'IN PROGRESS';

SELECT type, status, filename, buffer_size, buffer_count FROM v$backup_async_io WHERE type <> 'AGGREGATE' AND status = 'IN PROGRESS';

SELECT * FROM V$RECOVERY_PROGRESS;

Tuning

Page 94: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

94

Qual a diferença destas duas execuções?RMAN> BACKUP DURATION 5:00 PARTIAL MINIMIZE TIME DATABASE FILESPERSET 1;RMAN> BACKUP DURATION 5:00 PARTIAL MINIMIZE LOAD DATABASE FILESPERSET 1;

Qual a diferença destas duas execuções?RMAN> BACKUP DURATION 0:01 PARTIAL MINIMIZE LOAD DATABASE FILESPERSET 1;RMAN> BACKUP DURATION 0:01 MINIMIZE LOAD DATABASE FILESPERSET 1;

Lab 21.1: Tuning

Page 95: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

95

RMAN: Restore & Recover

Page 96: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

96

RESTORE & RECOVER

Page 97: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

97

RESTORE & RECOVER Multitenant

RMAN> RESTORE DATABASE;RMAN> RESTORE DATABASE root;RMAN> RESTORE PLUGABLE DATABASE PDB1;RMAN> RESTORE TABLESPACE PDB1:USERS;

Page 98: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

98

RMAN: Recovery - SPFILE

Page 99: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

99

Cenários com a Instance em OPEN.Restore com CATALOG e com Backup.

Preparação:• Deixe a Instance em estado OPEN.• Remova o SPFILE.• Se tiver um PFILE (initORCL.ora), mova-o para o /home/oracle.• Altere um parâmetro no SPFILE.

Procedimento:• Conectar no RMAN, com TARGET / e CATALOG centralizado.• Listar Backups Disponíveis (LIST).• Escolher qual Backup recuperar.• Restaurar SPFILE (RESTORE).• Altere um parâmetro no SPFILE.

Lab 22.1: Restore Spfile

Page 100: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

100

Cenários com a Instance em OPEN.Restore sem CATALOG e com Backup.

Preparação:• Deixe a Instance em estado OPEN.• Remova o SPFILE.• Se tiver um PFILE (initORCL.ora), mova-o para o /home/oracle.• Altere um parâmetro no SPFILE.

Procedimento:• Conectar no RMAN, com TARGET /.• Listar Backups Disponíveis (LIST).• Escolher qual Backup recuperar.• Restaurar SPFILE (RESTORE).• Altere um parâmetro no SPFILE.

Lab 22.2: Restore Spfile

Page 101: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

101

Cenários com a Instance em OPEN.Restore sem CATALOG, sem Backup, e com PFILE (init).

Preparação:• Deixe a Instance em estado OPEN.• Crie um PFILE a partir do SPFILE, e mova-o para o /home/oracle.• Remova o SPFILE.• Altere um parâmetro no SPFILE.

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 parâmetro no SPFILE.

Lab 22.3: Restore Spfile

Page 102: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

102

Cenários com a Instance em OPEN.Restore sem CATALOG, sem BACKUP, e sem PFILE (init).

Preparação:• Deixe a Instance em estado OPEN.• Remova o SPFILE.• Se tiver um PFILE (initORCL.ora), mova-o para o /home/oracle.• Altere um parâmetro no SPFILE.

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 parâmetro no SPFILE.

Lab 22.4: Restore Spfile

Page 103: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

103

Cenários com a Instance em SHUTDOWN.Para RESTORE de SPFILE em SHUTDOWN, não importa QUANDO ou COMO a Instance passou ao estado SHUTDOWN.Restore com CATALOG e com Backup.

Preparação:• Deixe a Instance em estado SHUTDOWN.• Se tiver um PFILE (initORCL.ora), mova-o para o /home/oracle.• Remova o SPFILE.

Procedimento:• Conectar no RMAN, com TARGET / e CATALOG centralizado.• SET DBID.● Passe a Instance ao estágio STARTUP NOMOUNT. Como, sem o SPFILE ou PFILE?● Listar Backups Disponíveis (LIST). Neste momento, verifique o Parâmetro control_files pelo SQL*Plus.• Escolher qual Backup recuperar.• Restaurar SPFILE (RESTORE).• Passe a Instance ao estágio SHUTDOWN.• Passe a Instance ao estágio OPEN.• Altere um parâmetro no SPFILE.

Lab 22.5: Restore Spfile

Page 104: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

104

Cenários com a Instance em SHUTDOWN.Para RESTORE de SPFILE em SHUTDOWN, não importa QUANDO ou COMO a Instance passou ao estado SHUTDOWN.Restore sem CATALOG e com Backup.

Preparação:• Deixe a Instance em estado SHUTDOWN.• Se tiver um PFILE (init), mova-o para o /home/oracle.• Remova o SPFILE.

Procedimento:• Conectar no RMAN, com TARGET /.• SET DBID.• Passe a Instance ao estágio STARTUP NOMOUNT.• Listar Backups Disponíveis (LIST). Por que não funciona?Neste momento, verifique o Parâmetro control_files pelo SQL*Plus.• Escolher qual BACKUP recuperar.• Inclua este BACKUP no Repositório (CATALOG). Por que não funciona?• Restaurar SPFILE (RESTORE).• Passe a Instance ao estágio SHUTDOWN.• Passe a Instance ao estágio OPEN.• Altere um parâmetro no SPFILE.

Lab 22.6: Restore Spfile

Page 105: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

105

Cenários com a Instance em SHUTDOWN.Para RESTORE de SPFILE em SHUTDOWN, não importa QUANDO ou COMO a Instance passou ao estado SHUTDOWN.Restore sem CATALOG, sem Backup, e sem PFILE (init) e sem Alert Log.

Preparação:• Passe a Instance ao estado SHUTDOWN.• Remova o PFILE.• Remova o SPFILE.

Procedimento:• Crie um PFILE só com os parâmetros básicos.• 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 parâmetro no SPFILE.

Lab 22.7: Restore Spfile

Page 106: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

106

RMAN: Recovery - ARCHIVEs

Page 107: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

107

ARCHIVELOGs só podem ser restaurados com a INSTANCE em MOUNT ou OPEN.O RESTORE só pode ser feito com dados do Repositório.

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;

Restore ARCHIVELOGs

Page 108: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

108

ARCHIVELOGs só podem ser restaurados com a INSTANCE em MOUNT ou OPEN.O RESTORE só pode ser feito com dados do Repositório.

Procedimento:• Execute BACKUP de todos ARCHIVELOGs com DELETE INPUT.• Liste todos os ARCHIVELOGs disponíveis – não deve ter nenhum.• Liste todos os BACKUPs de ARCHIVELOG disponíveis.• Recupere todos os ARCHIVELOGs para um diretório diferente.• Liste todos os ARCHIVELOGs disponíveis. A localização dos ARCHIVELOGs mudou?

Lab 23.1: Restore Archived Redo Logs

Page 109: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

109

RMAN: Recovery - DATAFILE

Page 110: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

110

RESTORE→ COPY→ BACKUPSET FULL ou INCREMENTAL LEVEL 0

RECOVER→ REDO LOGs→ BACKUPSET INCREMENTAL LEVEL 1→ ARCHIVED REDO LOGs

Hierarquia Restore & Recover

Page 111: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

111

DATAFILEs só podem ser restaurados com a INSTANCE nos estados MOUNT ou OPEN.O RESTORE só pode ser feito com dados do Repositório.DATAFILEs isolados só podem sofrer COMPLETE RECOVERY.Cenário com Backup de DATAFILE e a Instance em estado OPEN.

Preparação:• Deixe a Instance em estado OPEN.• Remova o DATAFILE users02.dbf pelo Sistema Operacional.• Verifique o Alert Log.• Crie uma tabela na TABLESPACE USERS.• Verifique o Alert Log.• Execute uma validação do Banco de Dados.• Verifique o Alert Log.

Procedimento:• Coloque o DATAFILE em OFFLINE.• Execute o RESTORE do DATAFILE.• Execute o RECOVER do DATAFILE.• Altere o DATAFILE para ONLINE.

Lab 24.1: Restore Datafile

Page 112: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

112

Cenário com Backup de DATAFILE e a Instance em estado SHUTDOWN.

Preparação:• 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?• Execute o RESTORE do DATAFILE.• Execute o RECOVER do DATAFILE.• Altere a Instance para o estado OPEN.

Repita este cenário com o DATAFILE da TABLESPACE SYSTEM.

Lab 24.2: Restore Datafile

Page 113: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

113

Cenário sem Backup de DATAFILE, com ARCHIVEs e a Instance em estado OPEN.

Preparação:• Deixe a Instance em estado OPEN.• Crie um novo DATAFILE na TABLESPACE USERS.• Crie uma tabela na TABLESPACE USERS.• Remova o novo DATAFILE pelo Sistema Operacional.• Verifique o Alert Log.• Execute uma validação do Banco de Dados.• Verifique o Alert Log.

Procedimento:• Coloque o DATAFILE em OFFLINE.• Crie uma cópia do DATAFILE perdido. SQL> ALTER DATABASE CREATE DATAFILE '/LocalAntigo/users04.dbf' AS '/LocalNovo/users04.dbf';• Execute o RECOVER da cópia. SQL> RECOVER DATAFILE '/LocalNovo/users04.dbf'.• Altere o DATAFILE para ONLINE.

Lab 24.3: Restore Datafile

Page 114: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

114

Cenário sem Backup de DATAFILE, com ARCHIVEs e a Instance em estado SHUTDOWN.

Preparação:• Deixe a Instance em estado OPEN.• Remova o novo DATAFILE da TABLESPACE USERS pelo Sistema Operacional.• Verifique o Alert Log.• Execute uma validação do Banco de Dados.• Verifique o Alert Log.• Execute SHUTDOWN ABORT.

Procedimento:• Execute STARTUP. Em que estado a Instance parou?• Coloque o DATAFILE em OFFLINE.• Crie uma cópia do DATAFILE perdido. SQL> ALTER DATABASE CREATE DATAFILE '/LocalAntigo/users04.dbf' AS '/LocalNovo/users04.dbf';• Execute o RECOVER da cópia. SQL> RECOVER DATAFILE '/LocalNovo/users04.dbf';• Altere o DATAFILE para ONLINE.• Altere a Instance para o estado OPEN.

Lab 24.4: Restore Datafile

Page 115: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

115

Cenário sem Backup de DATAFILE, sem ARCHIVEs e a Instance em estado OPEN.

Preparação:• Deixe a Instance em estado OPEN.• Remova o DATAFILE 5 pelo Sistema Operacional.• Verifique o Alert Log.• Execute uma validação do Banco de Dados.• Verifique o Alert Log.

Procedimento:• Abra um Shell com o usuário root.• Verifique qual o PID do processo dbw0.• Vá ao diretório 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ê permissão ao usuário oracle para o arquivo copiado (chown oracle:dba /u01/app/oracle/oradata/ORCL/users01.dbf)• Execute uma validação do Banco de Dados.

Lab 24.5: Restore Datafile

Page 116: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

116

Cenário sem Backup de DATAFILE, sem ARCHIVEs e a Instance em estado SHUDOWN.

•Preparação:● Deixe a Instance em estado OPEN.● Remova o DATAFILE soe01.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 instância ao estado OPEN.

Lab 24.6: Restore Datafile

Page 117: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

117

Cenário com corrupção de um DATAFILE, e com a Instance em OPEN.

•Preparação:• Crie uma nova TABLESPACE.• Crie uma Tabela, com dados, nesta nova TABLESPACE.• Faça um BACKUP Completo do Banco de Dados.• Verifique qual o HEADER BLOCK dos dados desta Tabela.

SQL> SELECT HEADER_BLOCK FROM DBA_SEGMENTS WHERE OWNER = 'SYS' AND SEGMENT_NAME = 'TESTE';• Verifique o Alert Log.• Corrompa o DATAFILE.

$ dd of=/u01/oradata/ORCL/teste01.dbf bs=8192 conv=notrunc seek=131 <<EOF> Vamos corromper este datafile…> EOF

• Faça uma Validação do Banco de Dados.• Verifique o Alert Log.• Faça um Backup Completo do Banco de Dados. Por que não funciona?• Se um dia precisar utilize: SET MAXCORRUPT FOR DATAFILE 4 TO 2;

Procedimento:• RMAN> BLOCKRECOVER DATAFILE 7 BLOCK 131.• Verifique o Alert Log.

Lab 24.7: Restore Datafile

Page 118: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

118

RMAN: Recovery - TEMPFILE

Page 119: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

119

TEMPFILEs só podem ser alterados com a INSTANCE nos estados MOUNT ou OPEN.Não há BACKUP de TEMPFILEs.

Preparação:• Deixe a Instance em estado OPEN.• Adicione um TEMPFILE a TABLESPACE temporária padrão.• Remova o novo TEMPFILE pelo Sistema Operacional.• Execute uma validação do Banco de Dados.• Crie uma Tabela a partir da ALL_OBJECTS (CREATE TABLE T AS SELECT * FROM ALL_OBJECTS).• Aumente o tamanho da tabela (8x INSERT INTO T SELECT * FROM T; COMMIT;).• Execute um SELECT operação de GROUP BY nesta tabela.• Crie um índice nesta tabela.• Verifique o Alert Log.

Procedimento:• Remova logicamente o TEMPFILE. SQL> ALTER DATABASE TEMPFILE '/u01/app/oracle/oradata/ORCL/temp02.dbf' DROP;• Adicione um novo TEMPFILE.

Lab 25.1: Restore Tempfile

Page 120: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

120

RMAN: Recovery - TABLESPACES

Page 121: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

121

TSPITI

Page 122: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

122

Cenário com a Instance em estado OPEN.TABLESPACEs só podem ser restauradas com a INSTANCE nos estados MOUNT ou OPEN.O RESTORE só pode ser feito com dados do Repositório.

Preparação:• Execute um Backup Completo do Banco de Dados.• Deixe a Instance em estado OPEN.• Remova todos os DATAFILEs da TABLESPACE USERs pelo Sistema Operacional.• Verifique o Alert Log.• Crie uma tabela na TABLESPACE USERS.• Verifique o Alert Log.• Execute uma validação do Banco de Dados.• Verifique o Alert Log.

Procedimento:• Coloque o TABLESPACE em OFFLINE.• Execute o RESTORE da TABLESPACE.• Execute o RECOVER da TABLESPACE.• Altere a TABLESPACE para ONLINE.

Lab 26.1: Restore Tablespace

Page 123: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

123

Cenário com a Instance em estado SHUTDOWN.TABLESPACEs só podem ser restaurados com a INSTANCE nos estados MOUNT ou OPEN.O RESTORE só pode ser feito com dados do Repositório.

Preparação:• Deixe a Instance em estado OPEN.• Remova todos os DATAFILEs da TABLESPACE USERs 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?• Execute o RESTORE da TABLESPACE.• Execute o RECOVER da TABLESPACE.• Altere a Instance para o estado OPEN.

Lab 26.2: Restore Tablespace

Page 124: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

124

TSPITR: Tablespace Point In Time Recovery.

Preparação:• Crie um diretorio temporário para esta operação.• Habilite o Usuário SCOTT.• Crie uma TABLESPACE.• Crie uma Tabela com o Usuário SCOTT na nova TABLESPACE. SQL> CREATE TABLE T TABLESPACE USUARIOS AS SELECT * FROM USER_OBJECTS;• Execute um BACKUP completo do Banco de Dados.• Gere novos ARCHIVEs (ALTER SYSTEM SWITCH LOGFILE).• Verifique qual o último ARCHIVELOG gerado (LIST ARCHIVELOG ALL).• Remova a Tabela criada pelo SCOTT.

Procedimento:● Verifique se o TSPITR pode ser executado: SQL> EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK('USUARIOS', TRUE); SQL> SELECT * FROM TRANSPORT_SET_VIOLATIONS; SQL> SELECT NAME, CREATION_TIME FROM TS_PITR_OBJECTS_TO_BE_DROPPED WHERE OWNER = 'SCOTT' ORDER BY 2;● Execute o TSPITR: RMAN> RECOVER TABLESPACE USUARIOS UNTIL SEQUENCE 35 AUXILIARY DESTINATION '/home/oracle/TableSpaceRecover/';

Lab 26.3: Restore Tablespace

Page 125: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

125

TPITR: Table Point In Time Recovery.

Preparação:• Crie um diretorio temporário para esta operação.• Crie uma Tabela com dados com o Usuário SCOTT.• Execute um BACKUP completo do Banco de Dados.• Gere novos ARCHIVEs (ALTER SYSTEM SWITCH LOGFILE).• Verifique qual o último ARCHIVELOG gerado (LIST ARCHIVELOG ALL).• Apague todos os dados da Tabela criada pelo SCOTT.

Procedimento:• RMAN> RECOVER TABLE SCOTT.T UNTIL SEQUENCE 35 AUXILIARY DESTINATION '/home/oracle/TableRecover/' REMAP TABLE SCOTT.T:T2;

Lab 26.4: Restore Table

Page 126: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

126

RMAN: Recovery - UNDO

Page 127: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

127

Cenário com 1 DATAFILE de UNDO com segmentos ativos, com Backup e com a Instance em OPEN.

Preparação:• Deixe a Instance em estado OPEN.• Verifique qual a TABLESPACE de UNDO padrão.• Remova o DATAFILE da TABLESPACE de UNDO.• Verifique o Alert Log.• Execute uma validação do Banco de Dados.• Verifique o Alert Log.

Procedimento:• Coloque o DATAFILE em OFFLINE. O que aconteceu com o DATAFILE? E sua sessão?• 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 sessão?• Execute SHUTDOWN IMMEDIATE. Por que não 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 validação do Banco de Dados.• Verifique o Alert Log.

Lab 27.1: Restore Undo

Page 128: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

128

Cenário com 1 DATAFILE de UNDO sem segmentos ativos, com Backup e com a Instance em OPEN.

Preparação:• Deixe a Instance em estado OPEN.• Verifique qual a TABLESPACE de UNDO padrão.• Adicione um DATAFILE a TABLESPACE de UNDO padrão.• Executa um BACKUP Completo do Banco de Dados.• Remova o novo DATAFILE da TABLESPACE de UNDO.• Verifique o Alert Log.• Execute uma validação do Banco de Dados.• Verifique o Alert Log.

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 validação do Banco de Dados.• Verifique o Alert Log.

Lab 27.2: Restore Undo

Page 129: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

129

Cenário com perda de todos os DATAFILEs de UNDO, sem Backup e com a Instance em OPEN.

Preparação:• Deixe a Instance em estado OPEN.• Verifique qual a TABLESPACE de UNDO padrão.• Remova todos os DATAFILEs da TABLESPACE de UNDO.• Verifique o Alert Log.• Execute uma validação do Banco de Dados.• Verifique o Alert Log.

Procedimento:• Crie um PFILE através do SPFILE. • Execute SHUTDOWN IMMEDIATE. Por que não funciona?• Execute SHUTDOWN ABORT.• Altere no PFILE o Parâmetro UNDO_MANAGEMENT para MANUAL.• Execute STARTUP. Em que estado a Instance parou?• Altere os DATAFILEs para OFFLINE DROP.• Passe a Instance ao Estado OPEN.• Remova a antiga TABLESPACE de UNDO, e crie outra com o mesmo nome.• Se necessário, utilize o parâmetro ."_offline_rollback_segments".• Reinicie a Instance.

Lab 27.3: Restore Undo

Page 130: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

130

RMAN: Recovery – REDO LOGs

Page 131: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

131

RESETLOGS

Page 132: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

132

• TIMESET UNTIL TIME "TO_DATE('2010-07-14:13:00:00','YYYY-MM-DD:HH24:MI:SS')";

• SCNSET UNTIL SCN 824753;

• SEQUENCESET UNTIL SEQUENCE 42;

Incomplete Recovery

Page 133: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

133

Cenário com REDO LOG multiplexado, e com a Instance em OPEN.

Preparação:• Deixe a Instance em estado OPEN.• Adicione 1 Grupo de REDO Log Multiplexado.• Remova (rm) 1 membro deste grupo de REDO LOG.• Verifique o Alert Log.

Procedimento:• Verifique qual o membro que está com status INVALID (V$LOGFILE).• Remova o membro INVALID.

SQL> ALTER DATABASE DROP LOGFILE MEMBER '/u01/oradata/ORCL/redo04.log';• Adicione outro membro, para manter os REDO LOGs multiplexados.

Lab 28.1: Restore Redo Logs

Page 134: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

134

Cenário com REDO LOG não multiplexado, REDO LOG INACTIVE, e com a Instance em OPEN.

Preparação:• Deixe a Instance em estado OPEN.• Verifique um REDO LOG com status INACTIVE (V$LOG).• Remova (rm) um REDO LOG com status INACTIVE.• Verifique o Alert Log.

Procedimento:SQL> ALTER DATABASE CLEAR LOGFILE GROUP 1;

Lab 28.2: Restore Redo Logs

Page 135: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

135

Cenário com REDO LOG não multiplexado, REDO LOG ACTIVE, e com a Instance em OPEN.

Preparação:• Deixe a Instance em estado OPEN.• Verifique um REDO LOG com status ACTIVE (V$LOG).• Remova um REDO LOG com status ACTIVE.• Verifique o Alert Log.

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;

Lab 28.3: Restore Redo Logs

Page 136: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

136

Cenário com REDO LOG não multiplexado, REDO LOG CURRENT, e com a Instance em OPEN.

Preparação:• Deixe a Instance em estado OPEN.• Execute um BACKUP completo do Banco de Dados.• Execute várias vezes ALTER SYSTEM SWITCH LOG.• Verifique qual o REDO LOG com status CURRENT (V$LOG).• Verifique qual a última SEQUENCE completada.• Remova o REDO LOG com status CURRENT.• Verifique o Alert Log.

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.

Lab 28.4: Restore Redo Logs

Page 137: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

137

Incomplete Recovery para uma outro INCARNATION.

Preparação:• Deixe a Instance em estado OPEN.• Execute um BACKUP completo do Banco de Dados.

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.

Lab 28.5: Restore Redo Logs

Page 138: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

138

Flashback

Page 139: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

139

Flashback

● Flashback Database● Flashback Table● Flashback Drop● Flashback Transaction● Flashback Transaction Query● Flashback Query● Flashback Versions Query● Oracle Flashback Data Archive● Total Recall

Page 140: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

140

Ative o Flashback.SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP MOUNT;SQL> ALTER DATABASE FLASHBACK ON;SQL> ALTER DATABASE OPEN;

Crie um RESTORE POINT.RMAN> CREATE RESTORE POINT BeforeUpgrade GUARANTEE FLASHBACK DATABASE;

Verifique a utilização do FLASHBACK.SQL> SELECT BEGIN_TIME, FLASHBACK_DATA, DB_DATA, REDO_DATA, ESTIMATED_FLASHBACK_SIZE FROM v$FLASHBACK_DATABASE_STAT;

Remova um SCHEMA.SQL> SELECT TO_CHAR(SUM(BYTES)) FROM DBA_SEGMENTS WHERE OWNER = 'SOE';SQL> DROP USER SOE CASCADE;

Com o banco de dados em MOUNT, volte o banco ao RESTORE POINT.RMAN> FLASHBACK DATABASE UNTIL RESTORE POINT BeforeUpgrade; RMAN> DROP RESTORE POINT BeforeUpgrade;

Lab 29.1: Flashback Database

Page 141: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

141

RMAN: Recovery – CONTROLFILEs

Page 142: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

142

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 SYSTEM ou SYSAUX (“MAXVALUE” ou “DBID:”).

Encontrando o DBID

Page 143: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

143

O comando de RESTORE só procura por 7 dias ou 10 Backups, mesmo utilizando Repositório CATALOG.

RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP MAXSEQ 200 MAXDAYS 100;

Controfile AutoBackup

Page 144: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

144

Cenário com perda de 1 CONTROLFILE multiplexado, e com a Instance em OPEN.

Preparação:• Deixe a Instance em estado OPEN.• Verifique quais os CONTROLFILEs do Banco de Dados.• Apague um dos CONTROLFILEs.• Verifique o Alert Log.• Faça uma Validação do Banco de Dados.• Verifique o Alert Log.

Procedimento:• Execute SHUTDOWN IMMEDIATE. Por que não funciona?• Execute SHUTDOWN ABORT.• Copie o CONTROLFILE sobrevivente para o que foi apagado.• Execute STARTUP.

Lab 30.1: Restore Controlfiles

Page 145: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

145

Cenário com perda de todos CONTROLFILEs, com Backup, com CATALOG, e com a Instance em OPEN.

Preparação:• Deixe a Instance em estado OPEN.• Verifique quais os CONTROLFILEs do Banco de Dados.• Apague todos os CONTROLFILEs.• Verifique o Alert Log.• Faça uma Validação do Banco de Dados.• Verifique o Alert Log.

Procedimento:• Execute SHUTDOWN IMMEDIATE. Por que não funciona?• Execute SHUTDOWN ABORT.• Execute STARTUP. Em que estado a Instance parou?• Execute o comando SET DBID.• Execute RESTORE do CONTROLFILE. Para onde são restaurados?• Execute um Incomplete Recovery falso

RMAN> RECOVER DATABASE;• Abra a Instance em RESETLOGS.• Verifique os INCARNATIONs de seu Banco de Dados.

Lab 30.2: Restore Controlfiles

Page 146: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

146

Cenário com perda de todos CONTROLFILEs, sem Backup via RMAN, sem CATALOG, com Backup em TRACE, e com a Instance em SHUTDOWN.

Preparação:• Deixe a Instance em estado OPEN.• Execute um BACKUP em TRACE.

ALTER DATABASE BACKUP CONTROLFILE TO TRACE;• Verifique quais os CONTROLFILEs do Banco de Dados.• Execute SHUTDOWN IMMEDIATE.• Apague todos os CONTROLFILEs.

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.

Lab 30.3: Restore Controlfiles

Page 147: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

147

Cenário com perda de todos CONTROLFILEs, sem Backup, sem CATALOG, com Backup em TRACE, e com a Instance em OPEN.

Preparação:• Deixe a Instance em estado OPEN.• Execute um BACKUP em TRACE.

ALTER DATABASE BACKUP CONTROLFILE TO TRACE.• Verifique quais os CONTROLFILEs do Banco de Dados.• Verifique e guarde o conteúdo da View V$LOG.• Apague todos os CONTROLFILEs.• Verifique o Alert Log.• Faça uma Validação do Banco de Dados.• Verifique o Alert Log.

Procedimento:• Execute SHUTDOWN IMMEDIATE. Por que não 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.

Lab 30.4: Restore Controlfiles

Page 148: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

148

Cenário com perda de todos CONTROLFILEs, sem Backup, sem CATALOG, sem Backup em TRACE, e com a Instance em OPEN.

Preparação:• Deixe a Instance em estado OPEN.• Verifique quais os CONTROLFILEs do Banco de Dados.• Apague todos os CONTROLFILEs.• Verifique o Alert Log.• Faça uma Validação do Banco de Dados.• Verifique o Alert Log.• Verifique o conteúdo da View V$LOG.

Procedimento:• Execute SHUTDOWN IMMEDIATE. Por que não funciona?• Execute SHUTDOWN ABORT.• Execute STARTUP. Em que estado a Instance parou?• Execute o comando CREATE CONTROLFILE, com um DATAFILE a menos.• 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.

Lab 30.5: Restore Controlfiles

Page 149: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

149

Cenário com perda de todos CONTROLFILEs, sem Backup, sem CATALOG, sem Backup em TRACE, e com a Instance em OPEN.

Preparação:• Deixe a Instance em estado OPEN.• Verifique quais os CONTROLFILEs do Banco de Dados.• Apague um dos CONTROLFILEs.• Verifique o Alert Log.• Faça uma Validação do Banco de Dados.• Verifique o Alert Log.

Procedimento:● Execute SHUTDOWN IMMEDIATE. Por que não 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.

Lab 30.6: Restore Controlfiles

Page 150: Treinamento Oracle Backup e Recovery - Nerv Informática Ltda

150

● Domine a manipulação 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 execução 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 execução.● Utilize PASSWORD ENCRYPTION.● Habilite o CONTROLFILE AUTOBACKUP, em um local seguro.● Habilite o BACKUP OPTIMIZATION.● Utilize compressão MEDIUM (ZLIB).● Use REDO LOGs multiplexados.● Use CONTROLFILEs multiplexados.● SHUTDOWN ABORT é mais rápido e tão seguro quando IMMEDIATE.● Não utilize BACKUPs incrementais: prefira um ARCHIVED REDO LOG a mais.● Utilize RETENTION do tipo REDUNDANCY: você não quer um backup do mês passado.● Pratique cenários de RESTORE e RECOVER regularmente. Antes que aconteça.

Melhores Práticas