Oracle主要文件类型详解

本文详细介绍了Oracle数据库的8种核心文件类型,包括参数文件、跟踪文件、警告文件、数据文件、临时文件、控制文件、重做日志文件和密码文件。参数文件用于数据库初始化,跟踪文件提供调试信息,警告文件记录数据库历史,数据文件存储数据,临时文件用于排序和临时数据,控制文件保存元数据,重做日志文件保障事务恢复,而密码文件则用于网络管理活动的身份验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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都不会重用这个日志文件。

密码文件

密码文件用于对通过网络完成管理活动的用户进行认证

Oracle 主要配置文件介绍:profile文件,oratab 文件,数据库实例初始化文件 initSID.ora,监听配置文件, sqlnet.ora 文件,tnsnames.ora 文件1.2 Oracle 主要配置文件介绍1.2.1 /etc/profile 文件 系统级的环境变量一般在/etc/profile 文件中定义 在 CAMS 系统 与数据库 相关的环境变量就定义在/etc/profile 文件中 如下所示 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/8.1.7 export PATH=$PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib export ORACLE_SID=cams export ORACLE_TERM=vt100 export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data export NLS_LANG=AMERICAN.ZHS16CGB231280 & 说明 1 配置上述环境变量要注意定义的先后顺序 如 定义 ORACLE_HOME 时 用 到 了 ORACLE_BASE 那 么 ORACLE_HOME 的 定 义 应 该 在 ORACLE_BASE之后 2 在使用中文版 CAMS 时 环境变量 NLS_LANG 的值应该设置为 AMERICAN.ZHS16CGB231280 如上所示 在使用英文版 CAMS时 可 以不设置 NLS_LANG 即去掉 export NLS_LANG=... ... 那一行 也可以 设置 NLS_LANG 的值为 AMERICAN_AMERICA.US7ASCII1.2.2 /etc/oratab 文件 /etc/oratab 文件描述目前系统中创建的数据库实例 以及是否通过 dbstart 和 dbshut 来控制该实例的启动与关闭 如下所示 忽略以#开头的注释部分 : cams:/u01/app/oracle/product/8.1.7:Y 其中 cams 为实例 ID /u01/app/oracle/product/8.1.7为 ORACLE_HOME目 录 Y表示允许使用 dbstart和 dbshut 启动和关闭该实例数据库 如果设置为 N 表示不通过 dbstart 和 dbshut 启动和关闭实例数据库 CAMS 系统要求在 安装完 ORACLE 后要求将该参数修改为 Y 以保证 ORACLE 数据库自启动 和关闭 1.2.3 数据库实例初始化文件 initSID.ora 每个数据库实例都有一个初始化 参数文件 其缺省 存放的路径为 $ORACLE_BASE/admin//pfile 其名称为 init.ora 如 cams 实 例 对 应 的 参 数 文 件 为 initcams.ora 缺 省 存 放 路 径 为 $ORACLE_BASE/admin/cams/pfile 即/u01/app/oracle/admin/cams/pfile
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值