分享
 
 
 

关于Oracle数据库中快照的使用方法

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

Oracle 数据库的快照是一个表,它包含有对一个本地或远程数据库上一个或多个表或视图的查询的结果。正因为快照是一个主表的查询子集,使用快照可以加快数据的查询速度;在保持不同数据库中的两个表的同步中,利用快照刷新,数据的更新性能也会有很大的改善。

下面以我在开发襄樊市电信局 170 话费催缴系统中使用快照加快查询速度的实现过程为例来说明快照的使用方法:

170 话费催缴系统是一个向用户电话播放催缴话费提示音的系统。用户的欠费金额存放在 rs6000 小型机 sffw 用户下的表 yh_qfcx 中( yh_qfcx 表是一个随用户缴费情况动态变化的欠费记录表),而催缴系统的数据按要求存放在另外一台 xf170 服务器 dmtcx 用户下,为在 dmtcx 用户下使用 sffw 用户下表 yh_qfcx 中的部分数据,我在 dmtcx 用户下建立了 yh_qfcx 的快照 S_yh_qfcx ,以加快查询速度。

具体步骤如下:

一、在 sffw 用户下建立表 yh_qfcx 的快照日志;

只有先建立表 yh_qfcx 的快照日志,才能在快照中执行快速刷新。

Create snapshot log on yh_qfcx;

二、在 dmtcx 用户下建立到 sffw 用户的数据库链 link_sf ;

建立了到 sffw 用户的数据库链后才能从 sffw 用户下的表 yh_qfcx 中获取数据。

Create database link link_sf

Connect to sffw identified by xxxxxxx using 'rs6000';

三、在 dmtcx 用户下建立快照 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;

四、根据需要修改快照刷新的间隔时间;

dmtcx 用户下的快照 s_yh_qfcx 为了与 sffw 用户下的主表 yh_qfcx 保持同步,需要不断刷新快照。只有设定了快照的刷新间隔时间, oracle 才会自动刷新该快照。

快照的刷新有两种方式:快速刷新和完全刷新。快速刷新需要快照的主表先有快照日志存在;完全刷新时 oracle 执行快照查询,将结果放入快照。快速刷新比完全刷新快,因为快速刷新将主数据库的数据经网络发送到快照的数据少,仅需传送主表中修改过的数据,而完全刷新要传送快照查询的全部结果。

Alter snapshot s_yh_qfcx refresh fast

Start with sysdate+1/1440 next sysdate+1/144;

{ 此 SQL 语句的意思为:设定 oracle 自动在 1 分钟

(1/24*60) 后进行第一次快速刷新,以后每隔 10 分钟

(10/24*60) 快速刷新一次。 }

Alter snapshot s_yh_qfcx refresh complete

Start with sysdate+1/2880 next sysdate+1;

{ 此 SQL 语句的意思为:设定 oracle 自动在 30 钞

(30/24*60*60) 后进行第一次完全刷新,

以后每隔 1 天完全刷新一次。 }

说明:

1 、因为快照刷新是服务器自动完成的,所以要保证 oracle 数据库启动了快照刷新进程。查看 oracle 数据库是否启动了快照刷新进程,可以以数据库 sys 身份查看视图 V_$SYSTEM_PARAMETER 中的参数 snapshot_refresh_processes 的值是否为 1 ,假如不为 1 ,则快照刷新进程未启动。

2 、启动快照刷新进程的方法为:修改 oracle 数据库的初始化文件 initorcl.ora ,将其中的 snapshot_refresh_processes 参数的值改由 0 改为 1 ,然后重新启动 oracle 数据即可。

3 、需要说明的是:建立快照日志时 oracle 数据库为我们建立了一个基于 yh_qfcx 的触发器 tlog$_yh_qfcx 和快照日志表 mlog$_yh_qfcx; 建立快照时 oracle 数据库为我们建立了一个表、两个视图、一个索引,它们分别为:

一个表: snap$_s_yh_qfcx;

两个视图: mview$_s_yh_qfcx 和 s_yh_qfcx;

一个索引: I_snap$_s_yh_qfcx

基于表 snap$_s_yh_qfcx 中的 m_row$$ 字段。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有