大众所谓的数据库实际上是实例+数据库的统称,而他们完全是两个概念;
即:oracle数据库由实例(instance)和数据库(db)组成
其中:
实例【instance】
主要由内存和后台进程组成
内存 主要由SGA和PGA组成
SGA -------- 系统全局区
主要由:shared pool、db buffer cache、redo log buffer、
large pool、 java pool、stream poll 6大块构成;
后台进程 主要由五大进程:
CKPT PMON DBWn LGWR SMON; 这5个是必须的
当然还有很多其他的进程,不同场景会有不同的进程在工作
简要说明其作用:
CKPT 周期性运行 把数据库当前状态的一些信息写到控制文件和数据文件的头部 负载小
SMON 对数据库实例【SGA内部 对内】进行维护 如:整合碎片
PMON 对server process进行维护 对外 如:清理死掉的server process 清理对应的PGA空间
DBWn 把修改后的数据写到磁盘DBF文件中
LGWR 把修改的日志写到磁盘LOG文件中
db
由一组不同类型的文件组合
从运行中的数据库来看有两大类
1.离线文件(非核心)
参数文件 密码文件 归档日志
2.在线文件(核心)
数据文件 控制文件 联机日志文件(重做日志)
DBF CTL LOG
这里只简要描述一下其作用:
数据文件 存放系统数据和用户数据的空间
控制文件 描述着数据库结构和形态
重做日志 记录着数据库中的一切改动数据的SQL条目
参数文件 实例初始化的形态说明
密码文件 sys管理员的密码验证文件
归档日志 重做日志的备份文件
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27000195/viewspace-741042/
,如需转载,请注明出处,否则将追究法律责任。