当前位置:  数据库>oracle

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

    来源: 互联网  发布时间:2017-03-16

    本文导语:   Oracle 数据库的快照是一个表,它包含有对一个本地或远程数据库上一个或多个表或视图的查询的结果。正因为快照是一个主表的查询子集,使用快照可以加快数据的查询速度;在保持不同数据库中的两个表的同步中,利用...

  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 中获取数据。
QUOTE: Create database link link_sf
Connect to sffw identified by xxxxxxx using 'rs6000';

  三、在 dmtcx 用户下建立快照 s_yh_qfcx ;
QUOTE: 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 执行快照查询,将结果放入快照。快速刷新比完全刷新快,因为快速刷新将主数据库的数据经网络发送到快照的数据少,仅需传送主表中修改过的数据,而完全刷新要传送快照查询的全部结果。
QUOTE: 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$$ 字段。








































    
 
 

您可能感兴趣的文章:

  • oracle 10g 快照操作方法
  • Oracle数据库快照的使用
  • linux下安装oracle后使用命令行启动的方法 linux启动oracle
  • oracle中UPDATE nowait 的使用方法介绍
  • oracle10g全文索引自动同步语句使用方法
  • Linux下Oracle的sqlplus使用光标上下左右方法
  • oracle关键字作为字段名使用方法
  • c#中oracle的to_date函数使用方法
  • oracle使用instr或like方法判断是否包含字符串
  • SQL Server中使用Linkserver连接Oracle的方法
  • oracle数据库导入导出命令使用方法
  • oracle冷备份恢复和oracle异机恢复使用方法
  • 使用Oracle数据挖掘API方法详解[图文]
  • oracle trunc()函数的使用方法
  • oracle11gR2使用exp导出命令时报EXP-00011错误的解决方法
  • oracle中decode函数的使用方法
  • [Oracle] dbms_metadata.get_ddl 的使用方法总结
  • Oracle中instr函数使用方法
  • Oracle 分析函数RANK(),ROW_NUMBER(),LAG()等的使用方法
  • oracle 使用sql获取数据库表、表的字段的多种方法
  • oracle排名函数的使用方法分享
  • oracle表空间表分区详解及oracle表分区查询使用方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • Oracle 数据库开发工具 Oracle SQL Developer
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • oracle 10g 快照操作方法 iis7站长之家
  • Oracle 数据库(oracle Database)性能调优技术详解
  • 关于JDBC连接Oracle数据库,是否必须有Oracle客户端
  • ORACLE数据库常用字段数据类型介绍
  • win2000+jbuilder6+oracle817编出的程序,在win2000下执行很好,在win98下却访问不了oracle数据库
  • oracle数据库导出和oracle导入数据的二种方法(oracle导入导出数据)
  • Oracle发布Oracle SQL Developer 1.2数据库开发工具 帮助用户简化开发工作
  • 怎样调出ORACLE数据库中的数据,该如何连接?
  • Oracle收购TimesTen 提高数据库软件性能
  • 卸载oracle数据库
  • Oracle数据库恢复后心得
  • linux上安装oracle 数据库后,是否能写shell程序实现数据库的自动启动。
  • Linux下如何用C语言操作Oracle数据库相关的图书推荐
  • Oracle数据库运行Oracle form时避免出现提示信息
  • Oracle欲收购开源数据库MySQL未果
  • 如何在JBuilder中连接Oracle数据库?
  • Oracle数据库访问参数文件的顺序
  • 循序渐进学习Oracle数据库
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle 10g和Oracle 11g网格技术介绍
  • Oracle EBS R12 支持 Oracle Database 11g
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3