控制文件,日志文件,数据文件
控制文件中包含了数据库信息、CKPT 进程信息、REDO 信息、数据文件和表空间信息等重要的数据库信息,也包含了日志切换的历史信息和 RMAN 备份的 CATALOG
信息
在线日志文件主要用于记录数据库的变更信息.
数据文件是存储Oracle数据库中的数据的,是Oracle数据库最核心的文件.Oracle数据库中的表,索引等都是记录在数据文件中中的.其中系统表空间包含的数据文件里保存了数据库的元数据(metdata),如果metadata出现故障,访问数据库的数据时就会发生问题.
数据文件中还有一类特殊的文件,即临时文件,一般来说,临时文件属于临时表空间.临时文件是Oracle存放临时数据的,比如排序数据,临时表.一旦数据库重启,临时文件将会丢失,我们不能把永久性的表和索引 放在临时文件中.
Oracle数据库的实例必须依赖于某个特定的ORACLE_HOME,启动实例需要的所有的程序和相关文件(除了数据库外)都包含在$ORACLE_HOME中,除此之外,每个实例都有自己独立的SID,在同一个ORACLE_HOME下,允许启动多个实例,但是这些实例必须拥有不同的SID.一个非RAC的数据库是不允许被多个实例打开的,因为实例mount独立数据库的时候,是以排他方式进行的.
应用访问数据库三种方式:1.应用进程直接访问数据库实例的共享内存;2.通过beq协议在本机上访问 3.通过网络协议访问
第一种方式使用场合很少,后两种方式都是基于two-task结构的,都需要在数据库服务器上建立一个服务进程(server进程)来为客户端应用服务.two-task架构下访问数据库,首先需要在服务器端创建一个进程,这个进程启动时先要映射共享内存,然后才能够通过共享内存中的内部数据结构完成会话的初始工作.
在本机上不经过SQL*NET连接数据库,前台进程和用户进程之间通过IPC机制进行通信,通信协议就是著名的Bequeath协议,简称BEQ协议.使用SQL*NET协议的前台进程和用户进程之间的通信采用Socket通信. (BEQ协议在效率上高于Socket通信.