listener为何要fork两次子进程
http://www.itpub.net/thread-1799332-1-1.html 以下是根据网络资料个人总结的listener监听流程(如果有误烦请指正)大致分为6个阶段1客户端向数据库发起连接请求,listener负责响应接受;2Listener进程for...
redo的内部过程与lgwr
Oracle采用混合日志记录模式,以数据块为单位,即dba + sql,即避免记录整个块,又可快速恢复the granularity is at the block level (like physical logging), so one operation is stored for each individual block change一个大事务可由多个mini-transaction即redo record组成,而每个record又可由多个change ...
oracle数据块格式小结
Oracle数据块可分为三层更细化Cache layer--20字节,包含DBA、块类型、块格式、SCN;数据块被读取时进行完整性检查,确保没有损坏或fracture,即块更新信息只有部分被写入磁盘; Transaction layer固定事务layer--块类型,最后一次块清除时间csc,ITL数量itc;可...
关于redo的几个小知识点
关于redo,可能不了解的小知识点,我也不知道是否总结的就对,不过先总结着吧。1、主机掉电,会导致实例失败,在重启db时需要实例恢复。2、在实例恢复时,oracle可以根据redo日志,将系统恢复到实例失败的那个时刻。...
oracle 内存分配和调优 总结
一直都想总结一下oracle内存调整方面的知识,最近正好优化一个数据库内存参数,查找一些资料并...
关于oracle11G的自动内存管理MEMORY_TARGET和MEMORY_MAX_TARGET
自动内存管理是用两个初始化参数进行配置的: MEMORY_TARGET:动态控制SGA和PGA时,Oracle总共可以使用的共享内存大小,这个参数是动态的,因此提供给Oracle的内存总量是可以动态增大,也可以动态减小的。它不能超过MEMORY_MAX_TARGET参数设置的大小。默认值是0。 MEMORY_MAX_TARGET:这个参数定义了MEMORY_TARGET...
Oracle shared pool
从物理角度上看Oracle shared pool ,它是由多个内存块组成。这里的内存块相当于数据文件中的数据块,是最小的分配单位。这个最小分配单位称为chunk ,它里面的内存字节是连续的。但每个chunk 的大小是不固定的。shared pool 的内存分配由heap (堆)来实现。heap 的个数由隐含...
分区表放入keep pool,recycle pool的问题及解析
因为生产环境的性能瓶颈,经过诊断,给出的结论是需要把几个表和索引放入keep pool,几个索引放入recycle pool.其实放入keep pool 确实对于频繁访问的数据,而且数据量不大的情况下,性能有一定的改善。避免了大量的物理读。大家的大体感觉都是把表放入keep pool,其实在一定的情况下,把索引放入keep pool也有一定的道理,...
关于纠结的recycle pool的设置
现在生产环境中目前有一个很大的中继表,作为多个流程的数据流动所用,数据量很大。里面有clob字段,加上庞大的数据量,表就显得很臃肿了。目前在做大批量的数据处理的时候发现了一些问题,事物数在不断增加的情况下,数据的处理速度也在不断的降低。最后出现了一些资源的问题。在抓取了awr和同事的分析之后,产品部门...
什么是oracle 逻辑读?
逻辑读,一致性读
深入理解父游标,子游标的概念
父游标:保存HASH值,SQL文本--相同SQL语句,就只有一个父游标oracle内部是将SQL文本转化为ASCII值(大小写ASCII不同)并进行hash函数的运算父游标里主要包含两种信息:sql文本以及优化目标。父游标在第一次打开时被锁定,直到其他所有的session都关闭该游标后才被解锁。当父游标被锁定的时候是不能被交换出librarycache的...
Oracle 高水位线的一点研究
最近学习了一阵子Oracle, 感觉Oracle真的是博大精深, 包括Oralce内存结构,性能调整,数据备份等都不简单, 这些对开发也很重要, 下面把做的Oracle高水位线的一些实验贴出来, 方便以后Review: 高水位线实验: -- 创建test3表 SQL> create table test3 as 2 select * from dba_objects whe...
转储oracle undo段信息
转储oracle undo段信息: 从Oracle 7.3 开始,我们就可以转储UNDO 的信息了。在日常维护工作中,转储UNDO 信 息的机会比较少。不过在一些故障分析或者性能分析中,有时还是会用到这项技术。这里将简单 介绍如何转储UNDO 信息。转储UNDO 信息需要使用sysdba 或者sy...
详解ORACLE数据库的分区表
此文从以下几个方面来整理关于分区表的概念及操作: 1.表空间及分区表的概念 2.表分区的具体作用 3.表分区的优缺点 4.表分区的几种...
Oracle10g闪回恢复区详解--开启,设置闪回区
何为闪回恢复区Oracle 10g 有一项新功能称为:自动的基于磁盘的备份与恢复( Automatic Disk-Based Backup and Recovery )。实现该功能的基础为本文要讲述的闪回恢复区( Flash Recovery Area )。闪回恢复区是...
Oracle体系结构理论篇
我们先看下面几个我们实际工作中经常会遇到的问题:1、通常说Oracle数据库是什么?2、如何理解Oracle实例?3、Oracle实例由哪些部分组成,它们之间的作用是什么?4、如何理解Oracle的物理结构?5、Oracle的物理结构由哪些部分组成,它们之间的作用是什么?6、如何理解Oracle的逻辑结构?7、O...
Redo Log之二:迁移redo log到不同的存储路径
迁移redo log到不同的存储路径实际运维过程中,我们也经常需要迁移redo log到不同的存储路径,或者修改redo log的大小等等,下面整理了两种迁移redo log的方式。1) 方案1:停止数据库实例迁移redo loga、 查询数据redo logSQL> select group#,type,memberf...
Redo Log之一:理解Oracle redo log
1. 什么是Redo logRedo log包含所有的数据库变化历史,数据库的所有操作变化,均按照写入重做日志缓冲区先于数据块缓冲区、写入重做日志文件先于写入数据文件;当发生提交动作时,将重做日志缓冲区变化刷到重做日志文件。重做日志文件一般用于数据库恢复(实例恢复和介质恢复)、Log Min...