Oracle 10g閃回技術

2021-05-23 16:42:06 字數 3953 閱讀 1942

一、

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快...