Restore Points 制定回退方案

2021-07-28 06:00:43 字數 2719 閱讀 5214

restore points 制定回退方案

背景:flashback database 和 restore points 都可以提供乙個基於時間點的回滾。

理論:1) normal restore points

對於normal restore points, point的名稱和scn 儲存在控制檔案裡。

normal restore points 資訊儲存在控制檔案中,屬輕量級別,即使我們沒有手工的刪除這些points 資訊,控制檔案也會有刪除這些資訊,所以對於normal restore points,我們不要其他的維護操作。

restore point 同flashback database 一樣,也會產生image 檔案,在沒有啟用flashback database的情況下,只在開始時建立一次image,並儲存在fra中。 

2) guaranteed restore points

guaranteed restore points 的資訊也是儲存在控制檔案裡的,本質的不同是guaranteed restore points 不會自動的刪除,必須手工的清除這些資訊。

如果我們建立了guaranteed restore point,那麼即使我們沒有啟用flashback database,那麼我也可以恢復到我們建立的point。 但如果我們同時啟用了flashback database,那麼guaranteed  restore point 會強制保留從那個point 依賴的flashback log 檔案。 這樣我們就會rewind從我們建立point 以來的任乙個scn。

一句話表示,就是在不啟用flashbackdatabase 的情況下, guaranteed restore point 只能rewind到我們建立的點對應的scn.

當我們建立了乙個guaranteed restore points,並且我們沒有啟動flashback database,那麼在這種情況下,db 會也會建立乙個block 的映象,並存在fra空間裡,這個和flashback database 的一致,那麼不同的時,flashback database 會每隔一段時間建立乙個block的image,而restore points 只在開始時建立一次,那麼恢復的時候也就只能恢復到這個時間點。

這裡要注意一點,我們建立restore point的名稱和對應的scn是儲存在控制檔案裡的,這點前面有說明。

在不啟用flashback database 的情況下,我們建立guaranteed restore points,只建立一次image,那麼會節省很多的fra空間,這種方法在對資料庫進行公升級的時候很有用,在公升級之前我們建立一次guaranteed restore point,然後公升級db,如果公升級失敗,我們回退,如果公升級生成,我們刪除restore point。

實際上,在我們進行變更操作之前,只需要建立乙個映象就可以了,不需要時時記錄變化。而resotre points 恰好滿足我們的需求,又節省空間,並且恢復速度還快,因為它不像rman 那樣需要進行restore。所以用他非常方便。

注:guaranteed模式下只要有足夠的閃迴區,不會受db_flashback_retention_targe引數影響。

normal還原點至少保留2048個,保留的個資料受control_file_record_keep_time引數決定,預設值是7天。

建立guaranteed還原點,必須滿足以下條件:

a.建立乙個guaranteed 還原點必須有sysdba系統許可權。建立乙個normal還原點,你必須有select any dictionary or flashback any table privilege

b.必須建立flash recovery area

sql>alter system set db_recovery_file_dest='+***x' scope=both;

sql>alter system set db_recovery_file_dest_size='10g' scope=both sid='*';

c.資料庫必須是歸檔模式(如果是擔保還原點,歸檔目錄必須是共享的。

操作流程:

1.先建立restore point

sql> create restore point upgrade_point guarantee flashback database;

restore point created.

2. 檢視我們建立的restore point

sql> select * from v$restore_point;

3. 進行打補丁或者公升級等大動作

。。。。。

4.如果失敗,就進行回滾

注意:執行flashback database時,db 不能處於open狀態.

sql> shutdown immediate

sql> startup mount;

sql> select open_mode from v$database;

sql>select * from v$restore_point;

sql> flashback database to restore point upgrade_point;

--提示必須用resetlogs開啟:

sql> alter database open resetlogs;

sql>@?/rdbms/admin/utlrp.sql   (重新編譯失效物件)

sql> drop restore point upgrade_point;

sql>select * from v$restore_point;  

Restore Points 制定回退方案

restore points 制定回退方案 背景 flashback database 和 restore points 都可以提供乙個基於時間點的回滾。理論 1 normal restore points 對於normal restore points,point的名稱和scn 儲存在控制檔案裡。...

Linux制定任務

名詞解釋 cron是服務名稱,crond是後台程序,crontab則是定製好的計畫任務表。檢查定時任務環境是否滿足 否則,安裝 檢視crond服務是否執行 pgrep crond 或 sbin service crond status 或ps elf grep crond grep v grep c...

測試KPI制定

1 開發 自動化測試框架 自動化測試工具 自動化測試用例2 測試 用開發出來的框架 工具去組織 分配 執行自動化測試用例進行測試。測試過程可以自己執行,也可以交給給別的團隊 功能測試 去執行3 組織協調 測試培訓,測試自動化資料的收集 展示,測試人員答疑 測試策略顧問開發部分參照開發團隊1 按期完成...