oracle数据文件信息

select * from v$datafile;--查看数据文件信息
select * from v$controlfile;--查看控制文件信息

一.控制文件(Control Files)

1.控制文件的作用
 
控 制文件在Oracle数据库中扮演着很重要的角色,没有控制文件(或者控制文件损坏了),运行着的实例立即崩溃,关闭着的死活打不开,你以为你是谁,可以 说,控制文件一旦损坏,数据库必然down了。Oracle数据库实例启动过程中,当启动到unmount时,此时只是在内存中为Oracle实例分配了 实例空间,然后如果继续要启动到mount状态,这个时候控制文件就闪亮登场了,因为Oracle要依据控制文件找到数据文件跟重做日志文件的路径,确定 找到了再进去mount状态,至于打开数据库就是确定这些文件都一致,没有问题的话就能打开了。
 
2.控制文件包括了哪些重要内容
 
控制文件包括了很多重要的信息,比如数据库的数据文件、重做日志文件、数据库的名称、数据库创建信息、表空间信息、数据文件的状态、日志文件信息、备份信息、检查点信息等
 
3.控制文件的性质
 
控 制文件是一个2进制文件,不可以直接通过文本编辑器进行编写,这个文件由Oracle自己进行维护,Oracle建议控制文件至少有两份冗余,并且放在不 同的磁盘中,这样能够避免一个磁盘的损坏,造成整个控制文件都丢失的情况,因为他还有一个兄弟健在,尽管一个坏了,数据库还是得down,但是有一个在的 话,至少我恢复起来要快不少。
 
4.查看控制文件

SQL> show parameter control_files;

SQL> desc v$controlfile;

SQL> col name for a30
SQL> select * from v$controlfile;

 

默认控制文件的块大小为16K

 

二.数据文件(Data Files)
1.数据文件的作用
数 据文件当然是用来存储实际数据的啦,数据文件是存储数据的物理概念,我们还有一个更大的逻辑概念,叫做表空间,表空间跟数据文件又是一个什么样的关系呢? 简单的说就是一个表空间至少包含可一个数据文件,创建数据库对象的时候指定的是使用的表空间,所以就不难理解为什么一个对象(比如一张大表)可以跨越多个 数据文件了。
2.数据文件的状态
表 空间可以置为offline、online、readonly、readwrite,数据文件也可以置为offline、online,不过这也是有限制 的,比如你不可以把system表空间offline,你当然也不能把system表空间的数据文件offline,如果连system表空间的数据文件 都不工作了,那大家都可以一边玩去了。
3.查看数据文件的信息

SQL> col name for a30
SQL> select file#,name,status from v$datafile;

4.修改数据文件的状态
两种方式:
比如我现在要把上面查到的用红色标记了的数据文件offline
SQL>alter database datafile '/data1/dbf/gdyx05.dbf' offline;
也可以直接指定文件号  alter database datafile 6 offline;
 
Oracle安装在了d盘根目录下。在 d:\Oracle 下,有三个文件夹:

我们从后往前倒着来讲:

(1)oradata:打开这个文件夹,里面是一个以数据库名(而不是实例名)命名的文件夹,我们喜欢将其命名为“orcl”。把orcl打开,看到的文件就是Oracle数据库的大部分内容了,也是DBA需要管理的东西。这些文件可以分成三类:

  • *.ctl:控制文件 (至少一个,一般是三个)
  • *.dbf:数据文件(分为系统数据文件和用户数据文件)
  • *.log:在线重做日志文件(至少两个,默认安装是三个,Oracle9i 下为 100M 大小)

我们在后继课程中会详细讲述这些文件的特性和用处。
----------------------------------------------------------------------------------------------------
NOTE:如果想使用 dbca 安装第二个数据库 orcl2,那么我们应该在 oradata 下建立文件夹“orcl2”,然后将orcl2 的数据文件、控制文件、在线重做日志文件都放在文件夹“orcl2”下。这不是必须的,但这样去做,你以后会发现管理起来特别方便。
----------------------------------------------------------------------------------------------------

(2)admin:打开这个文件夹,我们同样会看到一个以数据库名命名的文件夹,也许就是orcl。我们再把它打开,会出现如下五个文件夹:

  • bdump:后台进程(background process)dump文件。包括dbwr、lgwr、arch、pmon、qmn、smon等后台进程dump文件,以及警告日志文件:alter_.log 。我们要记住的,就是警告日志文件!当数据库发生错误的时候,我们第一步要检查的就是这个文件。该文件记录了自数据库安装以来的所有结构变动记录,错误记录,以及日志切换和归档记录。
  • cdump:核心(core)dump文件。当数据库出现内部错误的时候,会将部分错误信息记录在这个文件中。
  • create不详。
  • pfile不详(不过这个pfile不是数据库启动时调用的PFILE)。
  • udump:用户(user)dump文件。比如,我使用命令: alter system dump datafile 11 block 257; 将11号文件的257号数据块dump出来了,那么dump文件就自动放在了该目录下。

注意:我们必须记住的,是 bdump 下的警告日志文件,以及 udump 文件夹!

-----------------------------------------------------------------------------------------------------
NOTE: 对于 udump,可以再多了解一些:这些路径,是由参数控制的

 

SQL> show parameter dump

NAME                                 TYPE        VALUE
------------------------------------ ----------- -------------------------
background_core_dump                 string      partial
background_dump_dest                 string      D:\Oracle\admin\orcl\bdump
core_dump_dest                       string      D:\Oracle\admin\orcl\cdump
max_dump_file_size                   string      UNLIMITED
shadow_core_dump                     string      partial
user_dump_dest                       string      D:\Oracle\admin\orcl\udump

而我们手工 dump 出来的文件,可以通过如下 sql找到文件的位置:

 

select p.value||'\'||i.instance_name||'_ora_'||p.spid||'.trc' trace_path
from v$process p, v$instance i, v$parameter p
where p.addr = (
select paddr from v$session
where sid = ( select sid from v$mystat where rownum = 1)
)
and p.name='user_dump_dest';

-----------------------------------------------------------------------------------------------------

(3)ora92:只剩下这个文件夹了。可是我们打开后,会发现里面有很多的文件夹。而随便打开一个,里面会有更多的文件夹。很多内容我也不懂,所以放在最后介绍了,呵呵。

这里面有很多东西是属于 Oracle 软件的,我们只讲述与数据库有关的内容。

  • admin:和(2)中的“admin”文件夹格局类似,是一个模板,用于手工创建数据库。
  • bin:管理Oracle的命令。我们常用的 dbca、exp、imp、sqlplus、sqlplusw、tnsping、tnslsnr 等命令就放这里。这也是为什么我们必须在环境变量的“path”中,指定这个路径的原因。
  • database:这里有三个重要的文件:密码文件、PFILE、SPFILE。密码文件的命名格式为“pwd.ora”,SPFILE的命名格式为“spfile.ora”,PFILE 的命名格式为“init.ora”。在 5.2 小节中我们会介绍一点 pfile 和spfile 的用处。至于密码文件,我们可以通过 Oracle 提供的操作系统级的命令“orapwd”来查看其用法。
  • rdbms:存放了Oracle提供的数据库管理的很多脚本。可被 Oracle 某些功能自动调用,或由我们手工执行。
  • network:网络配置文件。我们看里面的“admin”文件夹,有两个文件我们应该比较熟悉:tnsname.ora、listener.ora。不熟悉?那好,我们看看下面这个菜单:

我们安装上数据库后,会在这里配置服务名,来连接到服务器上开发程序。所配置的服务名信息,就保存到 tnsname.ora 文件中。我们也可以不使用上述菜单,而直接在 tnsname.ora 文件中配置服务名。

至于 listener.ora,是监听配置文件。在这个菜单所提供的界面中,也能看到。比如我的机器是 C,现在我要连接到服务器 S 上,那么我在 C 的 tnsname.ora 文件中配置连接到 S 的服务名“cs”;而 S 上的 listener.ora 文件中配置了相应的监听,并已经启动。那么当 C 用“cs”试图连接 S 时,S 的监听就捕捉到了该信息,并转发给相应的 Oracle 服务进程。

 

Oracle的文件系统
 
Oracle的文件结构图如下:
 
 
Oracle的文件系统主要分成以下的四大块:
 
  1>   控制文件(.CTL)
 
  2>   数据文件(.DBF)
 
  3>   日志文件(.LOG)
 
  4>   其他文件  www.2cto.com  
 
  前三种文件系是Oracle文件系统的主要组成部分,一般在以下路径可以找到:
 
  $ORACLE_HOME$\oradata\orcl
 
    .CTL文件为控制文件
 
    .DBF 文件为数据文件
 
    .LOG 文件为日志文件
 
  除了前三种文件还有一种参数文件,参数文件不是数据库系统中的有效组成部分,在启动数据库时,参数文件不直接参与工作,只是控制文件是由参数文件寻找的。参数文件位置:
 
  $ORACLE_HOME$\admin\orcl\pfile
 
1.1   数据文件
 
  真正存储数据库中的数据,包括表,索引,试图等
 
  通常情况下数据文件的后缀名都是.DBF,但这只是约定俗成的一种做法,实际上数据库并不要求数据文件以.DBF为后缀,只是便于区分,建议建立数据文件的时候都加上。
 
  查看所有数据文件的文件号、状态和文件名
 
    SQL> select  *  from v$datafile;
 
1.2   日志文件  www.2cto.com  
 
  分三大类:
 
    alert log files        --警报日志
 
    trace log files       --跟踪日志 (用户和进程)
 
    redo log file         --重做日志(记录数据库的更改)。
 
1.2.1       重做日志文件
 
  重做日志的简单原理:在数据更新操作commit前,将更改的SQL脚本写入重做日志。主要用于数据库的增量备份和增量恢复。重做日志直接对应于硬盘的重做日志文件(有在线和归档二种),重做日志文件以组(Group)的形式组织,一个重做日志组包含一个或者多个日志文件
 
  重做日志分为
 
    在线重做日志      -- online Redo log files
    归档重做日志      -- archive Redo log files
 
1.2.1   在线重做日志(online Redo log files)
 
   又称联机重做日志,指Oracle以SQL脚本的形式实时记录数据库的数据更新,换句话说,实时保存已执行的SQL脚本到在线日志文件中(按特定的格式)。
  www.2cto.com  
   在线重做日志的原理:
 
      对于在线重做日志,Oracle 11g默认对于每个数据库实例,建立3个在线日志组,每组一个日志文件,文件名称为REDO01.LOG,REDO02.LOG和REDO03.LOG。(用户可以通过视图操作添加/修改/删除日志组和日志文件来自定义在线重做日志)每组内的日志文件的内容完全相同,且保存在不同的位置,用于磁盘日志镜像,以做多次备份提高安全性。默认情况这3组通常只有一组处于活动状态,不断地同步写入已操作的脚本,当日志文件写满时(达到指定的空间配额),如果当前数据库处于归档模式,则将在线日志归档到硬盘,成为归档日志;若当前数据库处于非归档模式,则不进行归档操作,而当前在线日志的内容会被下一次重新写入覆盖而无法保存。因此,通常数据库在运行时,是处于归档模式下的,以保存数据更新的日志。

当前归档日志组写满后,Oracle会切换到下一日志组,继续写入,就这样循环切换;当处于归档模式下,切换至原已写满的日志组,若该日志组归档完毕则覆盖写入,若没有则只能使用日志缓冲区,等待归档完毕之后才能覆盖写入。当然,处于非归档模式下是直接覆盖写入的。(关于数据库归档模式的设置,我会在另外的博文中讲到)。Oracle提供了2个视图用于维护在线重做日志:V$LOG 和  V$LOGFILE,我们可以通过这两个视图查看和修改在线日志。当然,还可以通过ALTER DATABASE ADD 、delete等命令增加/修改/删除在线日志或日志组.
 
1.2.2  Archive Redo log files--归档重做日志
 
  简称归档日志,指当条件满足时,Oracle将在线重做日志以文件形式保存到硬盘(持久化)。
 
  其实,所谓的归档,就是指将在线日志进行归档、持久化到成固定的文件到硬盘,便于以后的恢复和查询。
 
  当然,前提条件是数据库要处于归档模式。Oracle 11g 默认是为归档日志设定2个归档位置,这2个归档位置的的归档日志的内容完全一致,但文件名不同。
 
1.2.3  常见的日志文件操作  www.2cto.com  
 
  查询系统使用的是哪一组日志文件:
 
     select * from v$log;
 
  查询正在使用的组所对应的日志文件:
 
     select * from v$logfile;
 
  强制日志切换:
 
     alter system switch logfile;
 
  查询历史日志:
 
     select * from v$log_history;
 
  查询日志的归档模式:
 
     select dbid,name,created,log_mode from v$database;
 
  查询归档日志的信息:
 
     select recid,stamp,thread#,sequence#,name from v$archived_log;
 
  增加与删除日志文件组
 
     alter database add logfile group 1 ('c:\log1a.log'), size 100M;
 
     alter database drop logfile group 1;
 
  增加与删除日志成员  www.2cto.com  
 
     alter database add logfile member 'log1a.log' to group 1;
 
     alter database drop logfile member ' c:\log1a.log' ;
 
  日志文件移动
 
     alter database rename file 'C:\log1a.log' to 'C:\ log1b.log';
 
     注意:执行该命令之前必须保证该日志文件物理上已经移动到新目录
 
  清除日志文件
 
     alter database clear logfile C:\log1a.log';
 
     注意:该命令用于不能用删除组及组成员命令删除日志时使用
 
1.3       控制文件
 
     控制文件是定义当前数据库物理状态的二进制文件,每个oracle数据库至少有一个控制文件。控制文件由DBA管理维护  www.2cto.com  
 
1.3.1   其特性为
 
  1)控制文件若丢失需要恢复
 
  2)在MOUNT状态可以读取
 
  3)数据库运行期间控制文件不断地被更新
 
  4)每个控制文件都只关联一个数据库
 
  5)应该被多元化
 
  6)维护数据库实体
 
  7)由CREATE DATABASE语句初始化大小
 
1.3.2  控制文件包含主要内容
 
  1)数据库名及数据库唯一标识
 
  2)数据文件和日志文件标识
 
  3)数据库恢复所需的同步信息,即检查点号
 
  4)数据库创建时间
 
  5)表空间名
 
  6)当前重做日志文件SCN
 
  7)回滚段的开始和结束
 
  8)重做日志归档信息
 
  9)备份信息
 
1.3.1  控制文件的常用操作
 
  对oracle控制文件的管理主要包括:
 
    1> 控制文件的备份  www.2cto.com  
 
    2> 控制文件的移动
 
    3> 控制文件的重建
 
    4> 控制文件的修改(重命名数据库)
 
1.3.1.1    备份控制文件
 
  有三种方法:
 
    创建备份控制文件                    alter database backup controlfile to 'C:\controlfile01.ctl';
 
    通过创建跟踪文件来创建           alter database backup controlfile to trace;
 
    rman配置自动备份控制文件       configure controlfile autobackup on;
 
1.3.2.2  移动控制文件
 
  确定移动的位置;
 
  启动数据库实例,startup mount或startup;
 
  若用的是PFILE则修改控制文件的路径;若用的是SPFILE

 

一、数据库文件类型
与实例相关联的文件:
1 、参数文件:这些文件告诉Oracle实例在哪里寻找控制文件。例如,某个内存结构有多大等等。
组成数据库的文件:
2、数据文件:用于数据库(这些文件存储包含表、索引以及其他的部分的信息及数据)。
3、重做日志文件:记录事务日志
4、控制文件:它告诉我们这些数据文件存放在什么地方,以及其他关于其状态的信息。
5、临时文件:用于磁盘上的分类和临时的存储。
6、密码文件:用于在网络上执行管理活动的用户进行身份验证。
二、参数文件
1、数据库的参数文件通常称为init文件,或init.ora文件。这是因为它的默认名是init<ORACLE_SID>.ora。如果 没有参数文件,你就不能启动数据库。这使它成为相当重要的文件。然而,由于它是一个纯文本文件,可以由任何一个文本编辑器创建,所以它不是必须特别注意的 文件。参数文件的作用至少是获取数据库的名字,以及控制文件的位置。控制文件告诉Oracle其他每个文件的位置。所以它对启动数据库实例是非常重要的。
2、在通常的配置文件中,有许多其他的配置设置。参数的数量和名称随着版本的不同而不同。例如:在Oracle8.1.5中,有一个参数文件是 plsql_load_without_compile。在此之前的版本中则没有,在此之后的版本中也没有。在版本8.1.5、版本8.1.6以及版本 8.1.7数据库中,分别有199、201、203个不同的参数,可以分别进行配置。在Oracle提供的个版本的Reference手册中,详细回顾了 每一个已记录的参数。
3、除了已记录的参数,还有在文档资料中没有记录的参数。区分出已记录的参数和没有记录的参数。没有记录的参数以下划线开始。这些参数并不被人所熟知,基 本上没有被使用。实际上大部分不被记录的参数更烦人,它们代表着不被接受的功能和向后兼容性标志。在配置文件中没有理由使用那些没有被记录的参数。许多这 样的参数有毁坏性的副作用。一般使用的没有记录的参数【_TRACE_FILES_PUBLIC=TRUE】,这使得所有开发人员都可读跟踪文件。而不是 只有DBA用户可以读。
4、参数文件不是必须在某个特殊位置的。启动一个数据库实例时,可以使用startup pfile=filename。当你想观察在不同设置下的影响时,而在数据库上尝试不同的init.ora参数时,这最为有用。
三、数据文件
1、每个数据库至少有一个与之相关的数据文件。其实除了最简单的“测试”数据库会只有一个数据文件以外,任何一个真正的数据库至少有两个文件(一个是“系 统(SYSTEM)”数据文件,一个是“用户(USER) ”数据文件)。为了理解ORACLE是如何组织这些文件以及数据在它们内部是如何组织的,必须先理解什么是表空间(Tablespace)、段 (Segment)、盘区(Extent)、块(Block)。这些都是Oracle用于保存数据库对象的分配单元。

四、临时文件
Oracle中的临时数据文件是一个特殊的数据文件类型。当内存不足以在RAM中保存一个大规模排序操作的中间结果或结果集时,Oracle将使用临时文 件来存储它们。永久数据对象,如表或一个索引,是不会存储到临时文件中的,但临时表或临时索引的内容则可能存储到临时文件中。所以,不能在临时文件中创建 自己的应用程序表,但可以使用临时表存储临时数据。临时文件从不生成重做日志,但生成撤销日志,当用于全局临时表时,如果准备回滚一些事务,就可以在自己 的会话中完成。
五、控制文件
控制文件是一个相当小的文件(最大为64MB),它包含Oracle需要的其他文件的目录或路径。参数文件告诉我们控制文件的位置,而控制文件则把数据库 和联机重做日志文件的位置告诉实例。控制文件也给Oracle提供其他信息,例如关于已经发生的检查点的信息、数据库的名称、数据库创建时的时间戳、归档 重做日志历史等等。控制文件应该由硬件或Oracle(RAID)当RAID或镜像不可用时多路服用的,且应该分别保存在分开的磁盘上,以避免万一出现磁 盘故障时造成控制文件丢失。
六、重做日志文件
1、重做日志文件对Oracle数据库是至关重要的,它们是数据库的事务日志,仅在数据库恢复时使用(它们的唯一作用就是在实例或介质失败时使用,或作为 维护用于数据库故障恢复的后备数据库的方法)。如果关掉数据库所在机器的电源,造成实例失败,Oracle将使用联机重做日志,以将数据库恢复到电源停止 之前的那一刹那。如果包含数据文件的磁盘驱动器发生永久性故障,Oracle数据库将使用归档重做日志,与使用联机重做日志一样,将驱动器的备份及时恢复 到那一时间点。另外,如果“意外地”丢失了一个表,或删除了一些关键信息,并提交了操作,可以通过这些联机和备份的重做日志来恢复备份,并使Oracle 立即将它恢复到事故发生前的时刻。
2、事实上,在Oracle执行的每一个操作都生成一定数量的重做日志,它们被写入联机重做日志中。一些操作可能以生成尽可能少的重做日志的方式来执行。例如,可以用NOLOGGING属性创建一个索引。这意味着日志中将不记录那个索引的初始创建。
联机重做日志:
1、每一个Oracle数据库至少有两个联机重做日志文件,这些联机重做日志文件在大小上是固定的,并以循环的方式使用。重做日志首先写入日志文件1,当 日志文件写到末尾时,切换至日志文件2,以此类推,直到写到最后一个日志文件,当最后一个日志文件写到末尾时,将自动切换回日志文件1。
2、从一个日志文件切换到另一个日志文件的动作称为日志切换。日志切换可能在一个优化效果不是很好的数据库中引起临时的“挂起”。因为重做日志是用来在操 作失败时进行恢复处理用的,必须保证在重用之前,不需要在失败时重做日志的内容。如果Oracle不确定它需要一个日志文件的内容,它将暂时悬挂数据库的 操作,并保证这个重做所“保护”的数据在磁盘上本身是安全的。一旦此事确定,将重新开始处理,重做日志将被重用。
3、数据库缓冲区高速缓存是数据库临时存储数据的地方。这是Oracle的SGA的结构。缓冲区高速缓存是第一个也是最重要的性能优化设备,它单独存在,以便使非常慢的I/O进程显得更快一些。只要高速缓存了修改的块,且没有写到磁盘上,就不能使用那个重做日志文件。
4、检查点是从缓冲区高速缓存到磁盘上脏(被修改过的)块的刷新。DBWn是Oracle的后台进程,负责在缓冲区高速缓存溢出的时候创造空间,更重要的 是执行检查点。Oracle在后台做这件事,许多操作会导致检查点的发生,最通常的事情就是重做日志切换。当填满日志文件1,并切换到日志文件2 时,Oracle初始化了一个检查点。在这时,启动DBWn,将由日志文件1保护的所有修改块刷新到磁盘上。在DBWn将那个日志文件保护的所有块刷新之 前,Oracle 不能重用它。如果在DBWn完成检查点之前试图使用它,将获得如下信息:
                ...
                Thread I cannot allocate new log,sequence 66 
                Checkpoint not complete 
                  Current log#2 seq#65 mem# 0:C:\ORACLE\ORADATA\TKYTE816\REDO02.LOG
                ...
在数据库中,有报警(ALERT)日志(报警日志是服务器上的一个文件,它包含来自服务器的丰富消息,如启动和关闭消息和异常事件,如未完成的检查点)。 所以,在此时,当此消息出现时,在数据库中的处理被悬挂,这时DBWn在匆忙地完成它的检查点。Oracle尽其所能地给DBWn提供全部处理能力,以期 在那时它可以更快地完成。
5、这时一个在优化得很好的数据库实例中不会看到的信息。如果确实看到了这样的消息,那么就为最终客户引入了人为是、不必要的等待。这时可以避免的。方法 是只要分配足够多的联机重做日志文件,以便于不会在检查点完成初始化之前试图重用日志文件。如果这个消息频繁出现,这意味着DBA还没有为应用程序分配足 够的联机重做日志,或者需要对DBWn优化得更有效。
6、不同的应用程序将生产不同数量的重做日志。DSS(决策支持系统,Decision Support System)将自然地生成重要的联机重做日志,但它比OLTP(事务处理 Transcation Processing)系统生成得少。数据库中二进制大对象(Binary Large Object,BLOB)中进行很多图像操作的系统,与简单的订单输入系统相比,可以生成多得多的重做日志。
7、在设置联机重做日志的大小和数量的时候,必须考虑各种因素,如下:
(1)备用数据库,如果你正在使用备用数据库特性,在此重做日志在它们填满以后发送到另一台机器,并应用到数据库的一个副本上, 你最有可能想要许多小的重做日志文件。这将有助于保证备用数据库与主服务器的异步不会太明显。
(2)许多用户修改相同的块,这里你可能想要大的重做日志文件。因为每个人都在修改相同是块,那么希望在将他们写入磁盘之前,尽可能多的更新它们。每一个日志切换将触发一个检查点,所以希望日志切换不要太频繁。
(3)恢复的平均时间,如果必须保证恢复需要尽可能少的时间。那么可能需要较小的重做日志文件。在恢复上,处理一个或两个小的重做日志文件所花费的时间比处理一个巨大的重做日志文件所花费的时间少。
归档重做日志
Oracle数据库可以在两种模式之中的一种下运行-----非归档模式和归档模式。如果不用归档模式的话,系统不会是一个实用系统。非归档模式的数据库 迟早将在某一天丢失数据,这是不可避免的。如果不使用归档模式的话,必将丢失数据。只有测试系统或开发系统才可以运行在非归档模式下。这两种模式之间的区 别就是Oracle在重用重做日志文件时,对其做了哪些工作。在包含着有价值数据的系统上,必须使用归档模式。

 

 

Oracle数据库中的文件实在太多了,下面就为您分类整理一些常见的Oracle文件,供您参考学习之用:

 

版本:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0  

 

一般来讲,Oracle文件分以下几个类型:

 

数据文件:真实数据
重做日志文件:联机日志、归档日志
控制文件:包含物理文件到数据字典中的逻辑表空间之间的映射
初始化参数文件: 控制内存
警告和追踪日志文件:
备份文件:

 

C:\oracle\product\10.2.0\db_3\srvm\admin\init.ora --初始化参数文件
C:\oracle\product\10.2.0\admin\orcl\bdump\alert_orcl.LOG --警告日志文件(报警文件包括了数据库日常操作的信息,它存放在由BACKGROUND_DUMP_DEST参数所定义的目录下。该文件得有数据库管理 员来管理。作为一合格的DBA应该每天都要查看报警文件以获取数据库的诊断或出错信息。 报警文件中主要记录了:A数据库启动和关闭的时间。B所有非默认初始化参数。C LGWR正在写的日志序列号 D 日志切换信息 E 所执行的ALTER语句 F 创建表空间和还原段等)

 

C:\oracle\product\10.2.0\admin\orcl\udump\orcl_ora_2828.TRC 用户追踪文件

 

C:\oracle\product\10.2.0\oradata\orcl\SYSTEM01.DBF --表空间数据文件
C:\oracle\product\10.2.0\oradata\orcl\SYSAUX01.DBF
C:\oracle\product\10.2.0\oradata\orcl\USERS01.DBF  
C:\oracle\product\10.2.0\oradata\orcl\TEMP01.DBF
C:\oracle\product\10.2.0\oradata\orcl\UNDOTBS01.DBF

 

C:\oracle\product\10.2.0\oradata\orcl\CONTROL01.CTL --控制文件
C:\oracle\product\10.2.0\oradata\orcl\CONTROL02.CTL
C:\oracle\product\10.2.0\oradata\orcl\CONTROL03.CTL

 

C:\oracle\product\10.2.0\oradata\orcl\REDO01.LOG--联机日志文件
C:\oracle\product\10.2.0\oradata\orcl\REDO02.LOG
C:\oracle\product\10.2.0\oradata\orcl\REDO03.LOG

 

C:\oracle\ora92\ldap\odi\archive\ORADB2T001S01100.ARC --归档日志文件
...
C:\oracle\ora92\ldap\odi\archive\ORADB2T001S01199.ARC

 

C:\oracle\product\10.2.0\db_3\database\initorcl.ora --启动参数文件
C:\oracle\product\10.2.0\db_3\database\oradim.log --SVRMGRL管理器出错日志

 

C:\oracle\product\10.2.0\db_3\NETWORK\log\listener.log--监听器日志文件
C:\oracle\product\10.2.0\db_3\NETWORK\log\sqlnet.log --Sql*Net 日志文件
C:\oracle\product\10.2.0\db_3\NETWORK\ADMIN\tnsnames.ora --TNS 连接文件(数据库别名)
C:\oracle\product\10.2.0\db_3\NETWORK\ADMIN\sqlnet.ora--Sql*Net 环境文件
C:\oracle\product\10.2.0\db_3\NETWORK\ADMIN\listener.ora --监听器参数文件

 

C:\oracle\product\10.2.0\db_3\sqlplus\admin\glogin.sql--Sql*Plus登录自动执行脚本
C:\oracle\product\10.2.0\db_3\sqlplus\bin\sqlplus.ini  --Sql*Plus环境初始化文件

 

C:\oracle\product\10.2.0\db_3\RDBMS\ADMIN\standard.sql--建立数据库基本结构的包
C:\oracle\product\10.2.0\db_3\RDBMS\ADMIN\catalog.sql --建立数据字典视图脚本,以SYS、INTERNAL连接
C:\oracle\product\10.2.0\db_3\RDBMS\ADMIN\catexp.sql --建立EXP/IMP用数据字典视图
C:\oracle\product\10.2.0\db_3\RDBMS\ADMIN\catexp7.sql --使v7版本的EXP文件可以导入到v8中
C:\oracle\product\10.2.0\db_3\RDBMS\ADMIN\catdbsyn.sql--建立DBA私有数据字典视图
C:\oracle\product\10.2.0\db_3\RDBMS\ADMIN\cataudit.sql--建立审计用数据字典视图
C:\oracle\product\10.2.0\db_3\RDBMS\ADMIN\catsnap.sql --建立快照数据字典视图,以SYS、INTERNAL连接
C:\oracle\product\10.2.0\db_3\RDBMS\ADMIN\SCOTT.SQL  --生成SCOTT用户及其用户数据

C:\oracle\ora92\sqlplus\admin\pupbld.sql --新建一个数据库之后需要执行的脚本