Oracle体系结构的3个主要组件: 1.文件:组成数据库实例的5个文件(参数文件,控制文件,数据文件,临时数据文件,重做日志文件) 2.系统全局区域SGA( System Global Area): Java池,共享池等 3.物理进程与线程: 在数据库上运行3种不同类型的进程(服务器server进程,后台backgroud进程,从属slave进程)
术语解释: 数据库: 物理操作系统文件的集合 实例: 一组oracle进程和SGA 二者关系: 一个数据库可以被多个实例装载mount和打开open 实例可以及时地装载并打开一个单独的数据库,被实例打开并装载的数据库在启动时不必相同
文件: 1.参数文件: TNSNAMES.ORA, LISTENER.ORA,SQLNET.ORA, PROTOCOL.ORA,NAMES.ORA, SMAN.ORA, LDAP.ORA (refer to "Oracle Net administrator Guide") $ORACLE_HOME/DBS/int<ORACLE_SID>.ora: 内容为一系列的变量名和值对 such as: db_name="wmdb" db_block_size=8192 control_files=("c:\oradata\control01.ctl","c:\oradata\control02.ctl") ... 其中有一些在Oracle文档中没有说明的参数以下划线开始 除了在开发环境中设置_TRACE_FILES_PUBLIC=TRUE这个参数外,其他没有说明的参数最好不要改动
2.数据文件: 数据库database-->表空间tablespace-->segment段-->extent扩展区-->block块 1)数据库由一个或多个表空间组成 2)表空间由一个或多个数据文件组成,一个表空间有一个或多个段 3)一个段(表,索引等)由多个扩展区组成,段存在于表空间中,但在表空间中可有多个数据文件中的数据. 4)一个扩展区是在磁盘上一些连续分配的块,一个扩展区在一个表空间中,而且总是表空间中单一的文件 5)块是数据库中最小的分配单元和I/O单元,它的大小在数据库创建时就固定下来了
3.临时文件 当内存不足以保存一个大规模排序操作的中间结果(集),Oracle用临时文件来存储它们,永久数据,如表或索引是不会存储到临时文件中的,但临时表或临时索引的内容则可能存储到临时文件 中
推荐用本地管理临时表空间来配置数据库???,例 create temporary tablespace temp tempfile 'c:\oracle\oradata\walter\temp.dbf' size 5m extent management local uniform size 64k
4.控制文件 一个相当小的文件,至多为64M,包含Oracle需要的其他文件的目录 数据文件init<SID>.ora告诉实例控制文件 的位置 控制文件则把数据库和联机重做日志文件的位置告诉实例 控制文件也向Oracle提供其他信息,如检查点,数据库名称,数据库创建的时间戳,归档重做日志历史等
5.重做日志文件 数据的事务日志,仅在恢复时才使用 1)联机重做日志 2)归档重做日志
内存结构 1.SGA(System Global Area) 2.PGA(Process Global Area) 3.UGA(User Global Area) 待续 
|