久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

關(guān)于Oracle數(shù)據(jù)庫(kù)中快照的使用方法

瀏覽:116日期:2023-11-13 11:34:15
Oracle 數(shù)據(jù)庫(kù)的快照是一個(gè)表,它包含有對(duì)一個(gè)本地或遠(yuǎn)程數(shù)據(jù)庫(kù)上一個(gè)或多個(gè)表或視圖的查詢(xún)的結(jié)果。正因?yàn)榭煺帐且粋€(gè)主表的查詢(xún)子集,使用快照可以加快數(shù)據(jù)的查詢(xún)速度;在保持不同數(shù)據(jù)庫(kù)中的兩個(gè)表的同步中,利用快照刷新,數(shù)據(jù)的更新性能也會(huì)有很大的改善。 下面以我在開(kāi)發(fā)襄樊市電信局 170 話費(fèi)催繳系統(tǒng)中使用快照加快查詢(xún)速度的實(shí)現(xiàn)過(guò)程為例來(lái)說(shuō)明快照的使用方法: 170 話費(fèi)催繳系統(tǒng)是一個(gè)向用戶(hù)電話播放催繳話費(fèi)提示音的系統(tǒng)。用戶(hù)的欠費(fèi)金額存放在 rs6000 小型機(jī) sffw 用戶(hù)下的表 yh_qfcx 中( yh_qfcx 表是一個(gè)隨用戶(hù)繳費(fèi)情況動(dòng)態(tài)變化的欠費(fèi)記錄表),而催繳系統(tǒng)的數(shù)據(jù)按要求存放在另外一臺(tái) xf170 服務(wù)器 dmtcx 用戶(hù)下,為在 dmtcx 用戶(hù)下使用 sffw 用戶(hù)下表 yh_qfcx 中的部分?jǐn)?shù)據(jù),我在 dmtcx 用戶(hù)下建立了 yh_qfcx 的快照 S_yh_qfcx ,以加快查詢(xún)速度。 具體步驟如下: 一、在 sffw 用戶(hù)下建立表 yh_qfcx 的快照日志; 只有先建立表 yh_qfcx 的快照日志,才能在快照中執(zhí)行快速刷新。 Create snapshot log on yh_qfcx; 二、在 dmtcx 用戶(hù)下建立到 sffw 用戶(hù)的數(shù)據(jù)庫(kù)鏈 link_sf ; 建立了到 sffw 用戶(hù)的數(shù)據(jù)庫(kù)鏈后才能從 sffw 用戶(hù)下的表 yh_qfcx 中獲取數(shù)據(jù)。 Create database link link_sf Connect to sffw identified by xxxxxxx using 'rs6000';三、在 dmtcx 用戶(hù)下建立快照 s_yh_qfcx ; Create snapshot s_yh_qfcx as Select yhh , qf6+qf5+qf4+qf3+qf2+qf1+qf qfje From yh_qfcx@link_sf Where tjbz='K' and bz6+bz5+bz4+bz3+bz2+bz1+bz>0;四、根據(jù)需要修改快照刷新的間隔時(shí)間; dmtcx 用戶(hù)下的快照 s_yh_qfcx 為了與 sffw 用戶(hù)下的主表 yh_qfcx 保持同步,需要不斷刷新快照。只有設(shè)定了快照的刷新間隔時(shí)間, oracle 才會(huì)自動(dòng)刷新該快照。 快照的刷新有兩種方式:快速刷新和完全刷新??焖偎⑿滦枰煺盏闹鞅硐扔锌煺杖罩敬嬖?;完全刷新時(shí) oracle 執(zhí)行快照查詢(xún),將結(jié)果放入快照??焖偎⑿卤韧耆⑿驴?,因?yàn)榭焖偎⑿聦⒅鲾?shù)據(jù)庫(kù)的數(shù)據(jù)經(jīng)網(wǎng)絡(luò)發(fā)送到快照的數(shù)據(jù)少,僅需傳送主表中修改過(guò)的數(shù)據(jù),而完全刷新要傳送快照查詢(xún)的全部結(jié)果。 Alter snapshot s_yh_qfcx refresh fast Start with sysdate+1/1440 next sysdate+1/144; { 此 SQL 語(yǔ)句的意思為:設(shè)定 oracle 自動(dòng)在 1 分鐘 (1/24*60) 后進(jìn)行第一次快速刷新,以后每隔 10 分鐘 (10/24*60) 快速刷新一次。 } Alter snapshot s_yh_qfcx refresh complete Start with sysdate+1/2880 next sysdate+1; { 此 SQL 語(yǔ)句的意思為:設(shè)定 oracle 自動(dòng)在 30 鈔 (30/24*60*60) 后進(jìn)行第一次完全刷新, 以后每隔 1 天完全刷新一次。 }說(shuō)明: 1 、因?yàn)榭煺账⑿率欠?wù)器自動(dòng)完成的,所以要保證 oracle 數(shù)據(jù)庫(kù)啟動(dòng)了快照刷新進(jìn)程。查看 oracle 數(shù)據(jù)庫(kù)是否啟動(dòng)了快照刷新進(jìn)程,可以以數(shù)據(jù)庫(kù) sys 身份查看視圖 V_$SYSTEM_PARAMETER 中的參數(shù) snapshot_refresh_processes 的值是否為 1 ,假如不為 1 ,則快照刷新進(jìn)程未啟動(dòng)。 2 、啟動(dòng)快照刷新進(jìn)程的方法為:修改 oracle 數(shù)據(jù)庫(kù)的初始化文件 initorcl.ora ,將其中的 snapshot_refresh_processes 參數(shù)的值改由 0 改為 1 ,然后重新啟動(dòng) oracle 數(shù)據(jù)即可。 3 、需要說(shuō)明的是:建立快照日志時(shí) oracle 數(shù)據(jù)庫(kù)為我們建立了一個(gè)基于 yh_qfcx 的觸發(fā)器 tlog$_yh_qfcx 和快照日志表 mlog$_yh_qfcx; 建立快照時(shí) oracle 數(shù)據(jù)庫(kù)為我們建立了一個(gè)表、兩個(gè)視圖、一個(gè)索引,它們分別為: 一個(gè)表: snap$_s_yh_qfcx; 兩個(gè)視圖: mview$_s_yh_qfcx 和 s_yh_qfcx; 一個(gè)索引: I_snap$_s_yh_qfcx 基于表 snap$_s_yh_qfcx 中的 m_row$$ 字段。
主站蜘蛛池模板: 兴海县| 巴彦淖尔市| 邵阳市| 福贡县| 永修县| 普兰店市| 永丰县| 康马县| 江油市| 肥西县| 冷水江市| 屏东市| 志丹县| 岳普湖县| 新闻| 宁阳县| 广安市| 秀山| 裕民县| 承德县| 凤山县| 汶上县| 尤溪县| 鄢陵县| 进贤县| 三河市| 山阴县| 兴隆县| 大渡口区| 东丰县| 偃师市| 随州市| 从江县| 资阳市| 廊坊市| 亳州市| 政和县| 乌兰县| 偃师市| 玉树县| 齐河县|