国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

用Oracle10g的回溯版本查詢追蹤行變化

2024-08-29 13:31:49
字體:
供稿:網(wǎng)友

故障檢查最棘手的問題之一是訪問同一數(shù)據(jù)的應(yīng)用程序間的交互作用。雖然從本質(zhì)上來說,每個應(yīng)用程序都循規(guī)蹈矩,但是各個應(yīng)用程序可能會對數(shù)據(jù)做出不同的假定。因此,行就可能出現(xiàn),發(fā)生變化,并在你最不期望它的時候消失。

過去,解決這類問題的方法是在運(yùn)行兩個程序以追蹤所發(fā)生的事情時,將數(shù)據(jù)丟棄。log miner的出現(xiàn)使執(zhí)行這一任務(wù)變得更為容易,但它使用起來較為麻煩。現(xiàn)在,在oracle 10g中,有一個與log miner同樣功能的工具,但執(zhí)行起來更為方便。

這個工具稱之為回溯版本查詢,它依靠自動撤消管理特性與撤消表空間自始至終提供行圖像。位于“from表名”之后,表別名之前,回溯版本查詢語法通過指示哪些行版本要包括在select內(nèi),從而證明表名的資格。其語法為:

versions between { scn | timestamp}

{exp | minvalue} and {exp | maxvalue}

因?yàn)樗C明了表的資格,查詢中的每個對象可在不同的時間點(diǎn)呈現(xiàn)。但是,你最遠(yuǎn)只能返回指定的undo_retention參數(shù),或最近的ddl命令(create/alter/drop),不管哪個在前面。

假設(shè)兩個員工正在就parts表的一個部分描述打“編輯戰(zhàn)”。每個人認(rèn)為他或她的改變沒有被數(shù)據(jù)庫保存。實(shí)際上,每個人正將值改“回”到他們認(rèn)為適當(dāng)?shù)牡胤健D憧梢酝ㄟ^提取那個行的版本歷史來了解發(fā)生的內(nèi)容。列表a顯示了查詢及其結(jié)果。

幾個新的偽列為你提供影響行的事務(wù)信息。versions_starttime和versions_startscn讓你了解歷史記錄的第一行內(nèi)容。還有一個versions_xid列(未顯示)指明事務(wù)id;你可以應(yīng)用它來研究其它行——甚至是在其它表中的其它行——所同時發(fā)生的變化。

由于發(fā)生了多次更新,你可查詢數(shù)據(jù)庫找出行的唯一rowid。然后你可以使用一個相關(guān)的特性——回溯事務(wù)查詢——來了解哪些用戶做出過改變,他們以何種順序提交數(shù)據(jù)。列表b顯示了該查詢及其結(jié)果。

這里要注意的是row_id列,它與rowid偽列不同(見下劃線部分)。它只是flashback_transaction_query視圖中一個簡單的列。

現(xiàn)在你可以告訴這兩個用戶停止修改雙方的工作。

bob watkins(ocp, mcdba, mcse, mct)是一個有著25年經(jīng)驗(yàn)的計(jì)算機(jī)專業(yè)人士,曾做過技術(shù)培訓(xùn)師、顧問與數(shù)據(jù)庫管理員。訪問bob的網(wǎng)站。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 瑞安市| 镇沅| 阳信县| 明星| 墨玉县| 彝良县| 育儿| 德钦县| 木里| 永嘉县| 张家港市| 清水县| 资中县| 兴文县| 云梦县| 新田县| 侯马市| 若尔盖县| 温宿县| 武鸣县| 沁源县| 济宁市| 巩义市| 宁远县| 岳西县| 胶南市| 丁青县| 凤山市| 白河县| 布拖县| 长寿区| 海南省| 元谋县| 诏安县| 衡山县| 满洲里市| 图木舒克市| 黔江区| 石屏县| 申扎县| 莱阳市|