欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

DM7閃回與閃回查詢-創(chuàng)新互聯(lián)

閃回
當(dāng)用戶操作不慎導(dǎo)致錯(cuò)誤的刪改數(shù)據(jù)時(shí),非常希望有一種簡(jiǎn)單快捷的方式可以恢復(fù)數(shù)據(jù)。閃回技術(shù),就是為了用戶可以迅速處理這種數(shù)據(jù)邏輯損壞的情況而產(chǎn)生的。

為天等等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及天等網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、天等網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

閃回技術(shù)主要是通過回滾段存儲(chǔ)的UNDO記錄來完成歷史記錄的還原。設(shè)置ENABLE_FLASHBACK為1后,開啟閃回功能。DM會(huì)保留回滾段一段時(shí)間,回滾段保留的時(shí)間代表著可以閃回的時(shí)間長(zhǎng)度。由UNDO_RETENTION參數(shù)指定。

SQL> select sf_get_para_value(1,'ENABLE_FLASHBACK');
LINEID     SF_GET_PARA_VALUE(1,'ENABLE_FLASHBACK')
---------- ---------------------------------------
1          0
used time: 204.313(ms). Execute id is 62.
SQL> select sf_get_para_value(1,'UNDO_RETENTION');
LINEID     SF_GET_PARA_VALUE(1,'UNDO_RETENTION')
---------- -------------------------------------
1          90
used time: 6.236(ms). Execute id is 63.

下面修改動(dòng)態(tài)參數(shù)ENABLE_FLASHBACK,scope=1同時(shí)修改內(nèi)存和dm.ini文件

SQL> call sp_set_para_value(1,'ENABLE_FLASHBACK',1);
DMSQL executed successfully
used time: 13.216(ms). Execute id is 64.
SQL> select sf_get_para_value(1,'ENABLE_FLASHBACK');
LINEID     SF_GET_PARA_VALUE(1,'ENABLE_FLASHBACK')
---------- ---------------------------------------
1          1
used time: 5.703(ms). Execute id is 65.

回滾段保留的時(shí)間缺省值為90秒,我們要修改它為1天

SQL> select sf_get_para_value(1,'UNDO_RETENTION');
LINEID     SF_GET_PARA_VALUE(1,'UNDO_RETENTION')
---------- -------------------------------------
1          90
used time: 6.236(ms). Execute id is 63.
SQL> call sp_set_para_value(1,'UNDO_RETENTION',86400);                            
DMSQL executed successfully
used time: 7.155(ms). Execute id is 74.
SQL> select sf_get_para_value(1,'UNDO_RETENTION');
LINEID     SF_GET_PARA_VALUE(1,'UNDO_RETENTION')
---------- -------------------------------------
1          86400
used time: 5.877(ms). Execute id is 75.

開啟閃回功能后,DM會(huì)在內(nèi)存中記錄下每個(gè)事務(wù)的起始時(shí)間和提交時(shí)間。通過用戶指定的時(shí)刻,查詢到該時(shí)刻的事務(wù)號(hào),結(jié)合當(dāng)前記錄和回滾段中的UNDO記錄,就可以還原出特定事務(wù)號(hào)的記錄。即指定時(shí)刻的記錄狀態(tài)。從而完成閃回查詢。閃回查詢功能完全依賴于回滾段管理,對(duì)于DROP等誤操作不能恢復(fù)。閃回特性可應(yīng)用在以下方面:
1. 自我維護(hù)過程中的修復(fù):當(dāng)一些重要的記錄被意外刪除,用戶可以向后移動(dòng)到一個(gè)時(shí)間點(diǎn),查看丟失的行并把它們重新插入現(xiàn)在的表內(nèi)恢復(fù);

2. 用于分析數(shù)據(jù)變化:可以對(duì)同一張表的不同閃回時(shí)刻進(jìn)行鏈接查詢,以此查看變化的數(shù)據(jù)。

閃回查詢
當(dāng)系統(tǒng)INI參數(shù)ENABLE_FLASHBACK置為1時(shí),閃回功能開啟,可以進(jìn)行閃回查詢。MPP環(huán)境不支持閃回查詢。

SQL> select sf_get_para_value(1,'ENABLE_FLASHBACK');
LINEID     SF_GET_PARA_VALUE(1,'ENABLE_FLASHBACK')
---------- ---------------------------------------
1          1
used time: 5.703(ms). Execute id is 65.
[root@shard1 jydm]# strings dm.ini | grep flash
ENABLE_FLASHBACK            =  1                    #Whether to enable flashback function

閃回查詢子句
閃回查詢子句的語法,是在數(shù)據(jù)查詢語句(參考第4章)的基礎(chǔ)上,為FROM子句增加了閃回查詢子句。
語法格式
< 閃回查詢子句>::=WHEN |

參數(shù)
1.time_exp 一個(gè)日期表達(dá)式,一般用字符串方式表示
2.trxid 指定事務(wù)ID號(hào)

語句功能
用戶通過閃回查詢子句,可以得到指定表過去某時(shí)刻的結(jié)果集。指定條件可以為時(shí)刻,或事務(wù)號(hào)

使用說明
1.閃回查詢只支持普通表(包括加密表與壓縮表)、臨時(shí)表和堆表,不支持水平分區(qū)表、垂直分區(qū)表、列存儲(chǔ)表、外部表與視圖;

2.閃回查詢中trxid的值,一般需要由閃回版本查詢(見下節(jié))的偽列來確定。實(shí)際使用中多采用指定時(shí)刻的方式。

例1閃回查詢特定時(shí)刻的PERSON_TYPE表。
查詢PERSON_TYPE表。

SQL> SELECT * FROM PERSON.PERSON_TYPE;
LINEID     PERSON_TYPEID NAME    
---------- ------------- --------
1          1             采購(gòu)經(jīng)理
2          2             采購(gòu)代表
3          3             銷售經(jīng)理
4          4             銷售代表
used time: 15.321(ms). Execute id is 78.

在插入數(shù)據(jù)之前記錄時(shí)間,在閃回查詢時(shí)使用

SQL> select sysdate;
LINEID     SYSDATE                    
---------- ---------------------------
1          2019-12-01 23:34:12.761683
used time: 0.480(ms). Execute id is 79.
SQL> INSERT INTO PERSON.PERSON_TYPE(NAME) VALUES('防損員');
affect rows 1
used time: 0.615(ms). Execute id is 80.
SQL> INSERT INTO PERSON.PERSON_TYPE(NAME) VALUES('保潔員');
affect rows 1
used time: 0.562(ms). Execute id is 81.
SQL> commit;
executed successfully
used time: 16.237(ms). Execute id is 82.
SQL> SELECT * FROM PERSON.PERSON_TYPE;
LINEID     PERSON_TYPEID NAME    
---------- ------------- --------
1          1             采購(gòu)經(jīng)理
2          2             采購(gòu)代表
3          3             銷售經(jīng)理
4          4             銷售代表
5          7             防損員
6          8             保潔員
6 rows got
used time: 0.626(ms). Execute id is 83.

使用閃回查詢?nèi)〉?019-12-01 23:34:12時(shí)刻的數(shù)據(jù)。此時(shí)刻在插入數(shù)據(jù)的操作之前,可見此時(shí)的結(jié)果集不應(yīng)該有2019-12-01 23:34:12時(shí)刻以后插入的數(shù)據(jù)。

SQL> SELECT * FROM PERSON.PERSON_TYPE WHEN TIMESTAMP '2019-12-01 23:34:12';
LINEID     PERSON_TYPEID NAME    
---------- ------------- --------
1          1             采購(gòu)經(jīng)理
2          2             采購(gòu)代表
3          3             銷售經(jīng)理
4          4             銷售代表
used time: 1.416(ms). Execute id is 84.

在2019-12-01 23:39:26時(shí)刻刪除數(shù)據(jù),并提交。

SQL> select sysdate;
LINEID     SYSDATE                    
---------- ---------------------------
1          2019-12-01 23:39:26.865328
used time: 0.580(ms). Execute id is 85.
SQL> DELETE FROM PERSON.PERSON_TYPE WHERE PERSON_TYPEID > 5;
affect rows 2
used time: 1.797(ms). Execute id is 86.
SQL> commit;
executed successfully
used time: 19.834(ms). Execute id is 87.
SQL> SELECT * FROM PERSON.PERSON_TYPE;
LINEID     PERSON_TYPEID NAME    
---------- ------------- --------
1          1             采購(gòu)經(jīng)理
2          2             采購(gòu)代表
3          3             銷售經(jīng)理
4          4             銷售代表
5          5             防損員
used time: 0.691(ms). Execute id is 88.

使用閃回查詢得到刪除前的數(shù)據(jù)。

SQL> SELECT * FROM PERSON.PERSON_TYPE WHEN TIMESTAMP '2019-12-01 23:39:26';
LINEID     PERSON_TYPEID NAME    
---------- ------------- --------
1          1             采購(gòu)經(jīng)理
2          2             采購(gòu)代表
3          3             銷售經(jīng)理
4          4             銷售代表
5          5             防損員
6          6             保潔員
6 rows got
used time: 1.262(ms). Execute id is 89.

閃回查詢指定TRXID的PERSON_TYPE表。
要獲得TRXID信息,需要通過閃回版本查詢的偽列VERSIONS_ENDTRXID。

在2019-12-01 23:45:27 時(shí)刻修改數(shù)據(jù),并提交。

SQL> select sysdate;
LINEID     SYSDATE                    
---------- ---------------------------
1          2019-12-01 23:48:27.983996
used time: 0.509(ms). Execute id is 90.
SQL> SELECT * FROM PERSON.PERSON_TYPE;
LINEID     PERSON_TYPEID NAME    
---------- ------------- --------
1          1             采購(gòu)經(jīng)理
2          2             采購(gòu)代表
3          3             銷售經(jīng)理
4          4             銷售代表
5          9             防損員
6          10            保潔員
6 rows got
used time: 0.515(ms). Execute id is 97.
SQL> UPDATE PERSON.PERSON_TYPE SET NAME='保安員' WHERE PERSON_TYPEID=9;
affect rows 1
used time: 1.460(ms). Execute id is 99.
SQL> commit;
executed successfully
used time: 16.640(ms). Execute id is 100.
SQL> UPDATE PERSON.PERSON_TYPE SET NAME='收銀員' WHERE PERSON_TYPEID=9;
affect rows 1
used time: 1.851(ms). Execute id is 101.
SQL> commit;
executed successfully
used time: 16.781(ms). Execute id is 102.
SQL> SELECT * FROM PERSON.PERSON_TYPE;
LINEID     PERSON_TYPEID NAME    
---------- ------------- --------
1          1             采購(gòu)經(jīng)理
2          2             采購(gòu)代表
3          3             銷售經(jīng)理
4          4             銷售代表
5          9             收銀員
6          10            保潔員
6 rows got
used time: 0.516(ms). Execute id is 103.

進(jìn)行閃回版本查詢,確定TRXID。

SQL> SELECT VERSIONS_ENDTRXID, NAME FROM PERSON.PERSON_TYPE VERSIONS BETWEEN TIMESTAMP '2019-12-01 23:48:27.983996' AND SYSDATE;
LINEID     VERSIONS_ENDTRXID    NAME    
---------- -------------------- --------
1          NULL                 采購(gòu)經(jīng)理
2          NULL                 采購(gòu)代表
3          NULL                 銷售經(jīng)理
4          NULL                 銷售代表
5          NULL                 收銀員
6          NULL                 保潔員
7          749195               保安員
7 rows got
used time: 1.384(ms). Execute id is 104.

根據(jù)TRXID確定版本。

SQL> SELECT * FROM PERSON.PERSON_TYPE WHEN TRXID 749195;
LINEID     PERSON_TYPEID NAME    
---------- ------------- --------
1          1             采購(gòu)經(jīng)理
2          2             采購(gòu)代表
3          3             銷售經(jīng)理
4          4             銷售代表
5          9             保安員
6          10            保潔員
6 rows got
used time: 1.261(ms). Execute id is 105.

第二次更新的事務(wù)ID為749195,那么第一次更新的事務(wù)ID為749194

SQL> SELECT * FROM PERSON.PERSON_TYPE WHEN TRXID 749194;
LINEID     PERSON_TYPEID NAME    
---------- ------------- --------
1          1             采購(gòu)經(jīng)理
2          2             采購(gòu)代表
3          3             銷售經(jīng)理
4          4             銷售代表
5          9             防損員
6          10            保潔員
6 rows got

閃回版本查詢
語法格式
< 閃回版本查詢子句>::=VERSIONS BETWEEN |

參數(shù)
1.time_exp 日期表達(dá)式,一般用字符串方式表示。time_exp1表示起始時(shí)間,time_exp2表示結(jié)束時(shí)間

2. trxid 指定事務(wù)ID號(hào),整數(shù)表示。trxid1表示起始trxid,trxid2表示結(jié)束trxid

使用說明
1.閃回版本查詢支持普通表(包括加密表與壓縮表)、臨時(shí)表和堆表,不支持水平分區(qū)表、垂直分區(qū)表、列存儲(chǔ)表、外部表與視圖;

2.支持偽列,作為閃回版本查詢的輔助信息。
偽列 說明
VERSIONS_START{TRXID|TIME} 起始TRXID或時(shí)間戳
VERSIONS_END{TRXID|TIME} 提交TRXID或時(shí)間戳。如果該值為NULL,表示行版本仍然是當(dāng)前版本
VERSIONS_OPERATION 在行上的操作(I=Insert,D=Delete,U=Update)

語句功能
用戶通過閃回版本查詢子句,可以得到指定表過去某個(gè)時(shí)間段內(nèi),事務(wù)導(dǎo)致記錄變化的全部記錄。指定條件可以為時(shí)刻,或事務(wù)號(hào)。

例1 閃回版本查詢指定時(shí)間段內(nèi),PERSON_TYPE表的記錄變化

SQL> select sysdate;
LINEID     SYSDATE                    
---------- ---------------------------
1          2019-12-02 00:00:18.221877
used time: 0.662(ms). Execute id is 107.

在2019-12-02 00:00:18時(shí)刻修改數(shù)據(jù),并提交。

SQL> UPDATE PERSON.PERSON_TYPE SET NAME='打字員' WHERE PERSON_TYPEID=9;
affect rows 1
used time: 1.758(ms). Execute id is 110.
SQL> commit;
executed successfully
used time: 16.964(ms). Execute id is 111.
SQL> 
SQL> UPDATE PERSON.PERSON_TYPE SET NAME='衛(wèi)生員' WHERE PERSON_TYPEID=9;
affect rows 1
used time: 1.268(ms). Execute id is 112.
SQL> commit;
executed successfully
used time: 15.983(ms). Execute id is 113.
SQL> SELECT * FROM PERSON.PERSON_TYPE;
LINEID     PERSON_TYPEID NAME    
---------- ------------- --------
1          1             采購(gòu)經(jīng)理
2          2             采購(gòu)代表
3          3             銷售經(jīng)理
4          4             銷售代表
5          9             衛(wèi)生員
6          10            保潔員
6 rows got
used time: 0.669(ms). Execute id is 114.

進(jìn)行閃回版本查詢,獲得指定時(shí)間段內(nèi)變化的記錄。

SQL> SELECT VERSIONS_ENDTRXID, NAME FROM PERSON.PERSON_TYPE VERSIONS BETWEEN TIMESTAMP '2019-12-02 00:00:17' AND SYSDATE;
LINEID     VERSIONS_ENDTRXID    NAME    
---------- -------------------- --------
1          NULL                 采購(gòu)經(jīng)理
2          NULL                 采購(gòu)代表
3          NULL                 銷售經(jīng)理
4          NULL                 銷售代表
5          NULL                 衛(wèi)生員
6          NULL                 保潔員
7          749197               打字員
7 rows got
used time: 1.412(ms). Execute id is 115.

第二次更新的事務(wù)ID為749197

SQL> SELECT * FROM PERSON.PERSON_TYPE WHEN TRXID 749197;
LINEID     PERSON_TYPEID NAME    
---------- ------------- --------
1          1             采購(gòu)經(jīng)理
2          2             采購(gòu)代表
3          3             銷售經(jīng)理
4          4             銷售代表
5          9             打字員
6          10            保潔員
6 rows got
used time: 1.371(ms). Execute id is 120.

第一次更新的事務(wù)ID為749196

SQL> SELECT * FROM PERSON.PERSON_TYPE WHEN TRXID 749196;
LINEID     PERSON_TYPEID NAME    
---------- ------------- --------
1          1             采購(gòu)經(jīng)理
2          2             采購(gòu)代表
3          3             銷售經(jīng)理
4          4             銷售代表
5          9             收銀員
6          10            保潔員
6 rows got
used time: 0.585(ms). Execute id is 121.

閃回事務(wù)查詢
閃回事務(wù)查詢提供系統(tǒng)視圖V$FLASHBACK_TRX_INFO供用戶查看在事務(wù)級(jí)對(duì)數(shù)據(jù)庫(kù)所做的更改。根據(jù)視圖信息,可以確定如何還原指定事務(wù)或指定時(shí)間段內(nèi)的修改。

使用說明
系統(tǒng)視圖名為V$FLASHBACK_TRX_INFO,定義如下所示。

SQL> desc V$FLASHBACK_TRX_INFO
LINEID     NAME             TYPE$         NULLABLE
---------- ---------------- ------------- --------
1          START_TRXID      BIGINT        Y        事務(wù)中第一個(gè)DML的TRXID
2          START_TIMESTAMP  DATETIME(6)   Y        事務(wù)中第一個(gè)DML的時(shí)間戳
3          COMMIT_TRXID     BIGINT        Y        提交事務(wù)的TRXID
4          COMMIT_TIMESTAMP DATETIME(6)   Y        提交事務(wù)時(shí)的時(shí)間戳
5          LOGIN_USER       VARCHAR(256)  Y        擁有事務(wù)的用戶
6          UNDO_CHANGE#     INTEGER       Y        記錄修改順序序號(hào)
7          OPERATION        CHAR(1)       Y        DML操作類型 D:刪除;U:修改;I:插入;N:更新插入(專門針對(duì)CLUSTER PRIMARY KEY的插入);C:事務(wù)提交;P:預(yù)提交記錄;O:default
8          TABLE_NAME       VARCHAR(256)  Y        DML 修改的表     
9          TABLE_OWNER      VARCHAR(256)  Y        DML修改表的擁有者      
10         ROW_ID           BIGINT        Y        DML修改行的ROWID
11         UNDO_SQL         VARCHAR(3900) Y        撤銷DML操作的SQL語句
11 rows got
used time: 88.801(ms). Execute id is 122.

查詢指定時(shí)間之后的事務(wù)信息,可為閃回查詢操作提供參考

SQL> SELECT * FROM V$FLASHBACK_TRX_INFO WHERE COMMIT_TIMESTAMP > '2019-12-01 23:13:28';
LINEID     START_TRXID          START_TIMESTAMP             COMMIT_TRXID         COMMIT_TIMESTAMP            LOGIN_USER UNDO_CHANGE# OPERATION TABLE_NAME TABLE_OWNER ROW_ID               UNDO_SQL
---------- -------------------- --------------------------- -------------------- --------------------------- ---------- ------------ --------- ---------- ----------- -------------------- --------
1          749189               2019-12-01 23:13:28.000000  749190               2019-12-01 23:33:57.588000  SYSDBA     16           C         NULL       NULL        NULL                 NULL
used time: 1.437(ms). Execute id is 126.

網(wǎng)站名稱:DM7閃回與閃回查詢-創(chuàng)新互聯(lián)
文章路徑:http://aaarwkj.com/article36/cogdpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、網(wǎng)站排名、全網(wǎng)營(yíng)銷推廣、企業(yè)網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)
亚洲熟妇亚洲熟妇亚洲熟妇| 人妻大乳一区二区三区| 国产熟女高潮一区二区| 国产高清av免费在线播放| 18岁禁看网站在线看| 国产精品黑丝美女91| 99热国产这里只有精品| 麻豆精品国产一区二区91| 四虎在线观看最新免费| 在线播放国产91精品| 亚洲熟女午夜毛片av毛片| 亚洲欧洲久久激情久av| 久久精品人妻麻豆尤物| 亚洲熟妇一区二区在线| 亚洲乱码一区二区在线| 国产精品一品二品国精品| 成人性生活黄色三级视频| 精品日韩av高清一区二区三区| 欧美一区二区国产日韩在线| 中文字幕日产乱码一二三区| 国产一级二级三级久久| 久久热精品视频这里有| 国产剧情av一区在线观看| 国产性色精品一区二区| 日韩中文字幕视频久久| 亚洲国产a级一区二区| 成熟人妻中文字幕在线看| 天天色天天色天天色综合网| 在线观看成人激情视频| av免费在线观看大全| 欧美一区二区欧美精品| 无遮挡国产精品一级二级三级视频| 国产国产人免费人成免费人妖| 久久精品一区二区婷婷| 久久国产福利一区二区| 亚洲黄色av网址在线观看| 四虎在线经典视频播放| 特黄日韩免费一区二区三区| 国产麻豆91在线视频| av一区二区三区不卡在线看| 在线青青草视频免费观看|