200
Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle Enterprise Edition 18.3.0.0 Inclui CDB Architecture 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/.

Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

  • Upload
    lamkhue

  • View
    343

  • Download
    17

Embed Size (px)

Citation preview

Page 1: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

Oracle Backup & Recovery 18cEm Oracle Enterprise Linux 7.5

Em Oracle Enterprise Edition 18.3.0.0Inclui CDB Architecture

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: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

2

Comandos no Treinamento

Comando com o usuário root:# ls -lh

Comando com um usuário oracle:$ ls -lh

Adicionar texto a um arquivo:$ vi initORCL.ora...db_cache_size=500M...

Comando no SQL*Plus:SQL> SELECT STATUS FROM V$INSTANCE;

Comando no RMAN:RMAN> REPORT SCHEMA;

Algo deve ser alterado de acordo com sua máquina:Hostname: nerv01.localdomain

Quando algo dá errado propositalmente:O que aconteceu?

Todas as senhas (root, oracle, SYS, SYSTEM) são Nerv2018.

Page 3: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

3

rlwrap

# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm# yum -y install epel-release-latest-7.noarch.rpm# yum -y install rlwrap

$ rlwrap sqlplus / AS SYSDBA$ rlwrap rman TARGET /$ rlwrap lsnrctl$ rlwrap dgmgrl SYS/Nerv2017@ORCL

Page 4: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

4

glogin.sql

$ cat $ORACLE_HOME/sqlplus/admin/glogin.sql…SET PAGESIZE 1000SET LINESIZE 220SET TIMING ONSET TIME ONSET SQLPROMPT '&_user@&_connect_identifier> 'DEFINE _EDITOR=vi…

09:08:44 SYS@ORCL> SELECT 1 FROM DUAL;

1---------- 1

Elapsed: 00:00:00.0009:09:00 SYS@ORCL>

Page 5: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

5

Logs

Oracle$ tail -f $ORACLE_BASE/diag/rdbms/<database>/<SID>/trace/alert_<SID>.log

Mantenha o Alert Log visível o tempo todo.

Page 6: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

6

CDB Architecture

Page 7: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

7

Deprecation of Non-CDB Architecture

Documentação 12cR1:

Documentação 12cR2:

Page 8: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

8

12cR2 CDB New Features

✔ Subset Standby✔ Data Guard Broker PDB Migration or Failover✔ Cross-Platform Import of a Pluggable Database into a Multitenant Container

Database✔ I/O Rate Limits for PDBs✔ Heat Map and Automatic Data Optimization Support for CDBs✔ PDB Character Set✔ PDB Refresh✔ Hints in CONTAINERS Query✔ Parallel PDB Creation Clause✔ PDB Archive Files (.pdb Files)✔ Default Tablespace Clause✔ Cloning a PDB✔ Near Zero Downtime PDB Relocation✔ Logical Standby Database to Support CDBs with PDBs with Diferent Character Sets✔ LogMiner to Support CDBs with PDBs with Diferent Character Sets✔ Support for PDBs with Diferent Character Sets, Time Zone File Versions, and

Database Time Zones in a CDB✔ Memory Resource Management✔ Per-Process PGA Limits✔ Performance Profles and Mandatory PDB Profles✔ CDB-Level PDB Lockdown

Page 9: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

9

12cR2 CDB New Features

✔ Application Root✔ Proxy PDB✔ Forwarding Connections to A New Address Based on Service✔ Service-Level ACLs for TCP Protocol✔ Flashback Pluggable Database✔ Upgrading a CDB With One or More PDBs in a Single Operation✔ Support for Thousands of Pluggable Databases for Each Multitenant Container

Database✔ Pluggable Database Lockdown Profles Enhancements✔ Pluggable Database Operating System Credentials✔ Oracle Enterprise Manager Database Express (EM Express) Resource Manager

Support✔ EM Express: Simplifying Confguration for Multitenant Through Single Port Access✔ EM Express: Performance Hub Enhancements✔ Automatic Workload Repository (AWR) Support for a Pluggable Database (PDB)✔ Selective PDB Upgrades✔ AWR_PDB_AUTOFLUSH_ENABLED Initialization Parameter✔ ENABLE_AUTOMATIC_MAINTENANCE_PDB Initialization Parameter✔ AUTOTASK_MAX_ACTIVE_PDBS Initialization Parameter✔ Global and Shared Connection Pool for Oracle Cloud and Multitenant Oracle

Databases✔ Prioritized Rebalancing✔ Oracle Database Vault Common Realms and Command Rules for Oracle Multitenant

Page 10: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

10

18c CDB New Features

✔ Server Draining ahead of relocating or stopping services or PDB✔ Duplicate PDBs between encrypted and non-encrypted CDBs✔ PDB backups usable after plugging in to a new CDB✔ Backups from non-CDBs are usable after migration to CDB✔ RMAN duplicate PDB into existing CDB✔ Copying a PDB in an Oracle Data Guard Environment✔ DBCA PDB Clone✔ PDB Lockdown Profle Enhancements✔ Refreshable PDB Switchover✔ CDB Fleet Management✔ PDB Snapshot Carousel✔ ASM Database Cloning✔ Ability to Create a Keystore for Each Pluggable Database

Page 11: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

11

Option Multitenant

Page 12: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

12

Multitenant - EE

Page 13: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

13

Singletenant - SE2

Page 14: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

14

Esse banco utiliza CDB Arquitecture?

Page 15: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

15

Que Containers / PDBs este banco tem?

Page 16: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

16

Em que Container estou conectado?

Page 17: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

17

Como conectar em um PDB? SET CONTAINER

Page 18: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

18

Como conectar em um PDB?

$ lsnrctl status...Services Summary...Service "5397376af7702ac5e0536a00a8c0505d" has 1 instance(s). Instance "ORCL", status READY, has 1 handler(s) for this service...Service "ORCL" has 1 instance(s). Instance "ORCL", status READY, has 1 handler(s) for this service...Service "ORCLXDB" has 1 instance(s). Instance "ORCL", status READY, has 1 handler(s) for this service...Service "prod" has 1 instance(s). Instance "ORCL", status READY, has 1 handler(s) for this service...The command completed successfully$

Page 19: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

19

Como conectar em um PDB? tnsnames.ora

$ cat $ORACLE_HOME/network/admin/tnsnames.ora...ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = nerv06.localdomain)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ) )

PROD = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = nerv06.localdomain)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = PROD) ) )

...$

Page 20: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

20

Como conectar em um PDB? tnsnames.ora

Page 21: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

21

Como conectar em um PDB? Easy Connect

Page 22: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

22

E agora, qual o nome da Instância? E do Banco?

Page 23: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

23

E agora, qual o nome da Instância? E do Banco?

Page 24: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

24

CDB e PDBs: STARTUP

Page 25: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

25

CDB e PDBs: STARTUP

Page 26: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

26

Alert Log

Page 27: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

27

DATAFILEs

Page 28: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

28

DATAFILEs

Page 29: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

29

DATAFILEs

Page 30: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

30

Dicionário de Dados

Page 31: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

31

VIEWs

Page 32: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

32

VIEWs

Page 33: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

33

Parâmetros

Page 34: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

34

Parâmetros

Page 35: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

35

TABLESPACEs

Page 36: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

36

USERs

Page 37: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

37

USERs

Page 38: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

38

USERs

Page 39: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

39

USERs

Page 40: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

40

SELECT em outros Containers

Page 41: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

41

Criando (Clonando) um PDB

Page 42: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

42

Criando (Clonando) um PDB

Page 43: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

43

Criando (Clonando) um PDB

Page 44: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

44

Criando (Clonando) um PDB

Page 45: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

45

Criando (Clonando) um PDB

Page 46: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

46

Unplug / Plug

Page 47: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

47

Unplug / Plug

Page 48: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

48

DROP

Page 49: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

49

Backup

CDB e PDBsRMAN> BACKUP DATABASE;RMAN> BACKUP DATAFILE 1;RMAN> BACKUP DATAFILE 1,3;

CDBRMAN> BACKUP DATABASE ROOT;RMAN> BACKUP TABLESPACE SYSTEM;RMAN> BACKUP TABLESPACE SYSTEM,SYSAUX;

PDBsRMAN> BACKUP PLUGGABLE DATABASE DEV1;RMAN> BACKUP PLUGGABLE DATABASE DEV1,DEV2;RMAN> BACKUP TABLESPACE DEV1:SYSTEM;

Page 50: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

50

Restore / Recover

CDB e PDBsRMAN> RESTORE DATABASE;RMAN> RECOVER DATABASE;RMAN> RESTORE DATAFILE 1;RMAN> RECOVER DATAFILE 1;

CDBRMAN> RESTORE DATABASE ROOT;RMAN> RECOVER DATABASE ROOT;RMAN> RESTORE TABLESPACE SYSTEM;RMAN> RECOVER TABLESPACE SYSTEM;

PDBsRMAN> RESTORE PLUGGABLE DATABASE DEV1;RMAN> RECOVER PLUGGABLE DATABASE DEV1;RMAN> RESTORE TABLESPACE DEV1:USERS;RMAN> RECOVER TABLESPACE DEV1:USERS;

Page 51: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

51

Minha abordagem

• Pense em Recovery, e não em Backup. RMAN signifca 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 justifque Backup Ofine (“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ê fcaria 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 52: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

52

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 53: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

53

O que é o RMAN?

Page 54: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

54

Packages RMAN

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

Page 55: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

55

Por que usar o RMAN?

Page 56: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

56

$ sqlplus / as sysdbaSQL> ALTER TABLESPACE USERS ADD DATAFILE '/u01/app/oracle/oradata/18c/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: Por que usar o RMAN?

Page 57: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

57

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 signifca Backups a mais, e dinheiro a mais.• E todas as New Features a seguir não poderão ser utilizadas…

Page 58: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

58

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• Simplifed Recovery Manager Cataloging of Backup Files• Automatic Channel Failover for Backup and Restore• Automatic File Creation During Recovery• Simplifed Backups to Disk• Proxy Copy Backup of Archivelogs• Incrementally Updated Backups• Simplifed Recovery Through Resetlogs• Restore Tolerates Corrupt or Missing Backups• Full Database Begin Backup Command• Change-Aware Incremental Backups

Page 59: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

59

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 Datafles Are Re-Created on RMAN Recovery• Use RMAN Compression During Cloning

Page 60: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

60

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 61: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

61

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 62: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

62

RMAN New Features: 12c

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

12cR2• RMAN: Syntax Enhancements• SCAN Listener Supports HTTP Protocol• Oracle Recovery Manager - Enhanced Table Recoveries Across Schemas Using REMAP SCHEMA• Disk Space Check During RECOVER TABLE Operation• Upgrading the Incremental Transportable Scripts• Cross-Platform Import of a Pluggable Database into a Multitenant Container Database• Cross-Platform Migration Support for Encrypted Tablespaces• Cross-Platform Support Over The Network• Data Guard DUPLICATE Command Enhancements• DUPLICATE Command Support for Non Auto-Login Wallet Based Encrypted Backups

Page 63: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

63

RMAN New Features: 18c

• Oracle Data Guard Multi-Instance Redo Apply Supports Use of Block Change Tracking Files for RMAN Backups• RMAN recover standby simplifcation• RMAN duplicate PDB into existing CDB• Duplicate PDBs between encrypted and non-encrypted CDBs• Backups from non-CDBs are usable after migration to CDB• Enhanced Backup to archive storage

Page 64: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

64

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• Compression (exceto BASIC)

Page 65: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

65

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

Page 66: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

66

Conexões

Page 67: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

67

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 68: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

68

Opções

Page 69: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

69

Confgurações

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

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

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

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

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

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

Page 70: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

70

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 71: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

71

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;

Verifque 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;

Verifque o conteúdo do arquivo de LOG.

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

Page 72: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

72

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

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

Verifque indidualmente o conteúdo das confgurações alteradas.

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

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

Page 73: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

73

Instance

Page 74: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

74

Instance States

Estados:SHUTDOWNNOMOUNT --- 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 75: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

75

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 76: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

76

Archived Redo Logs

Page 77: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

77

Archived Redo Logs

Page 78: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

78

Parâmetros: Archived Redo Logs

archive_lag_targetlog_archive_confglog_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_frstlog_archive_max_processeslog_archive_min_succeed_dest (MANDATORY / OPTIONAL)log_archive_startlog_archive_tracestandby_archive_dest

Page 79: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

79

Format: Archived Redo Logs

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

Page 80: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

80

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.

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

Verifque o Alert Log.

Lab 3.1: Archived Redo Logs

Page 81: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

81

RMAN: Backup

Page 82: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

82

BACKUP Multitenant

RMAN> BACKUP DATABASE root;RMAN> BACKUP DATABASE;

RMAN> BACKUP PLUGGABLE DATABASE PDB1;RMAN> BACKUP PLUGGABLE DATABASE PDB1,PDB2;

RMAN> BACKUP TABLESPACE USERS;RMAN> BACKUP TABLESPACE PDB1:USERS;

Page 83: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

83

RMAN> BACKUP SPFILE;

RMAN> BACKUP CURRENT CONTROLFILE;

RMAN> BACKUP DATAFILE 1;RMAN> BACKUP DATAFILE 1,3;

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

Lab 4.1: Backup

Page 84: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

84

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 50;

RMAN> BACKUP ARCHIVELOG SEQUENCE 1;RMAN> BACKUP ARCHIVELOG FROM SEQUENCE 1 UNTIL SEQUENCE 50;RMAN> BACKUP ARCHIVELOG UNTIL SEQUENCE 50;

RMAN> BACKUP ARCHIVELOG SEQUENCE 40;RMAN> BACKUP ARCHIVELOG SEQUENCE 40;RMAN> BACKUP ARCHIVELOG SEQUENCE 40 NOT BACKED UP 3 TIMES;RMAN> BACKUP ARCHIVELOG SEQUENCE 40 NOT BACKED UP 3 TIMES;RMAN> BACKUP ARCHIVELOG ALL NOT BACKED UP 1 TIMES;RMAN> BACKUP NOT BACKED UP SINCE TIME 'SYSDATE-2' ARCHIVELOG ALL;

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

Lab 4.2: Backup

Page 85: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

85

RMAN> BACKUP DATABASE;RMAN> BACKUP DATABASE PLUS ARCHIVELOG DELETE ALL 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 86: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

86

RMAN> BACKUP AS COPY SPFILE;

RMAN> BACKUP AS COPY CURRENT CONTROLFILE;

RMAN> BACKUP AS COPY DATAFILE 1;

RMAN> BACKUP AS COPY DATABASE;

Lab 4.4: Backup

Page 87: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

87

RMAN: Repository

Page 88: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

88

RMAN Repository

● CONTROL_FILE_RECORD_KEEP_TIME● Licenciamento● Backup● High Availability● Backup, e depois resync

Page 89: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

89

RMAN Compatibility Matrix

Page 90: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

90

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 91: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

91

Crie um CATALOG em seu próprio Banco de Dados.$ sqlplus / AS SYSDBASQL> ALTER SESSION SET CONTAINER = PROD;SQL> CREATE TABLESPACE TBS_CATALOGO DATAFILE '/u01/app/oracle/oradata/18c/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_CATALOGO@PRODRMAN> CREATE CATALOG TABLESPACE TBS_CATALOGO;RMAN> EXIT;

Registre seu Banco de Dados no CATALOG local.$ rman CATALOG=USER_CATALOGO/USER_CATALOGO@PROD 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 92: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

92

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

Altere uma confguraçã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 confguraçã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 93: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

93

RMAN: Validate

Page 94: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

94

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 95: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

95

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> LIST BACKUP;RMAN> VALIDATE BACKUPSET 10;

Lab 6.2: Validate

Page 96: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

96

RMAN: Compression

Page 97: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

97

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

Algoritmo LOW11.2.0CONFIGURE or SET COMPRESSION ALGORITHM 'LOW';

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

Algoritmo HIGH11.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 98: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

98

Verifque a compressão padrão atual do RMAN.RMAN> BACKUP DATABASE TAG ‘NOCOMPRESS’;

Altere o algoritmo de compressão padrão do RMAN.RMAN> CONFIGURE COMPRESSION ALGORITHM 'LOW' OPTIMIZE FOR LOAD FALSE;RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE TAG ‘LOW’;

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

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

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

LIST BACKUP;

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

Lab 7.1: Compression

Page 99: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

99

RMAN: Encryption

Page 100: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

100

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 101: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

101

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

Execute um Backup de um ARCHIVELOG com DELETE INPUT.RMAN> ALTER SYSTEM SWITCH LOGFILE;RMAN> ALTER SYSTEM SWITCH LOGFILE;RMAN> ALTER SYSTEM SWITCH LOGFILE;RMAN> LIST ARCHIVELOG ALL;RMAN> BACKUP ARCHIVELOG SEQUENCE 1 DELETE ALL INPUT;

Restaure o ARCHIVELOG.RMAN> RESTORE ARCHIVELOG SEQUENCE 1;

RMAN> SET DECRYPTION IDENTIFIED BY 'Nerv2017';RMAN> RESTORE ARCHIVELOG SEQUENCE 1;

Lab 8.1: Encryption

Page 102: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

102

RMAN: Snapshot Controlfle

Page 103: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

103

Lab 9.1: Snapshot Controlfle

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 verifque a nova localização.O SNAPSHOT CONTROLFILE continua na antiga localização?

Page 104: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

104

RMAN: Crosscheck

Page 105: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

105

CROSSCHECK

Page 106: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

106

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/';

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

Lab 10.1: Crosscheck

Page 107: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

107

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';

Verifque 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 10.2: Crosscheck

Page 108: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

108

RMAN: Backup Optimization

Page 109: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

109

Verifque 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.

Verifque 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 11.1: Backup Optimization

Page 110: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

110

RMAN: Backup, Tag, Backup Set, Backup Piece

Page 111: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

111

→ BACKUP

→ BACKUP TAG

→ BACKUP SET

→ BACKUP PIECE

Hierarquia

Page 112: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

112

Altere a confguraçã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 12.1: Backup, BackupSet, PackupPiece

Page 113: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

113

RMAN: List

Page 114: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

114

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;Identifque as TAGS, BACKUP SETs, BACKUPPIECES, e seus detalhes.

Lab 13.1: List

Page 115: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

115

RMAN: FORMAT

Page 116: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

116

%a Activation ID%c Copy number%d Database name%D Day of the month%e Archived log sequence%f Absolute fle 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 flename%Y Year

FORMAT

Page 117: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

117

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 ‘/u01/backupA/ORCL….BKP’;RMAN> CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT ‘/u01/backupB/ORCL….BKP’;

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

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

Execute um BACKUP de 1 Datafle, e verifque o novo nome do CONTROLFILE AUTOBACKUP.

Lab 14.1: Format

Page 118: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

118

RMAN: Backup Incremental

Page 119: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

119

Diferential Incremental Backups

Page 120: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

120

Cumulative Incremental Backups

Page 121: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

121

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 122: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

122

Habilite o BLOCK CHANGE TRACKING.SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE ‘/home/oracle/BCT.rman’;

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?

Verifque a utilização do Block Change Tracking.SQL> SELECT * FROM V$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 fca indisponível?

Lab 15.2: Backup Incremental

Page 123: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

123

Execute um Incrementally Updated Backup.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 124: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

124

RMAN: Switch

Page 125: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

125

Troque a localização de um DATAFILE com RMAN.RMAN> RUN {ALTER TABLESPACE USERS READ WRITE;BACKUP DATAFILE 7;SQL 'ALTER TABLESPACE USERS OFFLINE';SET NEWNAME FOR DATAFILE 7 TO '/home/oracle/users01.NEWNAMEx.dbf';RESTORE DATAFILE 7;RECOVER DATAFILE 7;SWITCH DATAFILE 7;SQL 'ALTER TABLESPACE USERS 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/users01.NEWNAME.dbf' TO '/home/oracle/users01.SUPERNEWNAME.dbf';Qual a diferença do método anterior?

Lab 16.1: Switch

Page 126: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

126

RMAN: Retention

Page 127: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

127

Retentions

Page 128: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

128

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

Verifque 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;

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

Remova os BACKUPs obsoletos.RMAN> DELETE OBSOLETE;

Lab 17.1: Retention

Page 129: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

129

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

Verifque 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;

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

Remova os BACKUPs obsoletos.RMAN> DELETE OBSOLETE;

Lab 17.2: Retention

Page 130: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

130

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

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

Lab 17.3: Retention

Page 131: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

131

RMAN: Scripts

Page 132: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

132

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

RMAN> CREATE GLOBAL SCRIPT GlobalBackupCompleto_nerv01{BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT;}

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

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

Crie um Shell Script que execute um Stored Script.$ rman CATALOG=USER_CATALOGO/USER_CATALOGO@CATALOGO TARGET / SCRIPT=BackupCompletoOU$ rman TARGET / CMDFILE=/home/oracle/BackupCompleto.rman

Remova o Stored Script.RMAN> DELETE SCRIPT BackupCompleto;

Lab 18.1: Scripts

Page 133: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

133

RMAN: Change

Page 134: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

134

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. Mova todos para outro diretório.

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 19.1: Change

Page 135: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

135

Liste todos os Backups.

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

Lab 19.2: Change

Page 136: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

136

RMAN: Clone

Page 137: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

137

Crie um PFILE para o banco Clone.$ vi /u01/app/oracle/product/18.3.0.0/db_1/dbs/initTESTE.ora

*.audit_file_dest='/u01/app/oracle/admin/TESTE/adump'*.audit_trail='db'*.compatible='18.3.0.0.0'*.control_files='/u01/app/oracle/oradata/TESTE/control01.ctl','/u01/app/oracle/fast_recovery_area/TESTE/control02.ctl'*.db_block_size=8192*.db_domain=''*.db_name='TESTE'*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'*.db_recovery_file_dest_size=100g*.diagnostic_dest='/u01/app/oracle'*.dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'*.job_queue_processes=4*.log_archive_format='%t_%s_%r.dbf'*.open_cursors=300*.pga_aggregate_target=512m*.processes=300*.remote_login_passwordfile='EXCLUSIVE'*.resource_manager_plan='DEFAULT_PLAN'*.sga_target=1024m*.undo_tablespace='UNDOTBS1'*.db_file_name_convert=('/u01/app/oracle/oradata/ORCL/','/u01/app/oracle/oradata/TESTE/')*.log_file_name_convert=('/u01/app/oracle/oradata/ORCL/','/u01/app/oracle/oradata/TESTE/')*.enable_pluggable_database=TRUE

Lab 20.1: Clone

Page 138: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

138

Crie uma entrada no tnsnames.ora para o banco Clone.$ vi /u01/app/oracle/product/18.3.0.0/db_1/network/admin/tnsnames.ora

ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = nerv02.localdomain)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ) )

TESTE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = nerv02.localdomain)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = TESTE) (UR=A) ) )

Lab 20.2: Clone

Page 139: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

139

Crie uma entrada estática no listener.ora para o banco Clone.$ vi /u01/app/oracle/product/18.3.0.0/db_1/network/admin/listener.ora

LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = nerv02.localdomain)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )

SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(GLOBAL_DBNAME=TESTE)(ORACLE_HOME=/u01/app/oracle/product/18.3.0.0/db_1)(SID_NAME=TESTE)))

Reinicie o LISTENER.$ lsnrctl stop$ lsnrctl start

Crie os diretórios que serão utilizados pelo banco Clone.$ mkdir -p /u01/app/oracle/admin/TESTE/adump$ mkdir -p /u01/app/oracle/oradata/TESTE/$ mkdir -p /u01/app/oracle/fast_recovery_area/TESTE/

Crie um PASSWORD FILE.$ export ORACLE_SID=TESTE$ orapwd file=/u01/app/oracle/product/18.3.0.0/db_1/dbs/orapwTESTE password=Nerv2017

Lab 20.3: Clone

Page 140: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

140

Inicie a instância Clone.$ export ORACLE_SID=TESTE$ rlwrap sqlplus / AS SYSDBASQL> STARTUP NOMOUNT;SQL> CREATE SPFILE FROM PFILE;SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP NOMOUNT;SQL> EXIT;

Execute a criação do Clone.$ export ORACLE_SID=ORCL$ rlwrap rman TARGET SYS/Nerv2017 AUXILIARY=SYS/Nerv2017@TESTERMAN> DUPLICATE TARGET DATABASE TO TESTE FROM ACTIVE DATABASE;

Lab 20.4: Clone

Page 141: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

141

RMAN: Tuning

Page 142: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

142

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

Multiplexing● PARALLELISM● Multi-section backups: BACKUP SECTION SIZE 1G TABLESPACE USERS;

Leitura● CONFIGURE CHANNEL 1 DEVICE TYPE DISK MAXOPENFILES 4;● Block Change Tracking

Gravação● BACKUP DATABASE FILESPERSET 1;

Restore●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 143: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

143

AcompanhamentoSET PAGESIZE 1000SET LINESIZE 200COL MESSAGE FORMAT A100COL FILENAME FORMAT A100

SQL> SELECT SID,SERIAL#,START_TIME,((SOFAR/TOTALWORK)*100),'%',TIME_REMAINING, MESSAGE FROM V$SESSION_LONGOPS where TIME_REMAINING > 0 ORDER BY TIME_REMAINING;

SQL> SELECT FILENAME, BYTES/1024/1024/1024 FROM GV$BACKUP_ASYNC_IO WHERE STATUS='IN PROGRESS';

Tuning

Page 144: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

144

Views RMAN

V$BACKUP_FILESV$BACKUP_PIECEV$BACKUP_SET_SUMMARYV$BACKUP_CONTROLFILE_DETAILSV$BACKUP_COPY_DETAILSV$BACKUP_DATAFILE_DETAILSV$RMAN_OUTPUTV$RMAN_STATUSV$RMAN_BACKUP_JOB_DETAILS

SQL> SELECTINPUT_TYPE,TO_CHAR(START_TIME, 'DD/MM/YYYY, HH24:MI:SS'),TO_CHAR(END_TIME, 'DD/MM/YYYY, HH24:MI:SS'),STATUSFROM V$RMAN_BACKUP_JOB_DETAILSORDER BY START_TIME;

Page 145: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

145

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 146: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

146

RMAN: Restore & Recover

Page 147: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

147

RESTORE & RECOVER

Page 148: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

148

RESTORE & RECOVER Multitenant

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

Page 149: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

149

RMAN: Recovery - SPFILE

Page 150: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

150

Cenário 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 Spfle

Page 151: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

151

Cenário 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 Spfle

Page 152: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

152

Cenário 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 Spfle

Page 153: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

153

Cenário 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 Spfle

Page 154: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

154

Cenário com a Instance em 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, verifque o Parâmetro control_fles 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 Spfle

Page 155: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

155

Cenário com a Instance em 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, verifque o Parâmetro control_fles 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 Spfle

Page 156: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

156

Cenários com a Instance em 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 Spfle

Page 157: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

157

RMAN: Recovery - ARCHIVEs

Page 158: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

158

ARCHIVELOGs só podem ser restaurados com a INSTANCE em MOUNT ou OPEN.

Procedimento:• Execute BACKUP de todos ARCHIVELOGs com DELETE ALL INPUT.RMAN> BACKUP ARCHIVELOG ALL DELETE ALL INPUT;

• Liste todos os ARCHIVELOGs disponíveis – não deve ter nenhum.RMAN> LIST ARCHIVELOG ALL;

• Liste todos os BACKUPs de ARCHIVELOG disponíveis.RMAN> LIST BACKUP OF ARCHIVELOG ALL;

• Recupere todos os ARCHIVELOGs disponíveis em backup para um diretório diferente.RMAN> RUN

{SET ARCHIVELOG DESTINATION TO '/tmp';RESTORE ARCHIVELOG FROM SEQUENCE 10;}

• Liste todos os ARCHIVELOGs disponíveis. A localização dos ARCHIVELOGs mudou?

Lab 23.1: Restore Archived Redo Logs

Page 159: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

159

RMAN: Recovery - DATAFILE

Page 160: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

160

RESTORE→ COPY→ BACKUPSET FULL ou INCREMENTAL LEVEL 0

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

Hierarquia Restore & Recover

Page 161: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

161

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.• Verifque o Alert Log.• Crie uma tabela na TABLESPACE USERS.• Verifque o Alert Log.• Execute uma validação do Banco de Dados.• Verifque 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 Datafle

Page 162: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

162

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.• Verifque o Alert Log.• Execute SHUTDOWN ABORT.• Verifque 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 Datafle

Page 163: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

163

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

Preparação:• Faça um Backup do Banco de Dados.• Espere 10 minutos.• Remova o SCHEMA SCOTT.

Procedimento:RMAN> SHUTDOWN IMMEDIATE;RMAN> STARTUP MOUNT;RMAN> RUN {SET UNTIL TIME "TO_DATE('26/07/2018 22:00:00','DD/MM/YYYY HH24:MI:SS')";RESTORE DATABASE;RECOVER DATABASE;}

RMAN> ALTER DATABASE OPEN RESETLOGS;RMAN> BACKUP DATABASE;

Lab 24.3: Incomplete Recovery

Page 164: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

164

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

Procedimento:• Coloque o DATAFILE em OFFLINE.

• Crie uma cópia do DATAFILE perdido.SQL> ALTER DATABASE CREATE DATAFILE '/u01/users03.dbf' AS '/u01/users03x.dbf';

• Execute o RECOVER da cópia.SQL> RECOVER DATAFILE '/u01/users03x.dbf'.

• Altere o DATAFILE para ONLINE.

Lab 24.4: Restore Datafle

Page 165: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

165

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.• Verifque o Alert Log.• Execute uma validação do Banco de Dados.• Verifque o Alert Log.• Execute SHUTDOWN ABORT.

Procedimento:• Execute STARTUP. Em que estado a Instance parou?

• Crie uma cópia do DATAFILE perdido.SQL> ALTER DATABASE CREATE DATAFILE '/u01/users03x.dbf' AS '/u01/users03xx.dbf';

• Execute o RECOVER da cópia.SQL> RECOVER DATAFILE ‘/u01/users03xx.dbf';

• Altere a Instance para o estado OPEN.

Lab 24.5: Restore Datafle

Page 166: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

166

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

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

Procedimento:• Verifque qual o PID do processo Database Writer.$ ps aux | grep dbw • Vá ao diretório dos File Descriptor.$ cd /proc/<PID>/fd

• Verifque 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

• Execute uma validação do Banco de Dados.

Lab 24.6: Restore Datafle

Page 167: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

167

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

•Preparação:● Deixe a Instance em estado OPEN.● Remova o DATAFILE soe04.dbf pelo Sistema Operacional.● Execute SHUTDOWN IMMEDIATE.● Verifque o Alert Log.● Execute SHUTDOWN ABORT.● Verifque o Alert Log.

Procedimento:• Execute STARTUP. Em que estado a Instance parou?• Coloque o DATAFILE em OFFLINE DROP.• Passe a instância ao estado OPEN.• Mova os objetos que não tinham segmentos no DATAFILE perdido para outra TABLESPACE, e remova a antiga:SQL> ALTER PLUGGABLE DATABASE PROD OPEN READ WRITE;SQL> ALTER SESSION SET CONTAINER = PROD;SQL> SELECT DISTINCT SEGMENT_NAME, SEGMENT_TYPE FROM DBA_EXTENTS WHERE SEGMENT_NAME NOT IN (SELECT SEGMENT_NAME FROM DBA_EXTENTS WHERE FILE_ID = 18) AND TABLESPACE_NAME = 'SOE';SQL> CREATE TABLESPACE NEW_SOE DATAFILE '/u01/soe01.dbf' size 1g AUTOEXTEND ON;SQL> ALTER USER SOE QUOTA UNLIMITED ON NEW_SOE;SQL> ALTER TABLE SOE.... MOVE TABLESPACE NEW_SOE;SQL> DROP TABLESPACE SOE INCLUDING CONTENTS AND DATAFILES;

Lab 24.7: Restore Datafle

Page 168: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

168

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.SQL> CREATE TABLE T TABLESPACE TESTE AS SELECT * FROM ALL_OBJECTS; Faça um BACKUP Completo do Banco de Dados.• Verifque qual o HEADER BLOCK dos dados desta Tabela.SQL> SELECT HEADER_BLOCK FROM DBA_SEGMENTS WHERE OWNER = 'SYS' AND SEGMENT_NAME = 'TESTE';

• Verifque 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.• Verifque 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.• Verifque o Alert Log.

Lab 24.8: Restore Datafle

Page 169: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

169

RMAN: Recovery - TEMPFILE

Page 170: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

170

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.• Remova todos os TEMPFILEs pelo Sistema Operacional.• Execute uma validação do Banco de Dados.• Crie uma Tabela a partir da ALL_OBJECTS.SQL> CREATE TABLE T AS SELECT * FROM ALL_OBJECTS;

• Aumente o tamanho da tabela (6x INSERT INTO T SELECT * FROM T; COMMIT;).• Execute um SELECT operação de GROUP BY nesta tabela.SQL> SELECT COUNT(OBJECT_TYPE) FROM T GROUP BY OBJECT_TYPE ORDER BY 1;

• Crie um índice nesta tabela.SQL> CREATE INDEX IDX_T ON T(OBJECT_TYPE);

• Verifque o Alert Log.

Procedimento:• Adicione um novo TEMPFILE.SQL> ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/ORCL/temp02.dbf' SIZE 100M;• Remova logicamente o TEMPFILE.SQL> ALTER DATABASE TEMPFILE '/u01/app/oracle/oradata/ORCL/temp01.dbf' DROP;

Lab 25.1: Restore Tempfle

Page 171: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

171

RMAN: Recovery - TABLESPACES

Page 172: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

172

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.• Verifque o Alert Log.• Crie uma tabela na TABLESPACE USERS.• Verifque o Alert Log.• Execute uma validação do Banco de Dados.• Verifque o Alert Log.

Procedimento:• Altere os DATAFILE da TABLESPACE em OFFLINE.• Execute o RESTORE da TABLESPACE.• Execute o RECOVER da TABLESPACE.• Altere os DATAFILE da TABLESPACE em ONLINE.

Lab 26.1: Restore Tablespace

Page 173: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

173

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.• Verifque o Alert Log.• Execute SHUTDOWN ABORT.• Verifque 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 174: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

174

TSPITR: Tablespace Point In Time Recovery.

Preparação:• Crie um diretorio temporário para esta operação.• Crie uma TABLESPACE:SQL> ALTER SESSION SET CONTAINER = PROD;SQL> CREATE TABLESPACE NEWTS DATAFILE ‘/u01/new01.dbf’ SIZE 1G;SQL> ALTER USER SCOTT QUOTA UNLIMITED ON NEWTS;• Crie uma Tabela com o Usuário SCOTT na nova TABLESPACE. $ sqlplus SCOTT/TIGER@PROD SQL> CREATE TABLE T1 (C1 NUMBER) TABLESPACE NEWTS; SQL> INSERT INTO T1 VALUES (1); SQL> COMMIT; SQL> INSERT INTO T1 SELECT * FROM T1; – - Executar 20x. SQL> COMMIT;• Execute um BACKUP completo do Banco de Dados.• Gere novos ARCHIVEs (ALTER SYSTEM SWITCH LOGFILE).• Verifque qual o último ARCHIVELOG gerado (LIST ARCHIVELOG ALL).• Remova a Tabela criada pelo SCOTT.

Procedimento:Execute o TSPITR:RMAN> RECOVER TABLESPACE PROD:NEWTS UNTIL SEQUENCE 35 AUXILIARY DESTINATION '/home/oracle/TableSpaceRecover/';

Lab 26.3: Restore Tablespace

Page 175: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

175

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).• Verifque qual o último ARCHIVELOG gerado (LIST ARCHIVELOG ALL).• Apague todos os dados da Tabela criada pelo SCOTT.

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

Lab 26.4: Restore Table

Page 176: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

176

RMAN: Recovery - UNDO

Page 177: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

177

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.• Verifque qual a TABLESPACE de UNDO padrão.• Remova o DATAFILE da TABLESPACE de UNDO.• Verifque o Alert Log.• Execute uma validação do Banco de Dados.• Verifque o Alert Log.

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

Lab 27.1: Restore Undo

Page 178: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

178

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.• Verifque 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 (rm) o novo DATAFILE da TABLESPACE de UNDO.• Verifque o Alert Log.• Execute uma validação do Banco de Dados.• Verifque o Alert Log.

Procedimento:• Coloque o DATAFILE em OFFLINE.• Execute o RESTORE do DATAFILE.• Execute o RECOVER do DATAFILE.• Altere o DATAFILE para ONLINE.• Verifque o Alert Log.• Execute uma validação do Banco de Dados.• Verifque o Alert Log.

Lab 27.2: Restore Undo

Page 179: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

179

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.• Verifque qual a TABLESPACE de UNDO padrão.• Remova todos os DATAFILEs da TABLESPACE de UNDO.• Verifque o Alert Log.• Execute uma validação do Banco de Dados.• Verifque 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 pelo PFILE. 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 ."_ofine_rollback_segments".• Reinicie a Instance.

Lab 27.3: Restore Undo

Page 180: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

180

RMAN: Recovery – REDO LOGs

Page 181: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

181

RESETLOGS

Page 182: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

182

• 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 183: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

183

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.SQL> ALTER DATABASE ADD LOGFILE ('/u01/redo04a.log', '/u01/redo04b.log') SIZE 50M;• Remova (rm) 1 membro deste grupo de REDO LOG.• Verifque o Alert Log.

Procedimento:• Execute 4x ALTER SYSTEM SWITCH LOGFILE;• Verifque qual o membro que está com status INVALID (V$LOGFILE).

• Remova o membro INVALID.SQL> ALTER DATABASE DROP LOGFILE MEMBER '/u01/redo04a.log';

• Adicione outro membro, para manter os REDO LOGs multiplexados.SQL> ALTER DATABASE ADD LOGFILE MEMBER '/u01/redo04a.log' TO GROUP 4;

Lab 28.1: Restore Redo Logs

Page 184: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

184

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.• Verifque um REDO LOG com status INACTIVE (V$LOG).• Remova (rm) um REDO LOG com status INACTIVE.• Verifque o Alert Log.

Procedimento:SQL> ALTER DATABASE CLEAR LOGFILE GROUP 1;

Lab 28.2: Restore Redo Logs

Page 185: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

185

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.• Verifque um REDO LOG com status ACTIVE (V$LOG).• Remova um REDO LOG com status ACTIVE.• Verifque 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;

• Verifque os INCARNATIONs de seu Banco de Dados.RMAN> LIST INCARNATION;

Lab 28.3: Restore Redo Logs

Page 186: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

186

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 LOGFILE.• Verifque qual o REDO LOG com status CURRENT (V$LOG).• Verifque qual a última SEQUENCE completada.• Remova o REDO LOG com status CURRENT.• Verifque 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; }• Verifque os INCARNATIONs de seu Banco de Dados.

Lab 28.4: Restore Redo Logs

Page 187: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

187

Incomplete Recovery para uma outro INCARNATION.

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

Procedimento:• Verifque 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;

• Verifque os INCARNATIONs de seu Banco de Dados.

Lab 28.5: Restore Redo Logs

Page 188: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

188

Flashback

Page 189: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

189

Flashback

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

Page 190: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

190

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

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

Verifque 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> ALTER SESSION SET CONTAINER = PROD;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.SQL> FLASHBACK DATABASE TO RESTORE POINT BeforeUpgrade;SQL> DROP RESTORE POINT BeforeUpgrade;

Lab 29.1: Flashback Database

Page 191: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

191

RMAN: Recovery – CONTROLFILEs

Page 192: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

192

Onde encontrar o DBID?• V$DATABASE• Ao conectar no RMAN• No CATALOG.• No Alert Log, ao trocar o DBID.• 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:”).

strings /u01/app/oracle/oradata/18c/ORCL/system01.dbf | grep -i MAXVALUE

Encontrando o DBID

Page 193: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

193

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

Preparação:• Deixe a Instance em estado OPEN.• Verifque quais os CONTROLFILEs do Banco de Dados.• Apague um dos CONTROLFILEs.• Verifque o Alert Log.• Faça uma Validação do Banco de Dados.• Verifque 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 Controlfles

Page 194: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

194

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.• Verifque quais os CONTROLFILEs do Banco de Dados.• Apague todos os CONTROLFILEs.• Verifque o Alert Log.• Faça uma Validação do Banco de Dados.• Verifque 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 falsoRMAN> RECOVER DATABASE;

• Abra a Instance em RESETLOGS.• Verifque os INCARNATIONs de seu Banco de Dados.

Lab 30.2: Restore Controlfles

Page 195: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

195

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.SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS '/tmp/CF.trc';

• Verifque 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 fnal do TRACE.• Execute um Incomplete Recovery falso.SQL> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;

• Abra a Instance em RESETLOGS.• Verifque os INCARNATIONs de seu Banco de Dados.

Lab 30.3: Restore Controlfles

Page 196: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

196

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.SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS '/tmp/CF.trc'; •Verifque quais os CONTROLFILEs do Banco de Dados.• Verifque e guarde o conteúdo da View V$LOG.• Apague todos os CONTROLFILEs.• Verifque o Alert Log.• Faça uma Validação do Banco de Dados.• Verifque 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 fnal 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.• Verifque os INCARNATIONs de seu Banco de Dados.

Lab 30.4: Restore Controlfles

Page 197: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

197

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.• Verifque quais os CONTROLFILEs do Banco de Dados.• Apague todos os CONTROLFILEs.• Verifque o Alert Log.• Faça uma Validação do Banco de Dados.• Verifque o Alert Log.• Verifque 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.• 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.• Verifque os INCARNATIONs de seu Banco de Dados.

Lab 30.5: Restore Controlfles

Page 198: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

198

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.• Verifque quais os CONTROLFILEs do Banco de Dados.• Apague todos os CONTROLFILEs.• Verifque o Alert Log.• Faça uma Validação do Banco de Dados.• Verifque 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 Controlfles

Page 199: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

199

● 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: prefra 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

Page 200: Oracle Backup & Recovery 18c - nervinformatica.com.brnervinformatica.com.br/Downloads/Materiais/OBR-18c.pdf · Oracle Backup & Recovery 18c Em Oracle Enterprise Linux 7.5 Em Oracle

200

Perguntas?

Ricardo Portilho [email protected]