Oracle数据库
历程概述:
Database buffer cache重要用于存储数据文件中的数据块
数据库高速缓存的数据块是高速缓存与数据文件进行信息
交换的
根本单位 。在Oracle数据库8i以往,数据块大小惟独一种,而Oracle数据库9i以后
支撑2K,4K,8KB,16KB及32KB五种 。
用命令SQL>SHOW PARAMETER DB
可以显示目前数据库的BUFFER CACHE
数据库缓存和特色如下:
<1>.依据近期
起码
使用LRU.
<2>. 由DB_BLOCK_SIZE来指定大小 。
<3>.ORACLE
使用时是以块大小为单位进行数据存取的 。
还包括以下一些独立的子缓存:
<1>.DB_CACHE_SIZE.
<2>.DB_KEEP_CACHE_SIZE.
<3>.DB_RECYCLE_CACHE_SIZE.
注:
可以用Alter system set db_cache_advice=on;设置成依据系统的
提议来指定大小 。
REDO LOG FILE重要是用于重做日志
用命令SQL>SHOW PARAMETER LOG_BUFFER 。
SQL>ALTER SYSTEM SET LOG_BUFFER_SIZE=60M 。
用来显示或
批改重做日志缓冲区的一些信息 。
命令SQL>achive log list
可以查看数据库目前的归档模式 。
LARGE POOL:
与JAVA POOL一样,都是作为系统可选的内存
构造,由SGA来配置 。
JAVA POOL:
当安装或
使用JAVA时才用到 。
ORACLE内存
历程包括两个,一个是SGA,一个是PGA.
(1) 。SGA在ORACLE实例启动时
调配,是ORACLE实例的一个
根本组件 。
(2) 。PGA是在当服务器
历程启动时
调配的 。
历程
构造:
<1>.USER PROCESS.用于消费者与ORACLE SERVER交互的
历程 。
USER PROCESS必须与ORACLE
构建衔接后才可
使用,不可与ORACLE SERVER交互 。
<2>.SERVER PROCESS.
SERVER PROCESS在消费者与服务中间
构建衔接后,为执行消费者命令的一个
历程 。
<3>.BACKGROUND PROCESS.
后盾
历程:DATABASE WRITER (DBWn)用来把DATA BUFFER CACHE中的脏数据写回到数据库中 。
(注:脏数据是被转变的数据 。)
在以下状况下它会写数据库:
<1>.在
产生CHECKPOINT同步 。
<2>.脏数据达到阀值 。
<3>.DATABASE BUFFER CACHE
自由空间太少了 。
<4>.TIMEOUT (3秒钟 。)
<5>.RAC PING REQUEST.
<6>.TABLESPACE OFFLINE.
<7>.TABLESPACE READONLY.
<8>.TABLE DROP OR TABLE TRUNCATE (表数据清空或表
构造删除) 。
<9>.TABLESPACE BEGIN BACKUP.
由SGA (包括DATABASE BUFFER CACHE,BACKGROUND PROCESS)-----> [ DBWn ]----> {data files,
control files, redo log file} ---->由此过程转变数据库中的数据 。
LOG WRITER (LGWR) 日志写
历程
在Oracle环境中
<1>.当COMMIT的时候 。
<2>.当三分之一空间满时 。
<3>.当日志有1MB需求重做时 。
<4>.每3秒
<5>.BEFORE DBWn WRITES.(写数据前先写日志) 。
REDO LOG BUFFER----->LGWR--->DBWn
|--------------------------------------> REDO LOG FILES
SYSTEM MONITOR (SMON)系统监控
历程
重要
使命:
(1) 。启动过程(
假如DATABASE重启时)假如需求RECOVERY,则此
历程会负责
打开数据库,及回滚没有
提交的事务;以及rolls forward changes in the redo logs这些统称为:instance recovery.
(2) 。对每3秒就对系统
自由空间的
整顿 。(COALESCES FREE SPACE EVER 3 SEC.)
(3) 。清空暂时段空间(DEALLOCATES TEMPORARY SEGMENTS) 。
这个过程也是在系统启动过程中
实现的 。
PROCESS MONITOR (PMON)
历程监控
历程
重要用于回滚
异样终止的或被消费者强制终止的事务 。
<1>.rolling back the transaction.
<2>.releasing locks.
开释锁 。
<3>.releasing other resources.
<4>.restarts dead dispatchers.重启死掉的调度器 。(在共享服务器中用) 。
PMON (:Include in SGA)----------------------->PGA
CHECKPOINT (CKPT)
审查点
历程
用来在数据库里实现同步,实现之前会强制将脏数据从内在里写到物理文件里 。
<1>.会启动DBWn来写脏数据(SIGNALLING DBWn at CKPT.)
<2>.完后会更新DATAFILE的HEADER和操纵文件的HEADER.而HEADER中有同步所需求的信息,即
CHECKPOINT的信息 。
<3>.在ORACLE中,
畸形状况下,全部文件必须同期性地同步;靠CHECKPOINT来
实现 。
CKPT(作为
后盾
历程包括在实例中)------------------DATABASE
(data files,control files,redo log files.)
| |______DBWn
|________LGWR
Archive PROCESS (ARCn) :归档
历程(可选
历程),当设置归档模式后,可用来自动备份在线日志,(归档日志是重做日志的备份 。)
<1>.Automatically archives online redo logs when archiverlog mode is set.
(设置归档模式后,将自动备份在线日志)
在
解决SQL语句时,
留神以下过程:
<1>.用以下
历程衔接到实例 。
消费者
历程(USER PROCESS) 。
服务器
历程(SERVER PROCESS) 。
<2>.Oracle服务器
历程组件的
使用依赖于SQL语句的
品种 。
[1].
查问语句会返回行 。
[2].DML语句会记录这种转变 。
[3].COMMIT
保障了事务的RECOVERY.
<3>.并不是全部的SQL语句中全部的
后盾
历程都会
参加 。
论断:
Oracle Server. Oracle服务器
历程包括一些文件,
历程和内存,在执行一条SQL语句时,并非全部这些都会用上,有些
历程用于
普及数据库的性能;一些用于当
产生软件或硬件
异样时
复原数据库;或
利用于
实现
其余一些
保护数据库的
使命 。ORACLE服务器包括ORACLE实例和ORACLE数据库 。Oracle Instance: Oracle实例是用于
联络
后盾
历程和内在中间的
运动,对数据库进行数据存取前必须先启动实例,每当实例启动时,SGA就被
调配给它并启动了一些
后盾
历程 。
后盾
历程执行10秒操作并监控有些
历程以提供更好的性能 。和牢靠性 。Oracle Database: 数据库包括了系统文件,也称数据库文件,其提供了用以存储数据库信息的实际物理存储区域,用数据文件
保障了数据
统一性,并在当实例
产生失败时
复原数据库 。
上文中为大家
详尽介绍了对于Oracle数据库
历程的
有关概念的
常识,
盼望大家都能很娴熟的
主宰这些
常识,让这些
常识存在于我们的大脑中,便于我们以后遇到
类似的问题时的
解决 。