Oracle 11g學習筆記 查詢閃回

2021-07-23 19:27:26 字數 1339 閱讀 3660

如果錯誤的提交了修改操作,並想檢視被修改行原來的值,可以使用查詢閃回。然後如果需要,就可以使用查詢閃回的結果將這些行手工改回原來的值;

另外,查詢閃回可根據乙個時間值或系統變更號(scn)進行;資料庫使用scn來跟蹤對資料進行的修改,因此可以使用它來回閃到資料庫中乙個特定的scn時的狀態;

使用場景:

你可能在某一時間點對某乙個表執行了操作,此時如果你想回去檢視執行操作之前的資料,你便可以使用閃回操作;

首先,授權,然後指定要閃回的時間點,然後就可以開始查詢資料,此時查詢的資料都是你在那個時間點以前操作的資料,時間點以後的更新並不會顯示;(注意,在這個時間段,只能進行查詢操作。)

使用結束後,便可禁用閃回操作,在運算元據庫,就是對最新的資料操作了;

1.使用閃回的特權

--以sys身份連線到資料庫

connect sys/change_on_install as sysdba

--將對dbms_flashback包的execute許可權授予給user_name使用者;

grant

execute

on sys.dbms_flashback to user_name;

2.時間閃回查詢

●閃回到十分鐘之前

execute dbms_flashback_at_time(sysdate - 10 / 1440);
注意:此處的日期是以天為單位的,而一天有1440分鐘,所以會有如上寫法;

●禁用閃回操作

execute dbms_flashback.disable();
3.系統變更號查詢閃回

因為資料庫是根據scn來跟蹤對資料所做的變化的,要獲取當前的scn,可以執行dbms_flashback.get_system_change_number();

●查詢當前變更號

--定義變數

variable current_scn number

--查詢scn並賦值給變數

execute: current_scn := dbms_flashback.get_system_change_number();

--輸出變數

print current_scn;

●閃回到乙個scn的狀態

execute dbms_flashback.enable_at_system_change_number(:current_scn);

oracle11g 基本查詢筆記 各種

ps 更新中 建立使用者 可指定使用者表空間和臨時表空間 create user myuser identified by 123456 default tablespace mytable temporary tablespace tmp table 使用者授權 可以根據需要選擇許可權。grant...

Oracle 11g筆記 歸檔

一 歸檔的概念 歸檔 oracle把填滿的聯機日誌檔案複製到乙個或多個路徑的過程。生成的檔案叫歸檔日誌檔案 archived redo log 存放歸檔日誌檔案的路徑叫歸檔路徑。只有資料庫執行在歸檔模式下才能進行歸檔,歸檔的過程一般由歸檔程序自動完成,乙個資料庫可以有乙個或多個歸檔程序,歸檔程序的數...

Oracle 11g筆記 序列

一 序列 序列又叫序列生成器,用於提供一系列的數字,應用程式開發人員使用序列生成唯一鍵。序列按照一定的規律增加或減少。序列儲存在system表空間中,序列不像表,它不會占用磁碟空間。每次事務的提交和回滾都不會影響序列。示例 1 建立序列 sql create sequence seq1 increm...