唯讀表空間的恢復

2021-06-26 02:40:09 字數 4429 閱讀 7701



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 解決...