oracle 11g 回收站(recyclebin)的使用


版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/Dream19881003/article/details/6699998
 
Flashback是以undo segment中的內容為基礎的,因此受限於undo_retenton參數,要使用flashback的特征,必須啟動自動撤銷表空間。

              在oracle11g中,出現了一個新的特征,oracle flashback data archive(FDA),通過將變化的數據另外存儲到創建的一個閃回歸檔去(flashback archive),以和undo區別開,這樣可以單獨設置存儲策略,使其可以山回到指定時間之前的舊數據而不影響undo策略。  在Oracle 11g中,recyclebin參數發生了微小的變化.

This supported parameter was introduced in Oracle 10.2.0

Version
Parameter Name
Data Type
Session Modifiable
System Modifiable
10.2.0
recyclebin
String
TRUE
IMMEDIATE
11.1.0
recyclebin
String
TRUE
DEFERRED
從文檔上我們可以看到這個變化說明,到了11g中,這個參數在session依然可以立即修改並影響當前的session,但如果是在系統一級修改的話,那么就要加deferred參數,對當前已經連接的sesion沒有影響,但新連接的session將受到影響

              Flashback不支持sys用戶,system表空間下面的對象,也不能從回收站里拿到。故使用sys或是system用戶登錄時,show recyclebin為空。

啟動閃回數據庫的步驟:

1,  開啟歸檔模式:alter database archivelog;

2,  配置閃回區:alter system set db_recovery_file_dest=’/../’

3,  配置閃回保留時間,默認是1440minutes:alter system set db_flashback_retention_target=’2880’;

4,  啟動閃回數據庫:shutdown immediate;startup mount

Alter database flashback on/off;

5,  執行閃回操作:shutdown immediate;startup mount;

Flashback database to timestamp to_date(‘2001-02-03’,’yyyy-mm-dd hh24:mi:ss’);

或是:flashback database to scn 2323534;

Alter database open ready only;檢查閃回時刻是否是所需的數據,如果不是,可以繼續修改。

檢查完畢之后:shutdown immediate;startup mount; alter database open resetlogs;resetlogs是將control file中的scn#與數據文件中的scn#同步,消除時間間隔。

V$flashback_database_log視圖,可以查看閃回日志所占的空間,最早能閃回到的scn,最早能閃回到的時間點

7,查看回收站:show recyclebin; 或是select * from sys.recyclebin$查       所有的回收站。

8,恢復被刪除的表:flashback table t_name to before drop;如果閃回

       的表名與當前的表名相同,需要重命名才可以閃回

                     Flashback table t_name to before drop rename to t_new;

9,閃回指定的表

       查看表結構:desc “BIN$qrjyuHuVotHgQAB/AQAQ3w==$0”;

       查看表的記錄:select count(*) from “BIN$qrjyuHuVotHgQAB/AQAQ3w==$0”;

       安裝表名稱恢復:flashback table “BIN$qrjyuHuVotHgQAB/AQAQ3w==$0” to before drop;

       越過回收站直接刪除:drop table t purge;drop user cascade; drop tablespace users including contents;

       清空回收站:purge index idx_1; purge user_recyclebin; purge dba_recyclebin;

                     當設置db_recovery_file_dest為空的時候,也可以取消閃回區,如果已經啟用flashback database;則這個方法不能取消。

                     查看當前的scn:select current_scn from v$database;

              查看哪些對象可以利用閃回恢復區來存放:   

                            SQL> select file_type from v$flash_recovery_area_usage;

 

FILE_TYPE

--------------------

CONTROL FILE

REDO LOG

ARCHIVED LOG

BACKUP PIECE

IMAGE COPY

FLASHBACK LOG

FOREIGN ARCHIVED LOG

 

7 rows selected.

 

       查看閃回恢復區空間的使用情況:

SQL> select * from v$flash_recovery_area_usage;

 

FILE_TYPE            PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE

-------------------- ------------------ -------------------------

NUMBER_OF_FILES

---------------

CONTROL FILE                          0                         0

              0

 

REDO LOG                              0                         0

              0

 

ARCHIVED LOG                          0                         0

              0

 

 

FILE_TYPE            PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE

-------------------- ------------------ -------------------------

NUMBER_OF_FILES

---------------

BACKUP PIECE                          0                         0

              0

 

IMAGE COPY                            0                         0

              0

 

FLASHBACK LOG                         0                         0

              0

 

 

FILE_TYPE            PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE

-------------------- ------------------ -------------------------

NUMBER_OF_FILES

---------------

FOREIGN ARCHIVED LOG                  0                         0

              0

 

 

7 rows selected.

計算flash recovery area已經占用的空間:

 

SQL> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;

 

SUM(PERCENT_SPACE_USED)*3/100

-----------------------------

                            0

如果flash recovery area空間不足導致db不能打開或是hang住的處理方法

       Alter system set db_recovery_file_dest_size=3G scope=spfile;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM