`

Oracle数据库中快照的使用

 
阅读更多

oracle数据库的快照是一个表,它包含有对一个本地或远程数据库上一个或多个表或视图的查询的结果。下面以我在开发襄樊市电信局170话费催缴系统中使用快照加快查询速度的实现过程为例来说明快照的使用方法:

  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$$字段。

 

分享到:
评论

相关推荐

    oracle 通过快照进行数据恢复

    快照在Oracle中有两种类型:表快照和数据库快照。 - **表快照**:只包含单个表的信息。 - **数据库快照**:包含整个数据库的信息。 #### 三、快照的创建与使用 ##### 3.1 创建快照 为了能够使用快照进行数据恢复...

    Oracle数据库服务器IO高的分析方案.docx

    在日常运维中,经常会遇到Oracle数据库服务器出现IO过高的情况,这种情况可能导致业务系统的响应速度变慢,甚至影响正常服务的提供。本文旨在深入探讨Oracle数据库服务器IO高的分析及解决策略,并结合理论与实践案例...

    Oracle数据库快照的使用

    以下将详细阐述Oracle数据库快照的使用方法和相关知识点。 首先,创建快照日志是使用快照的基础。在源表上执行`CREATE SNAPSHOT LOG ON table_name;`命令,会为源表创建快照日志,使得后续的快照可以进行快速刷新。...

    MySQL与Oracle在数据库快照功能上的对比分析

    在MySQL和Oracle这两个主流的数据库管理系统中,数据库快照功能的实现方式和特点存在显著差异。 MySQL和Oracle在数据库快照功能上各有优势。MySQL的快照功能简单易用,适合于Web应用和小型项目,而Oracle的快照功能...

    利用Oracle数据库快照实现数据双向复制.pdf

    Oracle数据库快照实现数据双向复制 本文将介绍如何利用Oracle数据库快照实现数据双向复制,以满足业务需求。首先,介绍了业务需求,即在医疗保险系统中,需要在多个地理位置之间实现数据共享和一致性。然后,介绍了...

    如何对Oracle数据库文件进行恢复与备份

    Oracle数据库的恢复与备份是数据库管理员的关键技能,确保在数据丢失或系统故障时能迅速恢复服务。本篇文章主要探讨了如何对Oracle数据库进行备份和恢复,以及涉及的主要工具和技术。 Oracle数据库采用多种机制来...

    oracle数据库日常维护手册

    在Oracle数据库的日常维护中,确保数据库的基本状况良好是首要任务。这包括检查Oracle实例状态、Oracle服务进程和Oracle监听状态。 ##### 1.1 检查Oracle实例状态 通过执行SQL命令`select instance_name, host_...

    Oracle数据库日常维护手册.rar_Oracle数据库日常维护手册_oracle

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其在企业级应用中占据着重要的地位。本手册《Oracle数据库日常维护手册》将详细讲解如何有效地管理和维护Oracle数据库系统,确保其稳定、高效运行。 1. **...

    01-oracle数据库简单使用1

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,尤其在企业级应用中占据重要地位。本文将围绕"01-oracle数据库简单使用1"的主题,详细介绍Oracle数据库的基础知识,包括Oracle服务、数据库版本、用户...

    Oracle数据库进阶 高可用性、性能优化和备份恢复

    ### Oracle数据库进阶:高可用性、性能优化和备份恢复 在现代企业的信息化建设中,数据库作为核心的数据存储与管理工具扮演着至关重要的角色。Oracle数据库因其强大的功能、灵活性及可靠性而被广泛应用于各行各业。...

    delphi备份Oracle数据库

    而源代码则包含了实现这些功能的具体逻辑,如连接Oracle数据库、执行SQL语句以创建数据库快照、处理备份文件等。 关于标签“delphi”、“oracle”、“备份”和“数据库”,我们可以推断出以下知识点: 1. **Delphi...

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    11.5.3将快照Standby数据库转换为物理Standby数据库 11.6主备数据库切换 11.6.1 Switchover切换 11.6.2 Failover切换 11.7本章小结 第12章 RAC备份 12.1备份与恢复基础 12.1.1备份和恢复解决方案 12.1.2...

    Oracle数据库进阶-高可用性、性能优化和备份恢复

    ### Oracle数据库进阶-高可用性、性能优化和备份恢复 #### 一、Oracle数据库高可用性 在当今的企业环境中,数据库系统的高可用性(High Availability, HA)至关重要。Oracle数据库提供了一系列强大的高可用性解决...

    sql查询oracle时间段操作

    但要注意,这些操作可能对性能产生影响,因此在生产环境中使用时需谨慎,并根据需要调整数据库参数以优化性能。 在"查询oracle时间段操作.txt"文件中,可能包含了具体的SQL查询示例、快照创建步骤和闪回功能的使用...

    Oracle 数据库 AWR 报告详解

    默认情况下,快照间隔为 1 小时,Oracle 10g 中保存快照 7 天,Oracle 11g 中保存快照 8 天。 AWR 报告的核心组件是 dbms_workload_repository 包,位于 $ORACLE_HOME/rdbms/admin 目录下。AWR 报告可以通过运行 ...

    ORACLE数据库工程师面试题目

    ### ORACLE数据库工程师面试知识点详解 #### 一、冷备份与热备份的不同点及各自优点 **冷备份**指的是在数据库完全关闭的情况下进行的数据备份。这种方式适用于所有模式下的数据库,无论是归档模式还是非归档模式。...

    ORACLE数据库的管理.pdf

    其次,Oracle数据库的异常处理涉及对运行中出现问题的解决。例如,当需要增加新的数据文件而遇到错误时,可能是因为参数文件(init.ora)中的设置限制了数据文件数量,此时需修改参数文件并重启数据库。另外,回滚段...

    Oracle_数据库运维手册

    - **测试命令:** 在命令行中使用 `tnsping` 命令,输入配置的服务名别名进行测试。 #### 二、运行环境监控 **2.1 系统环境监控** - **监控内容:** 监控操作系统状态、硬件资源使用情况等。 **2.2 数据库运行...

Global site tag (gtag.js) - Google Analytics