一般来讲,Oracle文件分以下几个类型:
数据文件: 真实数据 [一般放在oradata/SID/文件名.DBF]
重做日志文件: 联机日志、归档日志
控制文件: 包含物理文件到数据字典中的逻辑表空间之间的映射 [oradata/SID/文件名.CTL]
初始化参数文件: 参数文件主要用于保存数据库启动例程所需要的初始化参数.
文本参数文件[Pfile]:默认文件名为init$ORACLE_SID.ora,可以通过文本编辑.
服务器参数文件[spfile]:默认文件名为spfile$ORACLE_SID.ora,存储在数据库中,必须采用一个Alter System命令对其进行更改.是一个二进制文件,
数据库启动时默认用这个参数文件.
oracle实例在启动时, 会去读取参数文件中的配置, 过程如下:
a)当startup命令中可以指定以哪个pfile来启动
注意: 只能指定pfile, 不能指定spfile. 指定pfile:startup pfile='<pfile>'
b)当startup命令无参数, 先在平台默认位置(Window: $ORACLE_HOME/database, UNIX, linux: $ORACLE_HOME/dbs)上查找文件
1. 查找spfile$ORACLE_SID.ora文件
2. 查找spfile.ora文件
3. 查找init$ORACLE_SID.ora文件
如果在默认位置找不到,再到/dbs目录下按照上面的顺序找.
4. 查找init.ora.[时间戳]文件(不在默认位置, 在$ORACLE_BASE/admin/db_name/pfile下)
数据库启动的时候先是找到参数文件,再通过参数文件找到控制文件,再通过控制文件找到数据文件等等,然后打开数据库.
警告和追踪日志文件:
备份文件:
Oracle对文件的管理分为 oracle管理文件和操作系统管理文件.
Oracle管理文件[Oracle managed file]:
当创建数据库时,系统自动创建数据文件,日志文件和控制文件.
当创建表空间时,系统自动创建数据文件,自动命名并存储在规定的目录中.
当删除表空间时,系统自动删除对应的数据文件.
操作系统管理文件:
在创建数据库,表空间时,DBA要指定对应的文件名称.
删除表空间时,也要指定文件名称,并要从操作系统的文件系统手动去删除文件.
Oracle表空间管理分为 数据字典管理和本地管理.
数据字典管理: 表空间信息保存在数据字典中
a)当并发性很高的时候,数据字典的争用就来了。另外有一个问题就是,当表的空间很不连续或表空间有大量的碎片引起数据字典表的增大,那么也就会引起数据库性能上的下降
b)表空间的碎片不能自动消除.
本地管理表空间:
a)ORACLE将存储信息保存在表空间的头部的位图中,而不是保存在数据字典中.
b)自动合并磁盘碎片.