一、
flashback database 1、
架構及實現原理
flashback database
由rvwr
程序和flashback database
日誌組成。當
flashback database
被啟用時,
rvwr
程序會將資料庫的修改寫入
flashback database log
中,恢復時讀取
flashback database logs
中資訊進行恢復。
flashback database
使用rman configure retention policy
命令設定
flashback database logs
的儲存策略。當
flash recovery area
空間使用了
90%到
95%時資料庫會向
alter.log
檔案中寫入
warning
。到使用
90%的空間時,
oracle
會自動刪除
flash recovery area
中的檔案。
2、限制條件
nmedia failure
不能使用
flashback database n
當datafile
被大小改變或這被
shrink
後,不能使用
flashback database
進行還原n當
control file
被重建或
restore
後,不能進行
flashback database n
刪除乙個表空間後,不能使用
restlogs 3、
啟用方法
把資料庫置為
archive log
模式sql> connect / as sysdba
sql> startup mount
sql> alter db_flashback_retention_target=4320;----
設定可以進行多久的閃回(分鐘)
sql> alter database flashback on;
sql> alter database open;
4、配置閃回區域
sql> alter system set db_recovery_file_dest_size=10m scope=both;
sql> alter system set db_recovery_file_dest=』 c:/oracle/flash_recovery_area/ora101t』;
5、備份
flashback recovery area
rman> backup recovery area;
rman> backup recovery files;
6、相關檢視
v$flashback_database_log
:可以用來查詢
oldest_flashback_scn
v$flashback_database_stat
:查詢每次閃回操作的資訊
二、其他閃回功能
包括flashback drop, flashback versions query, flashback transaction query,
flashback table,
這些都是利用
undo data
進行閃回的
a)flashback drop 在
oracle 10g
中,刪除乙個
table
後,會將資料放在
recycle bin
中,而不是直接刪除。n語法
flashback table table_name to before drop
b)recycle bin n
show recyclebin
:顯示**站中的內容
n內容查詢
sql> select object_name as recycle_name, original_name, object_name from recyclebin; n
對閃回表進行重新命名
sql> flashback table"bin$0zvr8edeqbk4s8g2csf2kg==$0" to before drop
rename to t2;
n徹底刪除
purge table original_table_name;
purge table recycle_bin_object_name;
n徹底刪除**站中特定表空間中的特定使用者建立的物件
purge tablespace tablespace user user
sql> purge tablespace users user test;
n清空**站
purge recyclebin;
purge dba_recyclebin;
c)flashback versions query n
只能查詢已經提交的資料
sql> select salary from t1
2versions between
3scn minvalue and maxvalue
4where employee = 'jones'; 或
sql> select salary from t1
2versions between timestamp
3to_timestamp('2004-10-26 11:37:01','yyyy-mm-dd hh:mi:ss') and
4to_timestamp('2004-10-26 11:43:01','yyyy-mm-dd hh:mi:ss')
5where employee = 'jones'; n
偽列versions_starttime
versions_startscn
versions_endtime
versions_endscn
versions_xid
versions_operation
select to_char(versions_starttime,'dd-mon hh:mi') "start date",
to_char (versions_endtime, 'dd-mon hh:mi') "end date",
versions_xid,
versions_operation,
employee,
salary
from test.t1
versions between scn
minvalue and maxvalue
where employee = 'jones' d)
flashback transaction query
可以查詢已提交和未提交的資料
sql> select table_name, operation, undo_sql
2from flashback_transaction_query
3where start_timestamp >= to_timestamp ('2004-10-26 06:45:00', ➥
'yyyy-mm-ddhh:mi:ss')
4and table_owner = 'test'; e)
flashback table
sql> alter table t1 enable row movement;
sql> flashback table t1 to scn 771511;
閃回的同時,啟用被刪除的
trigger
sql> flashback table table_name to scn 771551 enable triggers;
ORACLE10g 閃回表學習
當表被drop掉後,表及其相關物件被放在乙個稱為 站 的邏輯容器中。但物件並沒有從它原先所在的表空間中刪除 而是仍然占用著空間。站只是乙個列出被刪除物件目錄的邏輯結構。sql select from tab sql drop table table name sql select from recy...
oracle 10g的閃回特性
1.先介紹兩個表 select from tab 檢視有那些表 select from ind 檢視有那些索引 2.試驗指令碼 create table abc id int create index abc on abc id commit insert into abc values 1 ins...
oracle10G 資料幫浦技術
1.技術概述 資料幫浦技術是基於pl sql的dbms datapump提供的 通過兩個方式可以使用 乙個是命令列模式 乙個是基於web的企業級別影象介面管理工具完成資料的遷移。1 資料幫浦與imp exp的區別 是基於imp exp的,但是比imp exp速度塊 單執行緒比exp快2倍 比imp快...