1. 参数文件(parameter file, *.ora)
两种类型pfile和spfile,推荐使用spfile,pfile是字符型文件可以使用编辑器编辑,spfile是二进制文件,要使用set parameter参数进行修改。 使用set parameter进行参数修改时可以增加注释,指定修改的作用范围(memory,spfile,或者both),其中both是默认值;使用reset parameter修改原来的参数设置,其中sid选项必选。
spfile和pfile可以互相生成,启动数据库时默认使用spfile,要使用pfile需要使用pfile='pfilename'进行指定; spfile保存在服务器,pfile保存在客户端,使用alter system改变的系统配置写入spfile,不写入pfile。

2. 调试文件(trace file, * .trc)
两种类型,一种是对调试应用有关系的文件,比如打开sql调试选项,就会在这些调试文件中增加信息;一种是内核产生错误时产生的调试文件,供orace支持人员使用。
我们使用的调试文件有两个存放位置,对于专属服务器存放在udump文件夹下,具体可见user_dump_dest参数;共享服务器的调试文件一般存放在bdump文件夹下,具体可见background_dump_dest参数。
从v$process, v$session, v$parameter, v$instance做关联查询可以知道目前session的trace文件。
可以设置参数tracefile_identifier为当前session的trace文件增加tag。

3. 数据文件(data file)
oracle支持的四种文件系统:os file system, raw partitions,automatic storage management,clustered file system;
段(segment),oracle中的每个对象都存储在一个segment之中,在创建对象的同时oracle自动创建不同的segment,每个段由一个或者多个簇(extents)组成;
簇(extent),extent是一个文件内逻辑上连续的存储空间,同一个segment内的extent可以属于不同的文件,最大空间为2G;
块(block),块是oracle中最小的存储空间,是实际存储数据对象的地方;extent由block构成;一般取值为2k/4k/8k/16k,在有些条件下也可以使用32k。
表空间(tablespace),由segment构成,一个segment不能跨越表空间。

4. 临时文件(temp files)
临时文件用于存放中间结果,它的显著特征是一般情况下,对数据对象的操作不产生回滚段,除非显式指定回滚要求。

5. 控制文件(control files)
控制文件是个小文件,最大64M;在参数文件中指明控制文件的位置;控制文件指明数据文件和在线重做日志文件的位置;控制文件记录发生过的检查点,数据库名字,创建数据库时的时间戳,归档日志的历史等;
控制文件应该在不同的磁盘上进行备份。

6. 日志文件(log files)
一般用于数据库恢复,也可用于系统崩溃时的例程恢复,分为在线日志(online log file)和归档日志(archived log file).
online redo log:
有两组或者多组在线重做日志,组内的每一个成员互为影射,组之间循环使用.
在线重做日志组间的切换称为log switch,这个时候如果数据库配置不好容易发生服务暂停的情况,因为数据库在切换日志组之前要确认该日志组已经没有脏数据,如果有脏数据就要先写入磁盘中,再进行切换。
oracle在修改数据后,会先写入SGA的对应区域,当commit的时候写入在线日志文件,在check point或者重新启动时由DBWn将修改写入磁盘。
设置online redo log的大小时要考虑:峰值的时候产生的日志规模;修改相同block的用户数量;对数据库恢复是否有时间要求。
archived redo log:
数据库在日志的处理分为两种类型:archivelog mode,在发生log switch时保存原来日志;noarchivelog,不保存原有日志,直接重用。
生产环境中要使用archivelog mode,保证数据不丢失。

7. 口令文件(password file)
可选文件,为远程启动oracle提供验证。

8. DMP文件(exp/imp files)
dmp文件用于oracle的导入导出,它和平台无关;是二进制文件;通过网络传输时要确保以二进制的格式进行传输,否则可能导致文件被转换;导入时向下兼容即新版本的oracle可导入老版本的dmp文件。


久久不醉