Oracle由Oracle数据库和Oracle实例两个部分构成。
Oracle数据库
相关操作系统文件(存储在计算机硬盘上的文件)的集合,这些文件组织到一起成为一个逻辑整体,即为Oracle数据库。
非必须文件
- Parameter file 参数文件
- Password file 口令文件
- Archived Log file 归档日志文件
必须文件
- Data files 数据文件(数据的存储仓库)
- Control files 控制文件 (记录了数据库的名字,位置等信息,一旦控制文件损坏,数据库会宕机,是一个二进制文件,oracle自动生成)
- Redo Log files 重做日志文件 (数据库的事务日志,用于恢复)
Oracle实例
位于物理内存里的数据结构,它由操作系统的多个后台进程和一个共享的内存池组成,共享的内存池可以被所有进程访问。
Oracle实例 = 进程 + 进程所使用的内存
Oracle和Oracle实例
当某个用户发出更新数据的命令,此时数据的改变是在内存中完成的,当数据被修改时,系统产生一个重做日志,并记录在重做日志缓存区Redo Log Buffer中,修改后的数据会存在实例中的数据缓存区Database Buffer Cache。
重做缓存区的内容通过LGWR写到Redo Log files,数据缓存区内容通过DBWR写到Data files.
实现数据库与实例连接的是控制文件。
Oracle数据库与实例的区别
实例就是Oracle的进程和内存。提到数据库时,则是说保存数据的物理文件。
另外,可以从一个或多个实例访问一个数据库,但是一个实例一次只能访问一个数据库。