Oracle主要文件类型
今天我们来分析Oracle中构成数据库和实例中的8种
-
参数文件 -
跟踪文件 -
警告文件 -
数据文件 -
临时文件 -
控制文件 -
重要日志文件 -
密码文件 参数文件 数据库的参数文件通常称之为初始文件,如果没有参数文件,我们就无法启动Oracle数据库。这些文件告诉oracle实例在哪里可以找到控制文件,并且指定某些初始化参数,这些参数定义了某种内存结构有多大等设置。 Oracle中存在两个参数文件pfile和spfile。 在Oracle启动的时候,会以spfilesid.ora --> spfile.ora -->initsid.ora这种顺序来读取文件,如果都没有则会报错。
跟踪文件
跟踪文件能提供调试信息,当服务器遇到问题的时候,会生成一个包含大量诊断信息的跟踪文件。 Oracle数据库会根据使用的连接类型,来决定在哪里储存相关的跟踪文件。 在想要找优化调试的跟踪文件的情况下:
- 如果是使用专用服务器连接,会在user_dump_dest参数指定的目录中生成跟踪文件。
- 如果使用共享服务器,则在background_dest参数指定的目录中生成跟踪文件。
跟踪文件的文件名会以:文件名的第一部分是ORACLE_SID,文件中下一部分只有ora,文件名中的数字就是专用服务器的进程ID,这样可以在V$PROCESS视图中得到。 在想找内部错误生成的跟踪文件情况下: 可以使用ADRCI工具来查看问题。
警告文件
警告文件就是数据库的日记,在这个文件中,可以看到数据库的编年史,包括日志开关,表空间何时创建、离线以及恢复为在线,等等,
数据文件
数据文件和重做日志文件是数据库中最重要的文件。创建一个数据库至少会有三个数据文件,一个对应SYSTEM表空间,一个对应USER表空间,另一个对应SYSAUX表空间。 在ORACLE中可以用四种文件机制存储你的数据。
- 操作系统文件系统:这些就像文档一样放在文件系统中。
- 原始分区:这不是文件,而是原始磁盘。
- 自动存储管理:可以将其看做数据库文件系统,这里只能存储与数据库相关的信息:你的表,索引,备份,控制文件等。
- 集群文件系统
数据库是由一个或者多个表空间构成的,而表空间中包含段,我们下面来介绍:
- 段:就是占用存储空间的数据库对象,比如:表,索引等等,在创建表的时候就会创建一个表段,创建分区表的时候,每个分区会创建一个段依次类推。占用存储空间的每一个对象都会存储到段中。
- 区段:段本身又由一个或者多个区段组成。区段是文件中一个逻辑上连续分配的空间。11g中引入了延迟段的概念——不会立即分配区块的段,段将延迟分配初始区段,知道插入数据。如果一个对象超过其初始区段,就会为他请求分配另一区段。
- 块:区段又进一步由块组成。块是Oracle中最小的空间分配单位,通过Oracle从磁盘中读写的就是块。通常块的大小有四中2KB,4KB,8KB,16KB.在一个表空间中,所有块的大小都是相同的
临时文件
这是一种特殊类型的数据文件,Oracle使用临时文件来存储大规模排序操作和散列操作的中间结果,如果RAM没有足够的空间,还会用临时文件存储全局临时表数据。永久数据对象不会存储到临时文件中
控制文件
这个文件是一个相当小的文件,告诉你数据文件、临时文件和重做日志文件在哪里,还会指出与文件状态有关的其他元数据。
重做日志文件
重做日志文件对Oracle数据库至关重要,他们是数据库的事物日志,通过用于恢复,不过也可以用于以下工作:
- 系统奔溃后的实例恢复
- 通过备份恢复数据文件之后恢复介质
- 备用数据库处理
- 输入到流中,可以用于信息共享
你在Oracle中完成的每一个几乎都会生成一定的redo信息,并写入在线重做日志文件。重做日志文件有两种类型,在线和归档。 每个Oracle都会有至少两个在线重做日志文件组。这些组的单个重做日志文件成员之间实际上形成彼此真正的镜像。这些在线重做日志文件的大小是固定的,并以循环方式使用,先写日志组1,当到文件的最后的时候,切换到日志组2,从头到尾写这些文件的内容。 在填满日志1并切换到日志2的时候,Oracle就会启动一个检查点,此时DBWn集合将文件组1保护的所有脏块写到磁盘中,在DBWn把该日志保护的所有块刷新输出之前,Oracle都不会重用这个日志文件。
密码文件
密码文件用于对通过网络完成管理活动的用户进行认证
|