2個表空間是設定成了唯讀,對應的資料檔案是5,6,6是在備份之前就設定成了唯讀,5是在備份後設定成唯讀的。
rman> restore database
2> ;
啟動 restore 於 03-10月-14
使用目標資料庫控制檔案替代恢復目錄
分配的通道: ora_disk_1
通道 ora_disk_1: sid=155 devtype=disk
未處理資料檔案 5, 因為檔案是唯讀的
未處理資料檔案 6, 因為檔案是唯讀的
通道 ora_disk_1: 正在開始恢復資料檔案備份集
通道 ora_disk_1: 正在指定從備份集恢復的資料檔案
正將資料檔案00001恢復到d:\oracle\product\10.2.0\oradata\orcl\system01.dbf
正將資料檔案00002恢復到d:\oracle\product\10.2.0\oradata\orcl\undotbs01.dbf
正將資料檔案00003恢復到d:\oracle\product\10.2.0\oradata\orcl\sysaux01.dbf
正將資料檔案00004恢復到d:\oracle\product\10.2.0\oradata\orcl\users01.dbf
通道 ora_disk_1: 正在讀取備份段 d:\oracle\product\10.2.0\rmanbak\ora_bak85998310
6_s9_s1
通道 ora_disk_1: 已恢復備份段 1
段控制代碼 = d:\oracle\product\10.2.0\rmanbak\ora_bak859983106_s9_s1 標記 = tag20141
003t121145
通道 ora_disk_1: 恢復完成, 用時: 00:00:56
完成 restore 於 03-10月-14
rman> recover database;
啟動 recover 於 03-10月-14
使用通道 ora_disk_1
未處理資料檔案 5, 因為檔案是唯讀的
未處理資料檔案 6, 因為檔案是唯讀的
正在開始介質的恢復
我們看到,5,6是唯讀的檔案,在restore的時候沒有他們,這兩個檔案丟失了,這樣也是沒有辦法來恢復的。要在restore的時候恢復唯讀表空間,使用restore database check readonly;
rman> restore database check readonly;
啟動 restore 於 03-10月-14
使用通道 ora_disk_1
通道 ora_disk_1: 正在開始恢復資料檔案備份集
通道 ora_disk_1: 正在指定從備份集恢復的資料檔案
正將資料檔案00001恢復到d:\oracle\product\10.2.0\oradata\orcl\system01.dbf
正將資料檔案00002恢復到d:\oracle\product\10.2.0\oradata\orcl\undotbs01.dbf
正將資料檔案00003恢復到d:\oracle\product\10.2.0\oradata\orcl\sysaux01.dbf
正將資料檔案00004恢復到d:\oracle\product\10.2.0\oradata\orcl\users01.dbf
正將資料檔案00005恢復到d:\oracle\product\10.2.0\oradata\orcl\t4.dbf
正將資料檔案00006恢復到d:\oracle\product\10.2.0\oradata\orcl\test.dbf
通道 ora_disk_1: 正在讀取備份段 d:\oracle\product\10.2.0\rmanbak\ora_bak85998310
6_s9_s1
通道 ora_disk_1: 已恢復備份段 1
段控制代碼 = d:\oracle\product\10.2.0\rmanbak\ora_bak859983106_s9_s1 標記 = tag20141
003t121145
通道 ora_disk_1: 恢復完成, 用時: 00:07:51
完成 restore 於 03-10月-14
rman> recover database;
啟動 recover 於 03-10月-14
使用通道 ora_disk_1
未處理資料檔案 5, 因為檔案是唯讀的
未處理資料檔案 6, 因為檔案是唯讀的
正在開始介質的恢復
存檔日誌執行緒 1 序列 60 已作為檔案 d:\oracle\product\10.2.0\arch1\arc00060_085592
5716.001 存在於磁碟上
存檔日誌執行緒 1 序列 61 已作為檔案 d:\oracle\product\10.2.0\arch1\arc00061_085592
5716.001 存在於磁碟上
存檔日誌執行緒 1 序列 62 已作為檔案 d:\oracle\product\10.2.0\arch1\arc00062_085592
5716.001 存在於磁碟上
存檔日誌執行緒 1 序列 63 已作為檔案 d:\oracle\product\10.2.0\arch1\arc00063_085592
5716.001 存在於磁碟上
存檔日誌執行緒 1 序列 64 已作為檔案 d:\oracle\product\10.2.0\arch1\arc00064_085592
5716.001 存在於磁碟上
存檔日誌檔名 =d:\oracle\product\10.2.0\arch1\arc00060_0855925716.001 執行緒 =1
序列 =60
存檔日誌檔名 =d:\oracle\product\10.2.0\arch1\arc00061_0855925716.001 執行緒 =1
序列 =61
存檔日誌檔名 =d:\oracle\product\10.2.0\arch1\arc00062_0855925716.001 執行緒 =1
序列 =62
介質恢復完成, 用時: 00:00:03
完成 recover 於 03-10月-14
sql> alter database open;
alter database open
*第 1 行出現錯誤:
ora-01113: 檔案 5 需要介質恢復
ora-01110: 資料檔案 5: 'd:\oracle\product\10.2.0\oradata\orcl\t4.dbf'
看到由於在備份後,資料檔案5中的表有變動,現在由於是唯讀的,無法open,需要手工recover
sql> recover datafile 5;
ora-00279: 更改 2275818 (在 10/03/2014 12:11:46 生成) 對於執行緒 1 是必需的
ora-00289: 建議: d:\oracle\product\10.2.0\arch2\arc00060_0855925716.001
ora-00280: 更改 2275818 (用於執行緒 1) 在序列 #60 中
指定日誌:
d:\oracle\product\10.2.0\arch2\arc00060_0855925716.001
ora-00279: 更改 2275864 (在 10/03/2014 12:13:45 生成) 對於執行緒 1 是必需的
ora-00289: 建議: d:\oracle\product\10.2.0\arch2\arc00061_0855925716.001
ora-00280: 更改 2275864 (用於執行緒 1) 在序列 #61 中
ora-00278: 此恢復不再需要日誌檔案
'd:\oracle\product\10.2.0\arch2\arc00060_0855925716.001'
指定日誌:
d:\oracle\product\10.2.0\arch2\arc00061_0855925716.001
ora-00279: 更改 2275866 (在 10/03/2014 12:13:46 生成) 對於執行緒 1 是必需的
ora-00289: 建議: d:\oracle\product\10.2.0\arch2\arc00062_0855925716.001
ora-00280: 更改 2275866 (用於執行緒 1) 在序列 #62 中
ora-00278: 此恢復不再需要日誌檔案
'd:\oracle\product\10.2.0\arch2\arc00061_0855925716.001'
指定日誌:
d:\oracle\product\10.2.0\arch2\arc00062_0855925716.001
已應用的日誌。
完成介質恢復。
sql> alter database open;
資料庫已更改。
唯讀表空間中的表是可以DROP的
唯讀表空間中的表是可以drop的 在oracle資料庫中,至少有以下幾個表空間 1 system表空間,每乙個資料庫都包含乙個system表空間,當資料庫建立的時候,system表空間會自動的建立。當資料庫開啟的時候,system表空間始終處於online狀態。system表空間的重要之處是能夠儲存...
09 常被人遺忘的唯讀表空間
唯讀表空間 tablespace oracle 備份恢復 在資料庫管理中,會把一些歷史資料或基本不變化的資料放入唯讀表空間。因為這種表空間上只能進行讀操作而不能做dml操作。能有效防止被意外的修改或刪除,所以很適合存放上述型別的資料,另外,它在備份方面還有乙個好處,因為它是唯讀的,就是沒有變化,只需...
ORACLE表空間恢復方案
一 使用者表空間 錯誤 在啟動資料庫時出現ora 01157,ora 01110或作業系統級錯誤例如ora 07360,在關閉資料庫 使用shutdown normal或shutdown immediate 時將導致錯誤ora 01116,ora 01110以及作業系統級錯誤ora 07368 解決...