《oracle从入门到精通(PDF格式)》第20章


重做日志:在数据库中发生的所有改变,改变的每一条信息都叫做一条重做日志信息。
存放重做日志信息的文件就叫做重做日志文件。
作用:利用日志记录可以恢复损坏的数据库,保证数据的可恢复性。
重做日志组:包含一个或多个日志文件。
特点:
一个数据库最少有两个组,一个组最少有一个组成员。
重做日志的大小是固定的。
写入方式是顺序写入,按时间。
切换(一个写满往下一个写),循环(都写满了就重新回到头组写)。
9。 control file 控制文件
数据库中的核心文件。
存放内容:
数据库的名称和编号,数据库的结构信息(数据文件和重做日志文件的地址)
当前的 SCN system change number 系统改变号:
给系统的每一次改变编号(最后一次同步的 SCN 号)。
控制文件的 SCN 号和所有存放数据文件的头部的 SCN 相同。
启动的时候,一样启动,不一样恢复。
特点:一个数据库最少需要一个控制文件,但一般情况下都会有复用/副本。
10。 parameter file 初始化参数文件
非必要文件
跟实例有关。
第 46 页,共 106 页 
…………………………………………………………Page 47……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通 
11。 password file 口令文件
非必要文件。
作用:做特权身份认证。
sysdba/sysoper/普通身份
12。 archived log file 归档日志文件
非必要文件。
内容:
重做日志文件(redo log file)内容的备份。
作用:使数据库所有的日志都会保留下来。
特点:每个重做日志内容都会对应一个归档文件。
LOG SEQUENCE 日志序列号:重做日志内容的序列号。
非归档日志:
没有归档日志文件;
性能要好一些;
可以选择归档模式或非归档模式。
3。instance 实例/例程
启动的步骤:
(1)启动实例;
实例包含:
1。SGA
2。后台进程
一个实例只有一个 SGA,可以有多个 PGA,建立一次连接(会话)就产生一次PGA。
ORACLE 的内存结构:
SGA 在实例启动的时候分配,是 ORACLE 实例的基本组件; 大小可以动态改变(内部大 
小)
通过 SGA_MAX_SIZE 定义大小(总大小是静态的)
PGA 程序全局区(私有区域):在服务进程启动的时候分配。
PGA 程序全局区
是为每个用户进程连接 ORA 数据库提供的内存区域;
当进程创建时分配;
当进程结束时释放;
一个 PGA 只被一个进程使用;
包含:有连接的信息
SGA 系统全局区
所有数据库的后台进程和服务进程的共用内存区域。
包含:
1。shared pool 共享池
第 47 页,共 106 页 
…………………………………………………………Page 48……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通 
设置大小的参数:SHARED_POOL_SIZE
包含:
library cahce 库高速缓存区
大小由共享池决定。
包含:SQL 语句和 SQLPLUS 文本,分析代码,执行计划
存储目的:与性能有关。
当两个语句相同的时候不需要重新分析,使用相同的执行计划即可。
管理方法:采用 LRU (最近使用算法)least recent used 当空间不足的时候,使用 LRU。
结构: SQL 区域、PL/SQL 区域
data dictionary cache 字典高速缓存区
内容:最近最多使用的数据字典信息
作用:为了能够在分析的时候所需要的字典信息能在内存中找到,避免使用物理 I/O。
管理方法:采用 LRU (最近使用算法)
2。database buffer cache 数据库高速缓存区
单位:块。
内容:最近最常数据块
作用:减少物理 I/O,提高性能
参数:DB_BLOCK_SIZE 决定主数据块的大小。
会影响性能;
设置后不允许修改;
管理方法:采用 LRU (最近使用算法)
由独立的自缓冲区组成:
DB_CACHE_SIZE
CB_KEEP_CACHE_SIZE
DB_RECYCLE_CACHE_SIZE
可以通过 ALTER SYSTEM 命令动态增加或收缩:
ALTER SYSTEM SET DB_CACHE_SIZE =96M;
redo log buffer 重做日志缓冲区
记录了对数据块所作的所有修改。
作用:数据库的恢复
大小由 LOG_BUFFER 决定。
顺序单条写入,批量写出到文件。
java pool java 池
可选
java_pool_size 大小
large pool 大池
可选
减轻共享池的负担。
被用于: 1。在共享服务器中的会话的内存需求(UGA);
2。I/O 辅助;
3。备份恢复操作或 RMAN;
4。并行执行的信息缓冲区;
large_pool_size 大小
第 48 页,共 106 页 
…………………………………………………………Page 49……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通 
4、进程结构
1。 用户进程:开始于数据库用户请求连接数据库
2。 服务进程:与 ORA 实例连接,开始于用户会话的建立。
分为: 专用服务进程、共享服务进程
性能专用更好。
利用资源方面共享更好(网站方面)。
3。 后台进程:当 ORA 实例启动时启动
后台进程包含:
1。PMON 进程监视进程
监视用户进程(客户端连接服务器的进程)到服务进程(在服务器端响应用户进程的进程)的 
连接。
创建会话。
监视会话是否异常中断,如果中断:PMON 会回滚事务、解锁、释放资源。
2。SMON 系统监视进程
任务:会检测 SCN 号,相等:启动
不相等,实例恢复(1)前滚将日志应用
(2)打开数据库
(3)恢复数据库
恢复的起点是走后一次 CHECKPOINT 的位置。
每 3 秒合并空闲空间
释放临时段
临时段:暂时存放在排序时中没有空间的字段值。
在排序中产生的。
数据量大的时候,排序是分成若干块执行的,当字段值排好序之后就放到临时段中。
1。 DBWR 数据库写进程
/DBW0/DBWn n:0…9
将脏数据写回到数据文件中。
当发生以下情况执行:
当发生检查点事件的时候,checkpoint
第 49 页,共 106 页 
…………………………………………………………Page 50……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通 
脏块达到极限值;
没有空间的缓冲空间
超时
RAC PING 请求
表空间离线
表空间只读
在表执行 DROP 或TRUNCATE
表空间上执行 BEGIN BACKUP
2。 LGWR 重作日志写进程
小说推荐
返回首页返回目录