Point in Time Recovery del CDB
Connettersi ad Rman ed effettuare il backup del db e degli archivelog.
[oracle@test ORCL]$ rman target /
RMAN> backup database plus archivelog;
Collegarsi con sqlplus al PDB
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ORCLPDB READ WRITE NO
SQL> alter session set container=orclpdb;
Session altered.
SQL> show con_name;
CON_NAME
------------------------------
ORCLPDB
Creare due tabelle:
SQL> create table test03 (x number);
Estarre la data di sistema prima di creare la secodna tabella.
SQL> select TO_CHAR(sysdate,'DD-MON-YYYY HH24:MI:SS') from dual;
TO_CHAR(SYSDATE,'DD-MON-YYYYH
-----------------------------
14-DEC-2020 16:15:45
SQL> create table test04 (x number);
A questo punto voglio effettuare il restore del db a quell'orario e quindi mi aspetto che la tabella "test04" non esista.
RMAN> RUN{
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
SET UNTIL TIME "TO_DATE('14-DEC-2020 16:15:45','DD-MON-YYYY H24:MI:SS')";
RESTORE DATABASE;
RECOVER DATABASE;
ALTER DATABASE OPEN RESETLOGS;
}
Se mi ricollego con sqlplus ed interrogo le due tabelle, vedo che la seconda tabella non esiste.
SQL> select * from test03;
no rows selected
SQL> select * from test04;
select * from test04
*
ERROR at line 1:
ORA-00942: table or view does not exist