oracle实例和后台进程详解

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:49   1904   0

概念:

实例/instance: 后台进程+共享内存 用于管理和控制数据库

数据库/database: 物理文件的集合 为实例提供数据,如数据文件,控制文件,参数文件,日志文件等

数据库服务器/database server: 软件+实例+数据库

实例
oracle数据库启动后首先在内存中划分一片空间,并启动一些进程,而内存和进程统称oracle数据库实例,数据库关闭后,实例就被关闭实例
oracle数据库启动后首先在内存中划分一片空间,并启动一些进程,而内存和进程统称oracle数据库实例,数据库关闭后,实例就被关闭
一个数据库可以对应多个实例,如两个,四个等,一般没有单数的。用户可以通过连接到的实例访问数据库,可以实现负载均衡,提高并发等的效果,这种结构叫做oracle的RAC技术。

查看oracle实例

[oracle@localhost ~]$ ps -ef | grep ora

查看相关内存

[oracle@localhost ~]$ ipcs

重要的几大后台进程:

  • LGWR: 将log buffer中的数据写入到redo log中。

LGWR触发条件:
1、用户提交
2、有三分之一的log buffer未被写入磁盘
3、有大于1M的log buffer未被写入磁盘
4、每隔三秒
5、DBWn需要写入的数据的SCN大于LGWR记录的SCN,触发LGWR写入,日志写入优先(Write-Ahead-Log)

  • CKPT: 周期性触发,更新检查点信息,更新到控制文件和每个数据文件头部。

检查点类型
完全检查点
执行ALTER SYSTEM CHECKPOINT
正常关闭实例
增量检查点

检查点队列
该队列是脏数据块所对应的buffer header,dbwn按照这个写

  • SMON: 主内,监控实例内部,实例恢复,如整理碎片,清理不使用的临时段。
  • PMON: 主外,监控用户连接

在用户进程失败时执行进程恢复
清除数据库缓冲区高速缓存
释放该用户进程使用的资源
监视会话是否发生空闲会话超时
将数据库服务动态注册到监听程序

  • ARCn: 将写满后的redo log写入到归档日志中。

可以收集事物处理重做数据,并将该数据传输到备用目标位置

MMON: 自我监视和自我管理支持进程

MMNL: MMON辅助进程

ADDM: 自动数据库诊断监视器

MMAN: 自动内存管理

LREG: 监听注册进程

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP