如果錯誤的提交了修改操作,並想檢視被修改行原來的值,可以使用查詢閃回。然後如果需要,就可以使用查詢閃回的結果將這些行手工改回原來的值;
另外,查詢閃回可根據乙個時間值或系統變更號(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...