Point in Time Recovery di un PDB
Connettersi ad Rman ed effettuare il backup del pdb e degli archivelog.
[oracle@test ORCL]$ rman target /
RMAN> backup database orlcpdb 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);
A questo punto voglio effettuare il restore del pdb a quell'orario e quindi mi aspetto che la tabella "test03" non contengo il valore 4.
Se mi ricollego con sqlplus ed interrogo la tabella, vedo che il valore 4 non esiste.
[oracle@test ORCL]$ rman target /
RMAN> backup database orlcpdb plus archivelog;
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);
SQL> select * from test03;
no rows selected
SQL> insert into test03 values (1);
1 row created.
SQL> ed
Wrote file afiedt.buf
1* insert into test03 values (2)
SQL> /
1 row created.
SQL> ed
Wrote file afiedt.buf
1* insert into test03 values (3)
SQL> /
1 row created.
SQL> select * from test03;
X
----------
1
2
3
SQL> commit;
Estriamo l'ora
SQL> select TO_CHAR(sysdate,'DD-MON-YYYY HH24:MI:SS') from dual;
TO_CHAR(SYSDATE,'DD-MON-YYYYH
-----------------------------
14-DEC-2020 16:36:36
Efftuo un altra insert in tabella test03.
SQL> insert into test03 values (4);
1 row created.
SQL> commit;
RMAN> RUN
{
ALTER PLUGGABLE DATABASE orclpdb CLOSE;
SET UNTIL TIME "TO_DATE(' 14-DEC-2020 16:36:36','DD-MON-YYYY HH24:MI:SS')";
RESTORE PLUGGABLE DATABASE orclpdb;
RECOVER PLUGGABLE DATABASE orclpdb;
ALTER PLUGGABLE DATABASE orclpdb OPEN RESETLOGS;
}
SQL> alter session set container=orclpdb;
Session altered.
SQL> select * from test03;
X
----------
1
2
3