Note_Tech

All technological notes.


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

Recovery - Complete Recovery: ARCHIVELOG Mode - PDB

Back


Recovering PDB SYSTEM or UNDO Tablespace

-- close pdb
rman target "'sys@pdb_name'"
SHUTDOWN ABORT

-- restore and recover
RESTORE DATABASE;
RECOVER DATABASE;

-- open pdb
STARTUP

Lab: Recover from the loss of SYSTEM datafile in PDB

-- Create tbsp in pdb
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;


rman target "'sys@orclpdb as sysdba'"
BACKUP PLUGGABLE DATABASE ORCLPDB;


sqlplus / as sysdba
alter session set container=orclpdb;
UPDATE bar91.BARCOPY SET salary = salary+1;
COMMIT;
rm /u01/app/oracle/oradata/ORCL/orclpdb/system01.dbf

Solution: Complete Recovery using RMAN

rman target sys@orclpdb
-- close pdb
SQL "ALTER PLUGGABLE DATABASE orclpdb CLOSE ABORT";

-- restore and recover df
RESTORE DATAFILE 9;
RECOVER DATAFILE 9;

-- open pdb
SQL "ALTER PLUGGABLE DATABASE orclpdb OPEN";

lab_complete_recovery_pdb

lab_complete_recovery_pdb

ls -al /u01/app/oracle/oradata/ORCL/orclpdb/system01.dbf

Solution: Complete Recovery using DRA

rman target "'/ as sysdba'"

ALTER PLUGGABLE DATABASE orclpdb CLOSE ABORT;

LIST FAILURE;
ADVISE FAILURE;
-- generate a script with all repair actions and comments.
REPAIR FAILURE PREVIEW;
-- repair database failures
REPAIR FAILURE;
-- will ask whether open the db
ALTER PLUGGABLE DATABASE orclpdb OPEN;

lab_complete_recovery

lab_complete_recovery



Non-SYSTEM Tablespace Recovery


Lab: Recover from the loss of non-critical datafile in PDB

rm /u01/app/oracle/oradata/ORCL/orclpdb/bar91tbs01.dbf

Solution: Complete Recovery using RMAN

-- rman
rman target "'sys@orclpdb as sysdba'"
REPORT SCHEMA;
-- close pdb immediate
SHUTDOWN IMMEDIATE;

-- restore and recover
RESTORE DATABASE;
RECOVER DATABASE;

-- open pdb
STARTUP

lab_complete_recovery

lab_complete_recovery

lab_complete_recovery


Solution: Complete Recovery using DRA

rman target "'/ as sysdba'"

LIST FAILURE;
ADVISE FAILURE;
-- generate a script with all repair actions and comments.
REPAIR FAILURE PREVIEW;
-- repair database failures
REPAIR FAILURE;
-- will ask whether open the db
ALTER PLUGGABLE DATABASE orclpdb OPEN;

lab_complete_recovery

lab_complete_recovery

lab_complete_recovery


REPAIR command:

-- rman
CONNECT TARGET /
REPAIR REPAIR pdb_name:tbsp_name;
-- sqlplus
CONNECT system@sales_pdb
ALTER TABLESPACE tbs2 OFFLINE IMMEDIATE;

-- rman
CONNECT TARGET /
RESTORE TABLESPACE sales_pdb:tbs2;
RECOVER TABLESPACE sales_pdb:tbs2;

-- sqlplus
ALTER TABLESPACE tbs2 ONLINE;

Solution: Complete Recovery using the REPAIR Command

rman target "'/ as sysdba'"
REPORT SCHEMA;
-- close pdb immediate
ALTER PLUGGABLE DATABASE orclpdb CLOSE IMMEDIATE;
-- restores and recovers the data file.
REPAIR PLUGGABLE DATABASE ORCLPDB;
ALTER PLUGGABLE DATABASE orclpdb OPEN;

lab_complete_recovery

lab_complete_recovery

lab_complete_recovery


Recovering PDB Tempfile

-- When connecting with PDB

-- add new tempfile
ALTER TABLESPACE temp ADD TEMPFILE
'/u0l/app/oracle/oradata/CDB1/HR_PDB/temp2_02.dbf"'
SIZE 20M;

--  drop missing tempfile
ALTER TABLESPACE temp DROP TEMPFILE
'/u0l/app/oracle/oradata/CDB1/HR_PDB/temp2_01.dbf';

TOP