Oracle中临时文件File#和Db

在v$tempfile与v$sort_usage之关系解析一文中,我们注意到对于临时文件的绝对文件号(AFN),Oracle的分配规则和常规数据文件并不相同。

实际上,临时文件的绝对文件号应该等于db_files + file#。

我们看一下实例:SQL> select indx,tfnum,tfafn,tfcsz
2 from x$kcctf;
INDX   TFNUM   TFAFN   TFCSZ
---------- ---------- ---------- ----------
0     1    201    2560
SQL> show parameter db_files
NAME                 TYPE    VALUE
------------------------------------ ----------- ------
db_files               integer   200
SQL> select file#,name from v$tempfile;
FILE# NAME
--------- -----------------------------------------
1 +ORADG/danaly/tempfile/temp.267.600173887
SQL>

所以在Oracle文档中v$tempfile.file#被定义为The absolute file number是不确切的。经常的,我们可能会在警报日志文件中看到类似如下的错误:

Corrupt block relative dba: 0x00c0008a (file 202, block 138)
Bad header found during buffer read
Data in bad block -
type: 8 format: 2 rdba: 0x0140008a
last change scn: 0x0000.431f8beb seq: 0x1 flg: 0x08
consistency value in tail: 0x8beb0801
check value in block header: 0x0, block checksum disabled
spare1: 0x0, spare2: 0x0, spare3: 0x0

这里的file 202其实指的就是临时文件。

时间: 2025-01-21 07:12:21

Oracle中临时文件File#和Db的相关文章

Oracle中临时文件File#和Db_files关系

在v$tempfile与v$sort_usage之关系解析一文中,我们注意到对于临时文件的绝对文件号(AFN),Oracle的分配规则和常规数据文件并不相同. 实际上,临时文件的绝对文件号应该等于db_files + file#. 我们看一下实例:SQL> select indx,tfnum,tfafn,tfcsz 2 from x$kcctf; INDX TFNUM TFAFN TFCSZ ---------- ---------- ---------- ---------- 0 1 201

Oracle中password file的作用及说明

oracle|word  在数据库没有启动之前,数据库内建用户是无法通过数据库来验证身份的. 口令文件中存放sysdba/sysoper用户的用户名及口令,允许用户通过口令文件验证,在数据库未启动之前登陆,从而启动数据库. 如果没有口令文件,在数据库未启动之前就只能通过操作系统认证. 使用Rman,很多时候需要在nomount,mount等状态对数据库进行处理所以通常要求sysdba权限如果属于本地DBA组,可以通过操作系统认证登陆如果是远程sysdba登陆,需要通过passwordfile认证

Oracle中如何恢复rac db(raw)到单实例下

os:redhat as 4 oracle:oracle10gR2 客户提出了这样一个要求,演示一下rac db到单实例的恢复,他们的目的是检验生产环境的备份有效性 下面是思路和主要步骤: 1.先在rac db下生成一个init参数文件 2.修改参数,cluster_database为false以及屏蔽local_listener等和集群相关的参数 3.通过rman备份rac db(为了简单我使用了catalog) 4.拷贝参数文件和rac db备份到单实例机器上 5.在单实例机器上创建bdum

Oracle中捕获问题SQL解决CPU过渡消耗

oracle|解决|问题 本文通过实际业务系统中调整的一个案例,试图给出一个常见CPU消耗问题的一个诊断方法.大多数情况下,系统的性能问题都是由不良SQL代码引起的,那么作为DBA,怎样发现和解决这些SQL问题就显得尤为重要. 本案例平台为UNIX,所以不可避免的应用了一些Unix下常用的工具.如vmstat,top等. 本文适宜读者范围:中高级. 系统环境: OS: Solaris8 Oracle: 8.1.7.4 问题描述: 开发人员报告系统运行缓慢,已经影响业务系统正常使用.请求协助诊断.

oracle中OBJ4 ORA-8102故障恢复案例

  下面我们一起来看看关于oracle中OBJ4 ORA-8102故障恢复案例,希望本文章可以帮助到各位朋友. 在测试环境中对于OBJ$中i_obj4中出现ORA-8102进行了重新并恢复测试,认为自己已经比较清楚的掌握了I_OBJ4的ORA-8102问题处理,可是实际的一个案例,还是比较比实验中复杂,这里贴出来主要操作供大家参考,再次证明数据库恢复的场景不可大意,客户的故障只有你想不到的,没有遇不到的 通过bbed修改obj$中dataobj$重现I_OBJ4索引报ORA-08102错误 使用

Oracle中常见的33个等待事件小结

在Oracle 10g中的等待事件有872个,11g中等待事件1116个. 我们可以通过v$event_name 视图来查看等待事件的相关信息   一. 等待事件的相关知识 1.1 等待事件主要可以分为两类,即空闲(IDLE)等待事件和非空闲(NON-IDLE)等待事件. 1). 空闲等待事件指ORACLE正等待某种工作,在诊断和优化数据库的时候,不用过多注意这部分事件. 2). 非空闲等待事件专门针对ORACLE的活动,指数据库任务或应用运行过程中发生的等待,这些等待事件 是在调整数据库的时候

oracle中12C sysaux 异常恢复—ORA-01190错误恢复

有朋友请求支援,他们数据库由于file 3 大量坏块,然后直接使用rman 备份还原了file 3,但是在recover过程中发现归档丢失,而且整个库在丢失归档的scn之后,还做过resetlogs操作,导致现在整个库无法正常启动,报ORA-01190错误,希望帮忙把file 3 给online起来,整个库正常open[当然在丢失sysaux的情况下,数据库可以open起来,但是这种情况下,迁移数据比较麻烦] SQL> startup; ORACLE 例程已经启动.   Total System

在ORACLE中移动数据库文件

在ORACLE中移动数据库文件 ---- ORACLE数据库由数据文件,控制文件和联机日志文件三种文件组成.由于磁盘空间的变化,或者基于数据库磁盘I/O性能的调整等,数据库管理员可能会考虑移动数据库文件.下面以UNIX平台为例,分别讨论三种数据库文件的移动方法. ---- 一.移动数据文件: ---- 可以用ALTER DATABASE,ALTER TABLESPACE两种方法移动数据文件. ---- 1. ALTER DATABASE方法: ---- 用此方法,可以移动任何表空间的数据文件.

Oracle中v$session和v$process的使用方法

查看当前session的sid和serial#: SYS@ORCL>select sid,serial#,status from v$session where sid=userenv('sid');     SID    SERIAL# STATUS ---------- ---------- --------      89          3 ACTIVE 查看当前session对应的spid: SYS@ORCL>select spid from v$process p, v$sess