【转】oracle中的数据库体系结构(总览)
原地址:http://blog.tianya.cn/blogger/post_show.asp?BlogID=1271361&PostID=14905875
如上图所示,ORACLE数据库有不同种类的进程、内存结构以及文件种类。
一、内存:
ORACLE的内存总体上分为SGA和PGA。SGA存储ORACLE数据库的总体信息,为所有工作进程所共享,又分为SHARE POOL,DATA BUFFER CACHE和REDO LOG BUFFER。
-SHARE POOL存储的是最近使用的SQL语句的编译信息以及最近使用的数据字典的数据信息;
-DATA BUFFER CACHE是ORACLE数据库的内存信息;
-REDO LOG BUFFER为REDO LOG文件的共享内存,记录的是数据库在最近时间内发生的改变。
PGA为单个用户进程所占有的内存信息。
二、进程
ORACLE的进程分为用户进程和服务器进程2类。用户进程是某个用户与ORACLE数据库间进行的交互作业。服务器进程是支撑ORACLE数据库运行的进程,主要分为5种:
1 SMON(System Monitor):数据库服务的监控进程
2 DBW#:数据库写进程
3 PMON:用户进程的监控进程
4 CKPT(Checkpoint):用来更新控制文件和数据文件,记录数据库的最新状态
5 LGWR(Log Writer):将REDO LOG BUFFER的信息写入REDO LOG文件
三、文件:
1 参数文件:数据库启动、运行时的参数设置,如内存的分配、进程的分配等多种信息。ORACLE数据库启动时,首先读取该参数文件,确定启动信息。
2 控制文件:存储ORACLE数据库完整性、一致性的必要信息。例如数据库中所包含的数据文件、REDO LOG文件等。一个数据库最少需要1个控制文件,从安全考虑,建议在不同目录下使用3个控制文件。
3 数据文件:ORACLE数据库的真实数据
4 REDO LOG:记录ORACLE数据库所发生的改变,为ORACLE数据库的恢复提供可恢复的日志。一个数据库最少需要2个REDO LOG文件。
5 ARCHIVE LOG:是REDO LOG文件的拷贝。由于REDO LOG文件需要反复使用,为保证恢复,在一个REDO LOG文件再次被使用而清空前,需要将REDO LOG文件拷贝成ARCHIVE LOG,以用来做数据库恢复。
其中:
1 .CTL为控制文件
2 .LOG为REDO文件
3 .DBF为数据库文件
3.1EXAMPLE01表示示例数据库(scott employee表等)
alert_orcl.log修改数据库的日志文件