欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

oracle閃回恢復數(shù)據(jù)主要方法(閃回查詢,閃回表,閃回庫,回收站恢復)

 更新時間:2025年02月11日 10:13:03   作者:@睡不醒的每天@  
這篇文章主要介紹了閃回查詢、閃回表和閃回數(shù)據(jù)庫等數(shù)據(jù)庫恢復技術(shù),閃回查詢可以恢復指定時間點的數(shù)據(jù),閃回表可以將整個表恢復到過去某個時間點,閃回數(shù)據(jù)庫可以將整個數(shù)據(jù)庫回滾到過去某個時間點,需要的朋友可以參考下

概要

1、閃回查詢通常只能恢復幾小時內(nèi)的數(shù)據(jù),因為Undo表空間的大小和保留策略限制了舊數(shù)據(jù)版本的保留時間‌。

2、在進行閃回操作之前,建議備份當前數(shù)據(jù)庫或相關(guān)數(shù)據(jù),以防止意外情況導致數(shù)據(jù)丟失。

3、閃回功能不依賴于日志,可以在線恢復,無需關(guān)閉數(shù)據(jù)庫,操作簡單且恢復速度快‌1

閃回查詢恢復數(shù)據(jù)的主要方法包括:

基于時間的閃回查詢‌:

使用SELECT * FROM 表名 AS OF TIMESTAMP(時間點)語句,可以查詢并恢復在指定時間點之前的數(shù)據(jù)狀態(tài)‌。

例如,要查詢10分鐘前的數(shù)據(jù),可以使用SELECT * FROM 表名 AS OF TIMESTAMP(SYSDATE-10/1440)‌。

1、基于時間區(qū)間來恢復:恢復前5分鐘數(shù)據(jù),前20分鐘數(shù)據(jù)等

未更新前:4

delete update insert更新后:2

根據(jù)更新后的時間來確定數(shù)據(jù)要恢復的時間,比如恢復5分鐘前的數(shù)據(jù)、20分鐘前的等等時間段;

查詢3分鐘前的數(shù)據(jù):

語法:

SELECT * FROM 表名 AS OF TIMESTAMP(SYSDATE-3/1440)?;

此時查詢到的數(shù)據(jù)為更新發(fā)生后,前3分鐘的數(shù)據(jù),相當于原來的數(shù)據(jù),未改變的數(shù)據(jù)。

實際工作中可以根據(jù)具體時間來恢復,此時數(shù)據(jù)已經(jīng)查到了原來的舊數(shù)據(jù),創(chuàng)建新表拷貝閃回查詢的數(shù)據(jù):

閃回查詢前10分鐘的數(shù)據(jù)并拷貝到新表test_old中:

SQL> create table test_old as select * from test1 as of timestamp(sysdate-10/1440);

表已創(chuàng)建。

SQL> select * from test_old;

        NO NAME
---------- ----------
         1 aa
         2 bb
         3 cc
         4 dd

閃回查詢的數(shù)據(jù)已經(jīng)拷貝到新表test_old中,然后將原來的表test1表刪除,將test_old表名修改未test1,整個閃回查詢恢復數(shù)據(jù)流程到此恢復完成結(jié)束。

2、基于具體的時間來恢復:20250107 17:15:43 、20250106 17:15:43

未更新前數(shù)據(jù):

未更新前數(shù)據(jù)庫系統(tǒng)時間:

此時的時間為表未發(fā)生任何變化的系統(tǒng)時間節(jié)點,后期根據(jù)這個時間節(jié)點來恢復數(shù)據(jù),

更新表數(shù)據(jù):delete update insert

delete test_old where no='2'--刪除表中數(shù)據(jù)

表中操作已經(jīng)完成,查詢更新后的系統(tǒng)時間:

select to_char(sysdate,'yyyymmdd hh24:mi:ss') from dual  -- 更新表后的時間20250107 17:17:33

當表中完成更新,得知更新前的系統(tǒng)時間和更新后的系統(tǒng),就可以根據(jù)具體時間來恢復數(shù)據(jù):

比如恢復到更新數(shù)據(jù)前系統(tǒng)的具體時間,上面第一次獲取的時間:

select * from test_old as of timestamp to_date('20250107 17:59:28','yyyymmdd hh24:mi:ss')   --恢復具體時間的數(shù)據(jù)

此時可以看到更新后,根據(jù)未更新前的系統(tǒng)時間來恢復了被更新的數(shù)據(jù),創(chuàng)建新表拷貝恢復的數(shù)據(jù),更新為原來的表,整個恢復流程完成,后期頻繁的去更新只要知道具體的時間一定時間內(nèi)都能正?;謴偷綖椴僮髑暗臓顟B(tài)。

更新中:…

基于scn閃回查詢恢復數(shù)據(jù)

1、獲取未操作前的scn值:

select  dbms_flashback.get_system_change_number from dual  --獲取當前的scn 27511490  

此時scn值未任何操作時候的scn。

2、對表進行delete update insert(更新);

delete test_old where no=5;

更新成功,

3.獲取更新后的 scn:

此時更新操作前和操作后的值都獲取到了,可以更新scn數(shù)值區(qū)間進行閃回查詢:27511490- 27512132,

4、根據(jù)scn閃回查詢:

語法: select * from test_old as of scn 數(shù)值;select * from test_old as of scn 27511490–根據(jù)scn的區(qū)間來一步一進行閃回查詢 27511490- 27512132,之間取值

此時根據(jù)更新前的scn閃回查詢返回到了,未操作前的狀態(tài),然后新建立表拷貝閃回查詢的數(shù)據(jù)進行恢復即可:

create table test2_old as select * from test_old as of scn 27511490;

此時將scn閃回查詢的數(shù)據(jù)已經(jīng)恢復到新表中,可以對新表對象進行任何操作。

注意:

1、如果只有操作后的scn可以根據(jù)scn數(shù)據(jù)值大小一個一個去測試,知道閃回查詢

2、如果有操作前后區(qū)間的scn值,可以根據(jù)區(qū)間去一一測試,直到閃回查詢

···**閃回查詢只要查看過去具體時間點的數(shù)據(jù)變化**···

閃回表

如果表結(jié)構(gòu)沒有發(fā)生改變,并且用戶有flash any table權(quán)限,可以使用ALTER TABLE 表名 ENABLE ROW MOVEMENT和FLASHBACK TABLE 表名 TO TIMESTAMP(時間點)語句來將整個表閃回到指定的時間點‌45。

閃回數(shù)據(jù)庫‌:

閃回數(shù)據(jù)庫功能允許將整個數(shù)據(jù)庫回滾到過去某個時間點,但這通常用于更嚴重的災難恢復場景,并且需要配置恢復區(qū)(Flash Recovery Area)‌2。

‌利用“回收站”恢復被DROP的表‌:

當使用DROP命令刪除表時,Oracle并不會立即清空表所占用的空間,而是將表的信息放到一個虛擬的“回收站”中。在塊未被重新使用之前,可以通過查詢user_tables視圖或user_recyclebin來找到被刪除的表,并進行恢復‌

總結(jié)

到此這篇關(guān)于oracle閃回恢復數(shù)據(jù)的文章就介紹到這了,更多相關(guān)oracle閃回恢復數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • ORACLE 10G修改字符編碼沒有超字符集的限制

    ORACLE 10G修改字符編碼沒有超字符集的限制

    ORACLE 10G修改字符編碼沒有超字符集的限制,可以直接修改成自己想要字符串,之前已經(jīng)存在數(shù)據(jù)就需要重新再導入
    2014-08-08
  • Windows Oracle常見服務(wù)介紹

    Windows Oracle常見服務(wù)介紹

    注:SID - 數(shù)據(jù)庫標識 HOME_NAME - Oracle Home名稱,如OraHome92、OraHome81
    2009-05-05
  • Oracle故障處理之ORA-00600錯誤處理思路分析

    Oracle故障處理之ORA-00600錯誤處理思路分析

    最近在做一個項目,使用的是Oracle數(shù)據(jù)庫,近兩天不知道怎么回事,告警日志里總是顯示這個錯誤,下面這篇文章主要給大家介紹了關(guān)于Oracle故障處理之ORA-00600錯誤處理思路的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • oracle關(guān)聯(lián)查詢報invalid number錯誤的解決方法

    oracle關(guān)聯(lián)查詢報invalid number錯誤的解決方法

    這篇文章主要介紹了oracle關(guān)聯(lián)查詢報invalid number錯誤的解決方法,文中通過代碼示例和圖文結(jié)合的方式講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-09-09
  • oracle數(shù)據(jù)庫的基本使用教程(建表,操作表等)

    oracle數(shù)據(jù)庫的基本使用教程(建表,操作表等)

    這篇文章主要給大家介紹了關(guān)于oracle數(shù)據(jù)庫的基本使用(建表,操作表等)的相關(guān)資料,包含了Oracle創(chuàng)建表(create table as)使用方法、操作技巧、實例演示和注意事項,需要的朋友可以參考下
    2024-01-01
  • Oracle單行子查詢返回多行結(jié)果的問題解決

    Oracle單行子查詢返回多行結(jié)果的問題解決

    這篇文章主要給大家介紹了關(guān)于Oracle中單行子查詢返回多行結(jié)果的問題解決的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家學習或者使用oracle具有一定的參考學習價值,需要的朋友可以參考下
    2023-07-07
  • [Oracle] Data Guard 之 淺析Switchover與Failover

    [Oracle] Data Guard 之 淺析Switchover與Failover

    以下是對Oracle中Switchover與Failover的使用進行了詳細的分析介紹,需要的朋友參考下
    2013-07-07
  • Oracle數(shù)據(jù)泵的導入與導出實例詳解

    Oracle數(shù)據(jù)泵的導入與導出實例詳解

    這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)泵的導入與導出的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Oracle常見問題解決方案匯總

    Oracle常見問題解決方案匯總

    今天小編就為大家分享一篇關(guān)于Oracle常見問題解決方案匯總,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • ORACLE隱藏參數(shù)查看及修改的方法

    ORACLE隱藏參數(shù)查看及修改的方法

    這篇文章主要介紹了ORACLE隱藏參數(shù)查看及修改的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09

最新評論