RMAN Duplication ohne Verbindung zur Target und zum Recovery catalog
Aufbau der Testumgebung.
Die Testumgebung besteht aus zwei Datenbanken. Die Datafiles sind im ASM gespeichert und die Datenbank befindet sich im "no archive" Mode
In diesem Beispiel werden wir ein Klon von der Datenbank "JUG02DB" mit duplicate Database erstellen.
Dazu wird auf der "JUG02DB" ein Backup erstellt.. Das Backup wird in einem Filesystem gespeichert. Mit diesem Backup wird dann die Datenbank "JUG01DB" "erstellt".
Backup "JUG02DB"
Das Backup wird "offline" erstellt.
SQL> shutdown immediate;
SQL> startup mount;
Die Datenbank befindet sich jetzt im "mount" Status.
Wir erstellen jetzt mit rman das Backup
rman <<END_OF_RMAN
connect target /
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/BACKUP/rman_backup/JUG02DB1/CONTROLFILE_%F';
CONFIGURE DEVICE TYPE DISK PARALLELISM 3;
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/BACKUP/rman_backup/JUG02DB1/snapcf_orcl.f';
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/BACKUP/rman_backup/JUG02DB1/ora_df%t_s%s_s%p';
run {
backup full
filesperset 4
(database
include current controlfile
format '/BACKUP/rman_backup/JUG02DB1/OFFLINE_%d_%t_%s_%p'
tag OFFLINE_2014_04_10_12_02 );
}
END_OF_RMAN
Nach dem das Backup erstellt wurde, können die Backupfiles auf der "duplicate" Seite zu Verfügung gestellt werden. Diese liegen im Filesystem:
Ermitteln der untile Time für duplicate
Für das Duplicate benötigen wir einen "Timestamp", da das duplicate Database nicht mit "until SCN" umgehen kann:
RMAN-05542: Only UNTIL TIME can be used with DUPLICATE without TARGET and CATALOG connections
rman <<END_OF_RMAN
connect target /
list backup of database tag OFFLINE_2014_04_10_12_02;
END_OF_RMAN
Backup Überprüfung
Mit einem "restore preview" kann man das Backup überprüfen und die SCN für das Recovery feststellen:
rman <<END_OF_RMAN
connect target /
restore database preview summary from tag OFFLINE_2014_04_10_12_02
END_OF_RMAN
List of Backups
===============
Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
------- -- -- - ----------- --------------- ------- ------- ---------- ---
60 B F A DISK 10-APR-14 1 1 YES OFFLINE_2014_04_10_12_02
61 B F A DISK 10-APR-14 1 1 YES OFFLINE_2014_04_10_12_02
59 B F A DISK 10-APR-14 1 1 YES OFFLINE_2014_04_10_12_02
Media recovery start SCN is 580303
Recovery must be done beyond SCN 580303 to clear datafile fuzziness
Finished restore at 10-APR-14
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
59 Full 1.30M DISK 00:00:06 10-APR-14
BP Key: 59 Status: AVAILABLE Compressed: YES Tag: OFFLINE_2014_04_10_12_02
Piece Name: /BACKUP/rman_backup/JUG02DB1/OFFLINE_JUG02DB_844531939_71_1
List of Datafiles in backup set 59
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
4 Full 580303 10-APR-14 +JUG02TESTDB/users01.dbf
5 Full 580303 10-APR-14 +JUG02TESTDB/undotbs2.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
60 Full 53.13M DISK 00:00:16 10-APR-14
BP Key: 60 Status: AVAILABLE Compressed: YES Tag: OFFLINE_2014_04_10_12_02
Piece Name: /BACKUP/rman_backup/JUG02DB1/OFFLINE_JUG02DB_844531940_72_1
List of Datafiles in backup set 60
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
1 Full 580303 10-APR-14 +JUG02TESTDB/system01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
61 Full 47.14M DISK 00:00:26 10-APR-14
BP Key: 61 Status: AVAILABLE Compressed: YES Tag: OFFLINE_2014_04_10_12_02
Piece Name: /BACKUP/rman_backup/JUG02DB1/OFFLINE_JUG02DB_844531940_73_1
List of Datafiles in backup set 61
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
2 Full 580303 10-APR-14 +JUG02TESTDB/sysaux01.dbf
3 Full 580303 10-APR-14 +JUG02TESTDB/undotbs1.dbf
Damit wird die Ckp SCN ermittelt. Dies wandeln wir die SCN in einem Timestamp um:
SQL> select TO_CHAR(scn_to_timestamp(580303), 'YYYY-MM-DD HH24:MI:SS') as timestamp from dual;
TIMESTAMP
-------------------
2014-04-10 16:03:44
________________________________________________________________________________________________________________________
BP Key | Type | high Ckp_SCN | lown Ckp_SCN | Completion date | Completion Time | Device | TAG
________________________________________________________________________________________________________________________
61 | FULL | 580303 | 580303 | 10-APR-2014 | 16:12:46 | DISK | OFFLINE_2014_04_10_12_02
_______|_______|________________|_________________|_________________|_________________|___________|_____________________
Last Full Backup Device DISK TAG: OFFLINE_2014_04_10_12_02
Last Full Backup Device DISK Time: 2014-04-10 16:03:44
Last Full Backup Device DISK SCN: 580303
Bitte beachten Sie, dass Oracle im RMAN-Terminologie etwas verwirrend sein kann.
Beim RMAN Backup ist die zu sichernde Datenbank das "Target". Beim "Duplikat" wird es dann etwas verwirrend.
In diesem Beispiel legen wir fest:
"The Source (JUG01DB)" - das ist das RMAN Target. Das ist die Datenbank um eine neue Datenbank zu erstellen.
"The Target" - das ist die RMAN Auxiliary Datenbank. bin wir als Duplikat der Quelle verwenden. Diese werden wir nicht verwenden.
Duplicate Database Vorbereitung
Erstellung pfile "dummy.ora"
Für das starten der Source (JUG01DB) erstellen wir eine "dummy.ora" mit minimal Einträge:
echo "sga_target = 250M
_dummy_instance = TRUE
db_name = DUMMY" >/tmp/dummy.ora
Herunterfahren und starten der Source (JUG01DB) mit "/tmp/dummy.ora" im nomount Modus
SQL> shutdown abort
SQL> startup nomount pfile='/tmp/dummy.ora';
duplicate database mit until clausel
rman <<END_OF_RMAN
connect auxiliary /
run {
ALLOCATE auxiliary CHANNEL disk1 TYPE DISK FORMAT '/BACKUP/rman_backup/JUG02DB1';
ALLOCATE auxiliary CHANNEL disk2 TYPE DISK FORMAT '/BACKUP/rman_backup/JUG02DB1';
ALLOCATE auxiliary CHANNEL disk3 TYPE DISK FORMAT '/BACKUP/rman_backup/JUG02DB1';
ALLOCATE auxiliary CHANNEL disk4 TYPE DISK FORMAT '/BACKUP/rman_backup/JUG02DB1';
duplicate database to JUG01DB until time "to_date('2014-04-10 16:03:44','YYYY-MM-DD HH24:MI:SS')"
spfile
set log_file_name_convert='+JUG02TESTDB','+JUG01TESTDB'
set db_file_name_convert='+JUG02TESTDB','+JUG01TESTDB'
set control_files='+JUG01TESTDB/JUG01DB.control01.ctl'
set diagnostic_dest='/ORACLE/JUG01DB/trace'
set audit_file_dest='/ORACLE/JUG01DB/audit'
set db_create_file_dest='+JUG01TESTDB'
set db_create_online_log_dest_1='+JUG01TESTDB'
set db_create_online_log_dest_2='+JUG01TESTDB'
set core_dump_dest='/ORACLE/JUG01DB/dump'
set cluster_database='false'
set log_archive_dest_1='LOCATION=+JUG01TESTDB'
backup location '/BACKUP/rman_backup/JUG02DB1';
}
END_OF_RMAN
Danach steht die Datenbank als Klon zu Verfügung
Artikelaktionen