rman的一些常用小結。
1 備份
rman target sys/sys@demo nocataglog
rman>run {
configure channel device type disk maxpiecesize 400M;
configure device type disk parallelism 3;(3通道)
backup database format='d:\xxxx\xxx\%d_%s_%p.pak';
}
list backup;
rman>report schema;(查看方案)
備份資料表空間:
backup tablespace users format='d:\backup\rman\%N_%s.bak';
列出情況:
list backup of tablespace users;
顯示備份配置
show all;
備份資料檔案和控制檔案:
backup datafile 5 format='d:\xxx\xxx.dbf' include current controlfile;
壓縮備份:
backup as compressed backupset tablespace users format='d:\xxxx.dbf';
2 恢複
恢複的路數其實和不用rman的真的差不多的,參加oracle 學習小結 7中,比如:
A 恢複資料庫
startup force mount
run
{
restore database;
recover databse;
sql 'alter database open';
}
如果所在磁碟故障,則對資料庫的每個資料檔案都用
set newname for datafile 1 to 'c:\xxxx.dbf';
.........
restore database;
switch datafile all;
recover databse;
sql 'alter database open';
}
B 恢複SYSTEM
如果被刪除
run
{
restore datafile 1;
recover datafile 1;
sql 'alter database open';
}
如果介質壞了的話
startup force mount
run
{
set newname for datafile 1 to 'c:\xxxx.dbf';
restore datafile 1;
switch datafile 1;
recover datafile 1;
sql 'alter database open';
}
C 其他資料表空間的資料檔案損壞
如果被刪除
startup force mount
run
{
sql 'alter database datafile 1 offline'
sql 'alter database open';
restore datafile 1;
recover datafile 1;
sql 'alter database datafile 1 online';
}
如果介質壞了的話
startup force mount
run
{
sql 'alter database datafile 1 offline'
sql 'alter database open';
set newname for datafile 1 to 'c:\xxxx.dbf';
restore datafile 1;
switch datafile 1;
recover datafile 1;
sql 'alter database datafile 1 online';
}
如果是資料表空間被刪除或介質損壞,原理和上面的差不多
改為sql 'alter tablespace users offline for recover';
3 常用操作
list backup of controlfile;
list backup of archivelog all;
list backup of spfile;
核對所有備份組
crosscheck backup;
list backupset 備份組id;
核對所有資料檔案備份組:
crosscheck backup of database;
crosscheck backup of tablespace users;
crosscheck backup of datafile 4;
crosscheck backup of controlfile;
刪除陳舊備份:
delete obsolete;