ORACLE内部原理探究
文章平均质量分 70
flighting_sky
这个作者很懒,什么都没留下…
展开
-
数据块(一)
Data block Format(数据块的结构)一、Data Block Overhead数据库使用数据块开销来管理每一个数据块。1、block header:记录了关于数据块的常规信息,包括磁盘地址和段类型等。还包括了活动或历史的事务信息。需要更新该数据块的事务必须要有事务实体。2、Table directory:对于堆表来说,table directory存有保留原创 2013-05-01 23:57:00 · 1132 阅读 · 0 评论 -
热备份模式【Begin Backup】(1)--原理理解
以备份的时候数据库是否在线,可以把备份操作分为热备份和冷备份。冷备份是指,关闭数据库之后对数据库进行备份操作。而热备份则是在数据库处于打开的状态下进行数据文件的备份。不过,不管怎样,两种备份模式都必须确保所备份的数据在备份的时候是处于一致性状态的,对于热备份就是对应的备份的数据块不能存在于内存中正在被修改。一、begin backup机制所要解决的问题:fractured block原创 2013-08-17 10:27:33 · 3487 阅读 · 0 评论 -
ORACLE 跟踪事件与产生文件
本文装载自:http://blog.csdn.net/47522341/article/details/3299592一、Oracle跟踪文件Oracle跟踪文件分为三种类型。一种是后台报警日志文件:记录数据库在启动、关闭和运行期间后台进程的活动情况,如表空间创建、回滚段创建、某些alter命令、日志切换、错误消息等。在数据库出现故障时,应首先查看该文件,但文件中的信息与任转载 2013-08-17 10:22:02 · 644 阅读 · 0 评论 -
探究ORACLE的SCN机制(3):Begin Backup
在用户管理的备份模式下,如果是在线备份,在必须先启动beging backup,也就是热备份模式,以恢复可能出现的断裂快。 启动了begin backup后,数据库会冻结表空间或数据库对应数据文件的文件头的checkpoint_change#,不过在冻结之前会先发出一次检查点,并将该检查点前的所有事务应用都固化到数据文件,然后冻结这个SCN,直到使用END BACKUP,使备份过程原创 2013-08-20 10:38:32 · 2109 阅读 · 0 评论 -
探讨ORACLE的SCN机制(1)
oracle 数据库的打开过程进行的检查操作 第一步:Oracle将数据文件头中的启动SCN与数据文件检查点SCN比较,即比较v$datafile_header.checkpoint_change#与对应文件v$datafile.checkpoint_change#; 第二步:第一步成功的情况下,Oracle接下来再比较数据文件头中的SCN和控制文件中数据文件的终止原创 2013-07-31 23:28:56 · 795 阅读 · 0 评论 -
探讨ORACLE的SCN机制(2):文件检查点
在网上经常看到有人提到全局检查点,也就是完全检查点。所谓完全检查点会将数据缓冲区里面所有的脏数据块写入相应的数据文件中,并且同步数据文件头和控制文件,保证数据库的一致。其实对于全局检查点,还有局部检查点,也就是CKPT进程只是刷新部分文件在数据缓冲区里面的所有脏数据块写入到对应的数据文件中,同步更新数据文件头和控制文件,以保证数据库的一致。 下面介绍的就是就是会促发局部检查点的让表空间o原创 2013-08-01 20:20:47 · 750 阅读 · 0 评论 -
高水位线
High Water Mark(高水位线)在HWM之上的所有数据块都是unformatted和unused;在HWM之下的数据块则存在多种情况:已经分配,但是unformatted和unused;formatted并且存有数据;formatted但是没有数据,因为数据被delete了;除了高水位线之外,还有一个Low High Water Mark。Low HWM之下的所有数据原创 2013-05-01 23:48:01 · 626 阅读 · 0 评论 -
Oracle 10053事件内部原理与测试【2】
文章转载自:http://www.itpub.net/thread-1766506-1-1.html3.通过10053事件分析一个SQL执行计划的产生过程,需要贴出trace中的相关信息和必要的文字说明。测试LEO1@LEO1> drop table leo3 purge; 清理环境Table dropped.LEO1转载 2013-07-25 00:20:42 · 762 阅读 · 0 评论 -
Oracle 10053事件内部原理与测试【1】
转载自:http://www.itpub.net/thread-1766504-1-1.html本次我们主要讲解oracle 10053事件和实验,好多朋友可能对这个事件不是很熟悉,因为在日常运维中用到的不是很多。Oracle 10046和10053 都是非官方trace sql的方法,在官方文档上是找不到相关资料的,但在MOS上可以找到。sql_trace是官方推荐的trac转载 2013-07-25 00:17:28 · 677 阅读 · 0 评论 -
逻辑读与物理读
通常,当执行了set autotrace traceonly statistics,然后执行sql语句,就会返回下面的统计数据:recursive calls:递归调用。一般原因:dictionary cache未命中;动态存储扩展;PL/SQL语句db block gets:从buffer中读取的数据块数量。也就是即时读,通常是执行DML操作的时候,需要对数据块添加行锁,以免其他会话对同原创 2013-07-24 16:57:16 · 786 阅读 · 0 评论 -
内存结构
内存结构,如下图:一、SGASGA组件除了Log buffer之外,空间的分配与释放所基于的基本单位都是granules,granules的大小是基于操作系统和SGA的大小。1、Database Buffer CacheDatabase Buffer Cache也叫buffer cache,保存从数据文件中读取的数据块。buffer cache可以实现下面两个目标:原创 2013-05-04 22:21:28 · 999 阅读 · 0 评论 -
事务的并发性和一致性(一)
一、 multiversion consistency model(多版本的一致性模式)简单来说,ORACLE数据库通过在undo表空间中保留不同版本的数据块来满足一致性需求。从语句级别、事务级别的角度来讲,在每个级别的范围内,所读数据的版本都是该语句或事务开始时数据的版本。比如说,开始时是SCN为1000,则语句或事务运行过程中所处理的数据块都是SCN为1000时的数据。在RAC环境中,OR原创 2013-05-02 00:05:46 · 1349 阅读 · 0 评论 -
事务的并发性和一致性(二)
Locking Mechanism(锁机制)一、锁机制的特征1、Lock mode要进行DML操作,必须同时拥有共享锁和排他锁,而对于DDL操作必须在对应表中没有任何共享锁的时候才能够进行。Exclusive lock mode:排他锁模式,该模式下只有一个事务可以获得锁;Share lock mode:共享锁模式,该模式下所有的事务都可以获得锁。共享锁是了避免DDL操作对原创 2013-05-02 00:02:52 · 845 阅读 · 0 评论 -
数据库文件结构
一、Online Redo Log其中的内容为redo records,而redo records是由一组change vectors组成,每个change vectors描述了每个数据块的改变。比如说对员工表的update操作,redo records记录了其对表数据块的改变、撤销段数据块的改变和撤销段transaction table的改变。redo records包括下面这些信息:原创 2013-05-01 23:59:16 · 1075 阅读 · 0 评论 -
Oracle 11g 新特性 -- SQL Plan Management 说明
文章转载自:http://blog.csdn.net/tianlesoftware/article/details/8292410 一.概述SQL 语句的SQL 执行计划发生更改时,可能存在性能风险。SQL 计划发生更改的原因有很多,如优化程序版本、优化程序统计信息、优化程序参数、方案定义、系统设计和SQL 概要文件创建等。在以前版本的Oracle DB 中引入了各种计转载 2013-09-21 23:23:47 · 1002 阅读 · 0 评论