oracle体系结构一览图
oracle主要分两部分,上半部分是instance-实例;下半部分是database。
instance主要部分是SGA进程块
database主要是文件组成的,包含一些数据。
用户的进程连接数据库,一般是连接到instance
oracle server-服务器:一个数据库管理系统,管理信息。包含instance和database
oracle instance-实例:访问database的一个手段,一个instance对应并只能对应一个database;一个database可以有多个instance访问。
组成部分:memory-内存块;background process-后台进程
connection&session-连接和会话:
一个connection是指一个oracle的客户端和服务器进程建立的一个tcp连接
process有三种类型:background process-后台进程(指专注于数据库核心的进程);server process-服务器进程(处理客户端和服务器连接的进程);user rocess-客户端进程
session:connection建立tcp连接,oracle对客户端进行身份验证,通过后,server process才允许使用数据库,此时,就开始了一个会话-session。连接断开时,会话消失。
oracle database-数据库:存储数据,表现形式是存储在磁盘里的一堆文件。包含三种文件类型:
data files-数据文件:以dbf结尾,存储数据;
control files-控制文件:以ctl结尾,操作数据文件,提供控制信息;
redo log files-操作日志文件:以log结尾,重做日志,记录数据库的改变。记录修改前/后的文件,用于恢复数据文件。操作失败时,回滚数据的依据。
数据库的database
其他类型:
parameter files-参数文件:规定oracle的基本参数和初始参数的值
archived log files-归档日志:与redo log files相辅相成。归档redo log的
password file:存储数据库操作口令
每次启动oracle,start一个instance
启动成功后,shell目录下输入ps -ef | more,查看后台进程
instance的background process
instance-memory structure包含两块:SGA(System Global Area-系统全局区),PGA(Program Global Area-程序全局区)
SGA:一个instance只有一个,在instance启动时分配,是基本组成部分
PGA:在server process启动时分配,一个server process有一个PGA
oracle存储海量数据,为了提高访问效率,必然会开一个很大的内存区。内存主要消耗在SGA上
shell下输入ipcs,查看ipc(进程间通讯的机制)资源状态
SGA在unix和linux下的实现方式,就是共享内存