一.實驗?zāi)康?br> 掌握Oracle閃回技術(shù)的應(yīng)用
二.實驗內(nèi)容
教材181頁實訓(xùn)題(4)-(10)饭宾。第(5)題的時間設(shè)置為第二個事務(wù)提交的時間。第(6)題的時間范圍為第一個事務(wù)提交的時刻到第四個事務(wù)提交的時刻格了。
三.實驗過程
教材181頁實訓(xùn)題(4)-(10)看铆。第(5)題的時間設(shè)置為第二個事務(wù)提交的時間。第(6)題的時間范圍為第一個事務(wù)提交的時刻到第四個事務(wù)提交的時刻笆搓。
(4)在數(shù)據(jù)庫中執(zhí)行下列操作
//設(shè)置時間格式
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
//開始時間
SET TIME ON;
//找了很多方法性湿,需要先把數(shù)據(jù)庫打開
alter database open;
//建表
CREATE TABLE exercise (sno NUMBER PRIMARY KEY,sname CHAR(20));
//修改表
INSERT INTO exercise VALUES(200,’lisi’);
COMMIT;
INSERT INTO exercise VALUES(100,‘zhangsan’);
COMMIT;
INSERT INTO exercise VALUES(300,‘WANGWU’);
COMMIT;
UPDATE exercise SET sname = ‘newname’WHERE sno = 100;
COMMIT;
DELETE FROM exercise WHERE sno = 200;
COMMIT;
(5)利用閃回技術(shù)查詢16:40:10時exercise中的數(shù)據(jù)(時間和書上的不一致)
SELECT * FROM exercise AS OF TIMESTAMP TO_TIMESTAMP('2019-6-3 8:30:08','YYYY-MM-DD HH24:MI:SS') ;
(6)利用閃回版本查詢,查詢16:35:10-16:42:10之間sno=100的記錄版本信息
SELECT versions_xid XID,versions_startscn STARTSCN,
versions_endscn ENDSCN,versions_operation OPERATION, sname FROM exercise
VERSIONS BETWEEN TIMESTAMP TO_TIMESTAMP('2019-6-3 8:27:29','YYYY-MM-DD HH24:MI:SS') AND TO_TIMESTAMP('2019-6-3 8:30:24','YYYY-MM-DD HH24:MI:SS') where
sno=100;
(7)利用閃回表技術(shù)满败,將exercise表恢復(fù)到刪除操作進行之前的狀態(tài)(sys不支持執(zhí)行閃回表操作,我這里切換到了sccott用戶執(zhí)行)
alter table exercise enable row movement;
Flashback table exercise to TIMESTAMP TO_TIMESTAMP('2019-6-3 09:20:29','YYYY-MM-DD HH24:MI:SS') ;
(8)執(zhí)行“DROP TABLE exercise”語句肤频,然后利用閃回刪除技術(shù)恢復(fù)exercise表
Flashback table exercise to before drop rename to exercise ;
(9)將數(shù)據(jù)庫中的閃回日志保留時間設(shè)置為3天(4320分鐘,此處需要切換回sysdba)
Alter system set db_flashback_retention_target = 4320;
(10)利用閃回數(shù)據(jù)庫技術(shù),將數(shù)據(jù)庫恢復(fù)到創(chuàng)建表之前的狀態(tài)
Flashback table exercise to TIMESTAMP TO_TIMESTAMP('2019-6-3 09:19:33','YYYY-MM-DD HH24:MI:SS') ;
四.實驗總結(jié)
切換到scott用戶即可