Note_Tech

All technological notes.


Project maintained by simonangel-fong Hosted on GitHub Pages — Theme by mattgraham

Diagnosis - Data Failure & Data Recovery Advisor

Back


Data Failure


Data Recovery Advisor

rman target / nocatalog
list failure all;

  1. The Health Monitor automatically executes checks and logs failures and their symptoms as “findings” into the ADR.
  2. The Data Recovery Advisor consolidates findings into failures. It lists the results of previously executed assessments with failure severity (critical or high).
  3. When you ask for repair advice on a failure, the Data Recovery Advisor maps failures to automatic and manual repair options, checks basic feasibility, and presents you with the repair advice.
  4. You can choose to manually execute a repair or request the Data Recovery Advisor to do it for you.

diagram_dra01


RMAN Command Action
LIST FAILURE Lists previously executed failure assessment
ADVISE FAILURE Displays recommended repair option
REPAIR FAILURE Repairs and closes failures (after ADVISE in the same RMAN session)
CHANGE FAILURE Changes or closes one or more failures

Listing Data Failures

LIST FAILURE
[ ALL | CRITICAL | HIGH | LOW | CLOSED | failnum[, failnum,..] ]
[ EXCLUDE FAILURE failnum[,failnum,..] ]
[ DETAIL J]

Advising on Repair

ADVISE FAILURE
[ ALL | CRITICAL | HIGH | LOW | failnum[, failnum,..] ]
[ EXCLUDE FAILURE failnum [,failnum,..] ]

Executing Repairs

REPAIR FAILURE
[USING ADVISE OPTION integer]
[ { {NOPROMPT | PREVIEW}}...]

Classifying and Closing Failures

CHANGE FAILURE
{ ALL | CRITICAL | HIGH | LOW | failnum[,failnum,..] }
[ EXCLUDE FAILURE failnum[,failnum,..] ]
{ PRIORITY {CRITICAL | HIGH | LOW} | cLose } -- Change status of the failure(s) to closed.
[ NoproMPT ] -- Do not ask user for a confirmation.

Views


Lab: Diagnosing and Repairing Database Failure

Setup environment

-- start a connectionless command-line session.
-- establishes no initial connection to Oracle Database.
sqlplus /nolog
connect / as sysdba

alter session set container=orclpdb;

-- CLEANUP from previous run
DROP USER bar91 CASCADE;
DROP TABLESPACE bar91tbs INCLUDING CONTENTS AND DATAFILES;


-- Create tablespace
CREATE TABLESPACE bar91tbs
DATAFILE '/u01/app/oracle/oradata/ORCL/orclpdb/bar91tbs01.dbf' SIZE 10M
SEGMENT SPACE MANAGEMENT MANUAL;

-- Create user
CREATE USER bar91 IDENTIFIED BY pass4B91
DEFAULT TABLESPACE bar91tbs
QUOTA UNLIMITED ON bar91tbs;

GRANT CREATE SESSION TO bar91;

-- create table and populate
-- be sure table is at least 2 blocks long
CREATE TABLE bar91.barcopy
TABLESPACE bar91tbs
AS SELECT * FROM HR.EMPLOYEES;

INSERT INTO bar91.BARCOPY
SELECT * FROM bar91.BARCOPY;

INSERT INTO bar91.BARCOPY
SELECT * FROM bar91.BARCOPY;

SELECT * FROM bar91.BARCOPY;

lab_dra01.png


rman target "'sys@orclpdb as sysdba'"

-- backup tbsp
BACKUP AS COPY TABLESPACE bar91tbs;

lab_dra01.png


sqlplus -S /nolog

connect / as sysdba
alter session set container=orclpdb;
UPDATE bar91.BARCOPY SET salary = salary+1;
COMMIT;

lab_dra.png


sqlplus / as sysdba
shutdown abort
exit
rm /u01/app/oracle/oradata/ORCL/orclpdb/bar91tbs01.dbf

Diagnosing Database Failure

sqlplus / as sysdba
startup

-- try to orclpdb open
show pdbs
alter pluggable database orclpdb open;
-- fails because df is missing

lab_dra.png


Repairing Database Failure

rman target "'/ as sysbackup'"
LIST FAILURE;

lab_dra.png


ADVISE FAILURE;

lab_dra.png

lab_dra.png

repair failure;

-- open orclpdb in rman
alter pluggable database orclpdb open;

lab_dra.png

lab_dra.png

sqlplus / as sysdba
show PDBS

lab_dra.png

lab_dra.png


Clean up

rman target "'sys@orclpdb as sysdba'"
-- delete tbsp
delete NOPROMPT copy of tablespace bar91tbs;
exit;

lab_dra.png

sqlplus sys@orclpdb as sysdba
show con_name

-- CLEANUP from previous run
DROP USER bar91 CASCADE;
DROP TABLESPACE bar91tbs INCLUDING CONTENTS AND DATAFILES;

lab_dra.png


TOP