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数据库来说,它提供了多种手段来进行数据恢复,其中一种有效的方式就是利用快照(Snapshot)技术。本文将详细介绍如何利用Oracle的快照功能来恢复丢失的数据。 #### 二、Oracle快照简介 快照是一种记录...
在日常运维中,经常会遇到Oracle数据库服务器出现IO过高的情况,这种情况可能导致业务系统的响应速度变慢,甚至影响正常服务的提供。本文旨在深入探讨Oracle数据库服务器IO高的分析及解决策略,并结合理论与实践案例...
以下将详细阐述Oracle数据库快照的使用方法和相关知识点。 首先,创建快照日志是使用快照的基础。在源表上执行`CREATE SNAPSHOT LOG ON table_name;`命令,会为源表创建快照日志,使得后续的快照可以进行快速刷新。...
默认情况下,快照间隔为 1 小时,Oracle 10g 中保存快照 7 天,Oracle 11g 中保存快照 8 天。 AWR 报告的核心组件是 dbms_workload_repository 包,位于 $ORACLE_HOME/rdbms/admin 目录下。AWR 报告可以通过运行 ...
Oracle数据库提供了多种方式来处理时间范围的数据,包括SQL查询、闪回功能和快照。下面我们将详细探讨这些知识点。 首先,SQL查询是获取特定时间段内数据的基础。在Oracle中,可以使用`BETWEEN`关键字来筛选特定...
Oracle数据库回滚段的故障分析与性能优化 回滚段是 Oracle 数据库的重要组成部分,数据库的性能与回滚段息息相关。本文将针对数据库回滚段常见的故障进行系统的分析,结合实例提出相应的解决方案,并对数据库回滚段...
Oracle 数据库 RMAN 环境配置是指在 Oracle 数据库中使用 RMAN 工具对数据库进行备份和恢复的配置过程。本文将对 RMAN 环境配置进行详细地介绍,并提供相应的示例加以说明。 一、配置自动通道 RMAN 自动分配 2 个...
Oracle9i使用了多版本并发控制(Multiversion Concurrency Control, MVCC),通过读写一致性(Read-Write Consistency)和快照隔离(Snapshot Isolation)确保用户在执行事务时不会看到其他事务的中间状态。...
ORACLE数据库简介 本篇讲解了ORACLE数据库的基本概念和原理,涵盖了关系数据库的基本元素、实体和联系、键、数据完整性、SQL语言等方面的知识点。 一、关系数据库基本元素 关系数据库是指以关系模型来组织和存储...
为了使两个不同的Oracle数据库能够进行通信,首先需要创建一个数据库链接(dblink)。dblink是一种特殊的链接,它允许在一个数据库中引用另一个远程数据库的对象。在这个案例中,我们需要创建一个公共的数据库链接,...
在Oracle数据库环境中,库存管理是企业运营中的关键环节。为了有效地跟踪和追溯商品库存,"ORACLE库存快照创建和查询工具" 提供了一个高效的方法。这个工具利用Oracle的存储过程功能,每天凌晨0点自动创建库存的快照...
- 在Oracle数据库中,归档日志模式允许进行增量备份,这是RMAN备份的基础。在非归档模式下,只能进行全量备份,且无法在数据丢失后进行时间点恢复。 - 检查数据库是否处于归档模式:`SELECT log_mode FROM v$...
实际应用中,Oracle数据库通过服务器进程(如SMON、PMON、DBWR、LGWR等)和内存结构(如System Global Area - SGA和Program Global Area - PGA)来高效地管理分布式环境下的数据操作和资源分配。实例(Instance)是...
Oracle数据库的优化是确保系统高效运行的关键环节,而Oracle提供了多种工具来帮助管理员进行数据库级别的优化分析。在本文中,我们将深入探讨Oracle管理中的几个重要工具:Statspack、ASH(Automatic Workload ...
本文将深入探讨Oracle数据库中的这些权限,并详细解释每个权限的作用及其使用场景。 ### 一、系统权限 #### 1. `ALTER ANY CLUSTER`(修改任何集群) - **描述**:允许用户修改数据库中的任何集群。 - **应用场景*...
Oracle 数据快照技术是Oracle数据库系统中用于数据交换和同步的一种高效工具。它允许用户在本地存储远程数据库的只读副本,从而优化查询性能、实现跨数据库的数据同步。以下是对Oracle数据快照技术的详细说明: 1. ...
Oracle的Automatic Workload Repository(AWR)是数据库性能调优的关键工具,它收集并存储了数据库的性能数据,包括系统负载、I/O、CPU使用率等,并生成详细的报告供管理员分析。AWR的数据主要分为两部分:内存中的...
### Oracle数据库操作手册知识点概述 #### 一、表空间管理 **1. 创建表空间** - **命令格式**: `CREATE TABLESPACE <表空间名> DATAFILE '<数据文件路径>' SIZE <大小> AUTOEXTEND OFF SEGMENT SPACE MANAGEMENT ...