首页
/
每日頭條
/
生活
/
oracle備份腳本
oracle備份腳本
更新时间:2026-10-26 13:44:27
概述

閃回表是一種能夠恢複表或設置表到過去某個特定的時間點而又不需要進行不完全恢複的閃回技術。

使用閃回表時,所有的相關對象都能得到恢複。


Oracle11g flashback table 特性:

1、在線操作;

2、恢複到指定時間點或SCN的任何數據;

3、自動恢複相關屬性、如索引、觸發器等;

4、滿足分布式的一緻性;

5、滿足數據一緻性,所有相關對象将自動一緻;

6、閃回表技術是基于回滾數據(undodata)來實現的,因此,要想閃回表到過去的某個時間上,必須确保與回滾表空間有關的參數設置合理。


閃回表語法:

FLASHBACK TABLE [SCHEMA.] <TABLE_NAME> TO {BEFORE DROP [RENAME TO TABLE] | [SCN | TIMESTAMP] expr [RNABLE | DISABLE] TRIGGERS}

實例:

SQL>delete from test where id=7766; SQL>commit; 進行恢複 SQL>alter table test enable row movement; SQL>flashback table test to timestamp to_timestamp('2019-03-1015:33:30','yyyyy-mm-dd hh24:mi:ss')

局限性:

FLASHBACK TABLE 命令作為單獨一個事務執行,獲取DML鎖,統計信息不會閃回;當前索引及依賴對象被維護; 閃回表有如下特性:

1) 不能對系統表做閃回操作;

2) 在執行DDL操作後不能做閃回操作;

3) 閃回操作命令寫入alert日志文件;

4) 閃回操作會産生undo 和redo數據;

注意 SYS 用戶不支持閃回,Flashback Table 也是使用 UNDO tablespace 的内容來實現對數據的回退。

注意:如果想要對表進行 flashback,必須允許表的 row movement.

Alter table table _name row movement;

要 查 看 某 表 是 否 啟 用 row movement , 可 以 到 user _tables 中 查 詢 ( 或all_tables,dba_tables),

例如:

SQL> select row _movement from user_tables where table_name='EMP';

要啟用或禁止某表 row movement,可以通過下列語句:

--啟用

SQL> ALTER TABLE emp ENABLE ROW MOVEMENT;

oracle備份腳本(Oracle備份恢複之Flashback--閃回表)1

--禁止

SQL> ALTER TABLE table _name DISABLE ROW MOVEMENT;

oracle備份腳本(Oracle備份恢複之Flashback--閃回表)2

實例:

1、基礎環境準備

SQL> create table C (id number(2)); SQL> insert into C values(1); SQL> insert into C values(2); SQL> commit; SQL> select * from c; SQL> alter session set nls _date_format="yyyy-mm-dd hh24:mi:ss"; SQL> select sysdate from dual; SQL> select current _scn from v$database;

oracle備份腳本(Oracle備份恢複之Flashback--閃回表)3

2、删除數據

SQL> delete from C; SQL> commit; SQL> alter table c enable row movement;

oracle備份腳本(Oracle備份恢複之Flashback--閃回表)4

3、恢複數據

SQL> flashback table c to scn 55714263; SQL> select * from C;

oracle備份腳本(Oracle備份恢複之Flashback--閃回表)5

總結

Flashback table 命令支持同時操作多個表,表名中間以逗号分隔即可,如果你執行一條flashback table 命令時同時指定了多個表,要記住單個 flashback table 是在同一個事務中,因此這些表的恢複操作要麼都成功,要麼都失敗。

後面會分享更多關于devops和DBA方面内容,感興趣的朋友可以關注下!!

oracle備份腳本(Oracle備份恢複之Flashback--閃回表)6

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
羊毛大衣要如何保養呢
羊毛大衣要如何保養呢
羊毛大衣要如何清洗?羊毛大衣最好的清洗方式一定是幹洗,但如果卷标有“可以機洗”的記号,便可手洗或機洗。手洗的話,放入水中用專用洗衣劑輕輕按壓清洗,不要大力揉搓。機洗的話,先放入洗衣袋,再用洗衣機的“溫柔清洗”功能處理。要留意,一般羊毛不可用熱水清洗,也...
2026-10-26
牛仔褲怎麼洗不掉色
牛仔褲怎麼洗不掉色
牛仔褲給人時尚的感覺,所以有很多的男女朋友們都比較喜歡穿牛仔褲。但是大家都知道牛仔褲在清洗的時候是最容易掉色的,掉色之後,就失去了新買時候的色彩,這就讓我們甚是煩惱,那麼牛仔褲怎麼洗才能夠保持原來的顔色呢?牛仔褲怎麼洗不掉色呢?這個問題相信是有很多人想要知道的。牛仔褲怎麼洗不掉色?其實新買的牛仔褲在...
2026-10-26
食物寒熱屬性大不同,如何辨别?
食物寒熱屬性大不同,如何辨别?
人的體質各異,食物也各有其屬性,根據自己的體質,食用适合的食物,吃對食物對機體才能有所助益。如寒涼性食物會使身體體能降低作用,因此體質虛寒、怕冷者應忌食或少食。溫熱性食物能提升體能作用,但容易上火,因此燥熱體質者應忌食。食物寒熱屬性大不同,如何辨别?如何從食物的顔色、味道、生長環境等方面來辨别其寒熱...
2026-10-26
西裝應該如何清洗
西裝應該如何清洗
西裝應該如何清洗1、幹洗:幹洗主要是适合少部分污漬的清洗。在衣物清洗之前要查看一下哪些部位受污。然後,用水噴濕,放較少的高檔肥皂和洗衣液,用刷子刷了完後再把肥皂、洗衣粉之類的東西漂淨。不然幹後某些地方會起一些斑塊。洗淨後晾曬至七成,把它防止在平坦的氈面上,再用一些不太幹的幹淨料,平放在要熨的衣服的上...
2026-10-26
新衣服應該洗洗再穿是一種健康、衛生的生活習慣
新衣服應該洗洗再穿是一種健康、衛生的生活習慣
新衣服買回來,你會洗洗再穿嗎?貼身衣服和皮膚直接接觸,買來後不能立即穿在身上,應該用清水加少量洗滌劑清洗,現在很多人具備了這種健康意識。但其他新衣服也應該盡量清洗,因為衣服在生産和銷售的過程中,不可避免會沾上灰塵或者其他物質,所以為維護身體健康,及時清洗還是很有必要的。調查發現,一些人認為新衣服并不...
2026-10-26
Copyright 2023-2026 - www.tftnews.com All Rights Reserved