oracle 數據庫回閃,各種數據庫閃回的總結

本帖最后由 guoyJoe 于 2013-3-26 21:15 編輯

一、Fashback Query閃回查詢:Books-->APP-->Application Developer's Guide - Fundamentals-->Flashback

1、應用Flashback Query查詢過去的數據

select * from t1 as of scn 44545454;

select * from t1 as of timestamp to_timestamp('2012-09-28:09:20:13','yyyy-mm-dd:hh24:mi:SS');

select * from t1 as of timestamp sysdate-5/1440;

--select to_char(sysdate,'yyyy-mm-dd:hh24:mi:ss') sys_time,to_char(scn_to_timestamp(current_scn),'yyyy-mm-dd:hh24:mi:ss') scn_to_time,timestamp_to_scn(sysdate) date_to_scn,dbms_flashback.get_system_change_number scn1,current_scn scn2 from v$database;

2、應用Flashback Query查詢操作的事務

(1)使用Flashback Version Query 查詢記錄修改版本

select current_scn from v$database;

DML操作........

insert into t1 values(20,'gyj20');

commit;

update t1 set name='gyj200000' where id=20;

commit;

delete from t1 where id=20;

commit;

select current_scn from v$database;

SELECT ID,NAME,VERSIONS_STARTSCN STARTSCN,VERSIONS_ENDSCN ENDSCN,VERSIONS_OPERATION OPERATION,VERSIONS_XID XID

FROM T1 VERSIONS BETWEEN SCN 2942841 AND 2942947;

--VERSIONS_STARTSCN:該條記錄操作時的SCN,如果為空,表示該行記錄是在查詢范圍外創建的

--VERSIONS_ENDSCN:該條記錄失效時的SCN,如果為空,說明記錄在這段時間無操作,或者已經被刪數,配合VERSIONS_OPERATION

--VERSIONS_OPERATION:I表示insert、D表示delete、U表示update

--VERSIONS_XID:該操作的事務ID

(2)使用Flashback Transaction Query 查詢事務信息(可以做審計)

alter database add supplemental log data; //Oracle11g禁用了supplemental logging

select current_scn from v$database;

DML操作........

select current_scn from v$database;

select xid,commit_scn,commit_timestamp,operation,undo_sql

from flashback_transaction_query q where q.xid in (select

versions_xid from t1 versions between SCN??2943656 and 2943676);

SQL> DESC FLASHBACK_TRANSACTION_QUERY --能獲得這個事務執行時的很多信息,包括UNDO語句

Name? ?? ?? ?? ???Null?? ? Type

----------------- -------- ------------

XID? ?? ?? ?? ?? ???RAW(8)    --事務ID,對應Versions Query中的VERSIONS_XID

START_SCN? ?? ?? ???NUMBER? ?? ? --事務開始時的SCN

START_TIMESTAMP? ???DATE? ?? ?? ?--事務開始時間

COMMIT_SCN? ?? ?? ? NUMBER    --事務提交時的SCN,該列為空的話,說明事務為活動事務

COMMIT_TIMESTAMP? ? DATE     --事務提交時間

LOGON_USER? ?? ?? ? VARCHAR2(30) --操作用戶

UNDO_CHANGE#? ?? ???NUMBER    --UNDO SCN

OPERATION? ?? ?? ???VARCHAR2(32) --執行操作,有幾個值:Delete、Insert、Update、B、UNKNOWN

TABLE_NAME? ?? ?? ? VARCHAR2(256)--DML操作對象的表名

TABLE_OWNER? ?? ?? ?VARCHAR2(32) --表的屬主

ROW_ID? ?? ?? ?? ???VARCHAR2(19) --DML操作記錄的行地址

UNDO_SQL? ?? ?? ?? ?VARCHAR2(4000)--撤銷該操作對應的SQL

二、Flashbackup Table閃回表:Books-->ADM-->Administrator's Guide-->flashback

1、從undo表空間恢復

select row_movement from user_tables where table_name='T1';

alter table t1 enable row movement;

select * from t1;

select current_scn from v$database;

delete from t1;

commit;

select * from t1;

select * from t as of scn 9999;

flashback table t1 to scn 9999;

flashback table t1 to timestamp sysdate-5/1440;

--create temporary tablespace temp2 tempfile '/u01/app/oracle/oradata/bxdb/temp02.dbf' size 50M;

--alter user gyj??temporary tablespace temp2;

2、利用recyclebin,drop閃回

drop table t1;

select object_name,original_name,droptime from recyclebin;

flashback table t1 to before drop;

--flashback table t1 to before drop rename to t1_old;

實驗:多個名為t1的表恢復會是什么順序???

回收站清除是按什么規則的??????

恢復表時索引也同時被恢復,但索引名稱是????

drop table t1 purge; --真正刪除表

三、數據庫閃回配置:Books-->BAK-->Backup and Recovery Advanced User's Guide-->flashback

v$flashback_database_log

1、閃回區的大小

db_recovery_file_dest

db_recovery_file_dest_size

2、閃回日志保留時間

db_flashback_retention_target

3、設閃回

startup mount

alter database flashback on;

alter database open;

4、閃回操作要在mount下做

一般在備庫中做完測試,用閃回恢復到測度前狀態

flashbackup database TO TIMESTAMP(SYSDATE-1/24);

alter database open;

5、建閃回點

create restore point 恢復點名字 [guarantee flashback database]

drop restore point 恢復點名字

flashback database to??restore point re_data;

6、***場景1:

show parameter db_recover

arcive log list;

select flashback_on,force_logging from v$database;

alter database force logging;

select dbms_flashback.get_system_change_number from dual;

drop table t1 purge;

shutdown immediate;

startup mount;

flashback database to??restore point re_data;

--flashback database to scn 1511225;

alter database open resetlogs;

select * from t1;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/531936.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/531936.shtml
英文地址,請注明出處:http://en.pswp.cn/news/531936.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

poj 2528 Mayor's posters(線段樹+離散化)

1 /*2 poj 2528 Mayors posters 3 線段樹 離散化4 5 離散化的理解:6 給你一系列的正整數, 例如 1, 4 , 100, 1000000000, 如果利用線段樹求解的話,很明顯7 會導致內存的耗盡。所以我們做一…

漢儀尚巍手書有版權嗎_為什么“漢儀尚巍手書”會大行天下?

昨夜,我寫了篇文章《莫選最丑尚巍體,要選美麗中國字!》發到朋友圈、微信群里,得到了一些朋友的反饋,有位朋友居然還認識尚巍,把他的微信推給了我。我加了尚巍的微信,待他通過后,便連…

如何查詢linux服務器的網卡,Linux服務器如何查看有沒有無線網卡

還是實驗室那臺服務器,連不上網。有沒有界面,所以想著如何用一些命令來鏈接上熱點。當然,在Linux下鏈接wifi沒有win下那么一點就好了!首先我們需要的基本條件就是: 服務器上有無線網卡。[roottomato2 ~]# iwconfiglo n…

java中如何生成可執行的jar文件

java中如何生成可執行的jar文件最簡單的方法就是:jar -cfe Card.jar CardLayoutDemo CardLayoutDemo$1.class CardLayoutDemo$myAct ionListener.class CardLayoutDemo.class myClosingListener.class myPanel.class jar命令為java自帶的專用打包工具; c…

ecs硬盤數據遷移_阿里云ECS新增數據盤以及遷移數據方法

第一、檢查數據占用以及數據盤我們從探針可以看到,本身有30GB的硬盤只用到不到10GB,而且系統和WDCP面板/網站都系統盤中。通過fdisk -l 我們可以看到還有21GB的沒有格式化和掛載,系統只用到10.7GB。第二、對數據盤分區fdisk /dev/xvdb第三、查…

linux文件瀏覽 ls,linux瀏覽文件命令

在linux下我們要瀏覽文件的內容,可以通過相關的命令來執行操作,下面由學習啦小編為大家整理了linux下瀏覽文件命令的相關知識,希望對大家有所幫助!linux瀏覽文件命令1.cat[功能說明]查看文件的內容#cat本身是一個串接命令,把指定一…

python的多行語句可以使用反斜杠_python 為什么不用分號作終止符?

作者:豌豆花下貓 來源:Python貓一般而言,編程語言中使用分號“;”來實現兩種目的:作為語句分隔符:使用分號來分隔語句(statement),這樣就能在一行代碼中書寫多條語句(一行…

linux dlopen 內存,Linux下加載庫的有關問題(dlopenm, dlsym)

Linux下加載庫的問題(dlopenm, dlsym)如題, 程序中發現load庫成功,但是加載函數的時候報錯: undefined symbol functionname是很簡單的一個東西,因為不熟悉,所以老是弄不好,請各位指導!代碼如下&#xff1a…

grafana zabbix 模板_Grafana + Zabbix 監控系統搭建

rafana:一個靜態項目,需要聯合nginx、apache等使用,友好的如下顯示首先安裝 grafana官網http://grafana.org/download/ 有好多版本可選,好幾種包形式,三種安裝方式(官方說明):1、yum直接安裝 rpm包&#xf…

java二維數組的常見初始化

public class Test{public static void main(String[] args){//第一種&#xff1a;//int[][] arr1 new int[][]{{1,2}, {2, 3}, {4, 5}};int[][] arr1 {{1,2}, {2, 3}, {4, 5}};System.out.println("arr1的數值&#xff1a;");for(int i0; i<3; i)for(int j0; j…

linux svn 備份腳本,SVN熱備份腳本

SVN熱備份腳本2011-08-03 徐磊#!/bin/sh########################################################## Script to do incremental rsync backups# modidfy: wanjie.info# date: 2010/06/04# 這個腳本不是xulei寫的&#xff0c;我只是拿來主義&#xff0c;當然如果大家看不明白…

python如何刪除對象屬性_如何優雅的刪除對象中的指定屬性?

要優雅的話&#xff0c;使用 Lodash 的 omit 方法移除不要的屬性&#xff1a;const object { a: 1, b: 2, c: 3 };const result _.omit(object, [a, c]);// > { b: 2 }或者用 pick 方法只留下需要的屬性&#xff1a;const object { a: 1, b: 2, c: 3 };const result _.p…

java接口的應用舉例

/* 接口的理解&#xff1a; 接口就是前期定義一個規則&#xff01;某一個類A&#xff0c;為了擴展自身的功能&#xff0c;對外提供這個接口&#xff0c;后期只要是符合這個接口&#xff08;規則&#xff09; 的類&#xff08;這個類是接口的子類&#xff09;&#xff0c;將子類…

linux 關閉scp服務器,Linux系統如何關閉scp和sftp命令

Linux系統如何關閉scp和sftp命令。sftp介紹sftp是Secure File Transfer Protocol的縮寫&#xff0c;安全文件傳送協議。可以為傳輸文件提供一種安全的加密方法。sftp 與 ftp 有著幾乎一樣的語法和功能scp介紹兩臺主機之間傳輸文件一般使用scp命令,通常用scp命令通過ssh獲取對方…

自動補足算法是什么_如何自定義Shell(Fish版)的自動補全規則?

默認fish能自動補全的命令已經相當多了,常見的apt-get&#xff0c;rpm等都沒問題&#xff0c;但今天卻發現沒有lsusb的補全規則,查看了下文檔&#xff0c;發現規則比bash-completion簡單不少&#xff0c;記錄下&#xff5e;簡單補全1. 建立自動補全規則文件默認自動補全路徑由全…

嵌入式Linux安裝Python環境,linux環境下安裝python 3

說明&#xff1a;在linux環境下&#xff0c;都默認安裝python 2的環境&#xff0c;由于python3在python2的基礎上升級較大&#xff0c;所以安裝python 3環境用于使用最新的python 3的語法。安裝過程&#xff1a;1.下載&#xff0c;上傳python 3源碼包至服務器2.解壓縮python 3壓…

java接口中多繼承的問題

java中支撐多繼承嗎&#xff1f; 支持-》接口啊 為什么接口支持多繼承呢&#xff1f;因為接口中沒有方法體&#xff01;即使可能兩個接口中有一樣的抽象方法&#xff0c;但是 只會調用子類中覆蓋該同樣抽象方法的具體方法&#xff01;不會引起調用的歧義&#xff01; interface…

圖案設計靈感怎么寫_平面設計理念怎么寫100多字

平面設計求職者在找工作的過程中,有時個人簡歷起著很重要的作用。下面是由小編整理而成的平面設計簡歷范文參考&#xff0c;謝謝你的閱讀。平面設計簡歷范文參考(一)xxx一年以上工作經驗|男|27歲(3月11日)居住地&#xff1a;杭州電話&#xff1a;151*******(手機)E-mail&#x…

java匿名類和匿名對象及this的其他用法

/* 匿名內部類&#xff1a;就是內部類的簡寫格式。 必須前提&#xff1a;內部類必須繼承或者實現一個類或者接口。 匿名內部類其實就是一個匿名 子類對象。 格式&#xff1a;new 父類對象 or 接口(){子類內容&#xff1b;&#xff08;覆蓋父類的&#xff0c; 而且可以增加自己的…

linux下drcom無法上網,drcom為什么還是不能上網啊!

drcom為什么還是不能上網啊&#xff01;發布時間:2010-04-28 20:56:56來源:紅聯作者:hualong[is] 本帖最后由 hualong 于 2010-4-30 16:45 編輯 [/i]主要是因為我搞很久的drcom&#xff0c;還是不能上網啊&#xff01;&#xff01;截一個圖讓前輩們幫忙分析一下。安裝了bulid-e…