oracle进程代码,由浅入深讲解Oracle数据库进程的相关概_oracle

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)系统监控进程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值