oracle入门(2)

oracle文件系统简述

在上一篇讲表空间中说到,在启动实例时,需要加载数据库,而这个数据库是由datafile、redo log file、control file、archive log file、parameter file等一堆文件组成的,那么这些文件分别有什么作用呢?

1、oracle的启动文件
启动文件的位置在$ORACLE_HOME/dbs下,有两个文件init.ora和spfile<inst_name>.ora,inst_name是当前实例名称。
这两个文件定义了启动的参数。init.ora是文本文件,spfile<inst_name>.ora是二进制文件。

注意:spfile<inst_name>.ora不能用文本编辑器修改,打开也不行,可能会造成实例无法启动。需要用alter命令修改。

2、oracle的控制文件
控制文件是*.ctl,10g在/u01/oracle/oradata/<inst_name> 目录下。形如:control01.ctl、control02.ctl、control03.ctl。
11xe版在/u01/app/oracle/oradata/<inst_name> 目录下,但是文件名变为了control.dbf,本质都是数据文件(二进制格式),只是文件后缀不一样。

3、oracle的数据文件
数据文件是*.dbf,10g也在/u01/oracle/oradata/<inst_name> 目录下。在创建表空间时需要指定的数据文件就是.dbf。数据库中的表是存储在数据文件中的。
11xe版在/u01/app/oracle/oradata/<inst_name> 目录下。

4、oracle的其它参数文件
监听程序的参数文件:
10g在
/u01/oracle/product/10.2.0/db_1/network/admin/listener.ora
/u01/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
11xe版在
/u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
/u01/app/oracle/product/11.2.0/xe/network/admin/tnsnames.ora

5、oracle的日志文件
日志文件分三大类:
alert log files 警报日志
trace log files 跟踪日志(用户和进程)
redo log file 重做日志(记录数据库的更改)

5.1 alert日志
记录oracle系统运行的日志,包括系统参数改变,系统出错等。
10g在/u01/oracle/admin/orcl/bdump/alert_orcl.log
11xe版在/u01/app/oracle/diag/rdbms/xe/XE/trace/alert_XE.log

5.2 trace日志
以.trc为后缀的文件,记录了各种sql操作及所消耗的时间等,根据trace文件我们就可以了解哪些sql导致了系统的性能瓶颈,进而采取恰当的方式调优。
10g在/u01/oracle/admin/orcl/udump/目录下
11xe版在/u01/app/oracle/diag/rdbms/xe/XE/trace/目录下

5.3 重做日志文件
重做日志分为
online redo log files 在线重做日志
archive redo log files 归档重做日志

1)在线重做日志
又叫联机重做日志,以sql脚本的形式实时记录对数据库修改的信息,包括用户对数据修改和数据库管理员对数据库结构的修改。

联机重做日志文件是循环使用的。当第一个日志文件达到一定数量时,就会停止写入,而转向第二个日志文件,第二个满转向第三个日志文件。第三个满就向第一个日志文件写入。而第一个日志文件有没有自动备份就涉及到归档或者不归档的问题。当数据库自动对原来的日志文件进行备份的话就叫归档模式,不需要对数据库进行自动备份就叫非归档模式。

在归档模式下,当联机重做日志写满后,则将联机重做日志归档到磁盘,成为归档重做日志。
在非归档模式下,当联机重做日志写满后,则覆盖第一个日志的内容,继续循环写。

10g联机重做日志在/u01/oracle/oradata/orcl/目录下,形如:redo01.log、redo02.log、redo03.log。

2)归档重做日志
简称归档日志,指当条件满足时,Oracle将在线重做日志以文件形式保存到硬盘(持久化)。

其实,所谓的归档,就是指将在线日志进行归档、持久化到成固定的文件到硬盘,便于以后的恢复和查询。

当然,前提条件是数据库要处于归档模式。

归档日志的位置由DB_RECOVERY_FILE_DEST参数定义,默认在flash recovery area的路径。里面存放有归档日志、闪回日志等文件。
10g在/u01/oracle/flash_recovery_area
11xe版在/u01/app/oracle/fast_recovery_area

6、oracle的密码文件
密码文件作用是对数据库特殊用户进行权限认证。
10g在/u01/oracle/product/10.2.0/db_1/dbs/orapw<inst_name>
11xe版在/u01/app/oracle/product/11.2.0/xe/dbs/orapwXE

参考资料:
http://www.2cto.com/database/201210/163456.html
http://www.cnblogs.com/kerrycode/archive/2012/08/09/2631035.html