首页 > 其他分享 >删临时文件时报错ORA-01258

删临时文件时报错ORA-01258

时间:2023-05-27 11:32:09浏览次数:52  
标签:TEMP dbf app 01258 orcl oracle 临时文件 u01 ORA

问题描述:删临时文件时报错ORA-01258,如下所示:
数据库:oracle 19.13
系统:rhel 7.9
1、异常重现
SQL> alter tablespace temp drop tempfile '/u01/app/oracle/oradata/orcl/temp01.dbf';
ORA-01258: unable to delete temporary file /u01/app/oracle/oradata/orcl/temp01.dbf

后台日志:
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_60875.trc:
ORA-01122: database file 201 failed verification check
ORA-01110: data file 201: '/u01/app/oracle/oradata/orcl/temp01.dbf'
ORA-01565: error in identifying file '/u01/app/oracle/oradata/orcl/temp01.dbf'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 7
2023-05-25T10:57:11.055790+08:00
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_60875.trc:
ORA-01258: unable to delete temporary file /u01/app/oracle/oradata/orcl/temp01.dbf
2、异常原因
无法获得临时文件temp01.dbf状态.
3、解决方案
--查临时文件.
SQL> select tablespace_name,file_name from dba_temp_files;

TABLESPACE_NAME                FILE_NAME
------------------------------ --------------------------------------------------------------------------------
LOAN_TEMP                      /u01/app/oracle/oradata/orcl/LOAN_TEMP.DBF
TEMP                           /u01/app/oracle/oradata/orcl/temp01.dbf
TEMP                           /u01/app/oracle/oradata/orcl/temp1.dbf

说明:通过如上语句查出临时文件,但在系统层面并未找到temp01.dbf文件.
官方针对ORA-25152描述如下:
ORA-25152: TEMPFILE cannot be dropped at this time
Cause: An attempt was made to drop a TEMPFILE being used by online users
Action: The TEMPFILE has been taken offline. Try again later.

--很大可能临时表空间被占用,查占用临时表空间的会话信息:
SELECT s.sid,
       s.username,
       s.status,
       u.tablespace,
       u.segfile#,
       u.contents,
       u.extents,
       u.blocks
  FROM v$session s, v$sort_usage u
 WHERE s.saddr = u.session_addr
 ORDER BY u.tablespace, u.segfile#, u.segblk#, u.blocks;
 
       SID USERNAME             STATUS   TABLESPACE        SEGFILE# CONTENTS     EXTENTS     BLOCKS
---------- -------------------- -------- --------------- ---------- --------- ---------- ----------
      1184                      ACTIVE   TEMP                   201 TEMPORARY          1        128
       300                      ACTIVE   TEMP                   201 TEMPORARY          1        128
       300                      ACTIVE   TEMP                   201 TEMPORARY          1        128
       327                      ACTIVE   TEMP                   201 TEMPORARY          1        128
       327                      ACTIVE   TEMP                   201 TEMPORARY          1        128
      1437                      ACTIVE   TEMP                   201 TEMPORARY          1        128
      1184                      ACTIVE   TEMP                   201 TEMPORARY          1        128
      1437                      ACTIVE   TEMP                   201 TEMPORARY          2        256

--查具体会话信息
select s."SID", s."SADDR", s."SERIAL#"
  from v$session s
 where s."SID" = '1184';

--kill会话进程
SQL> alter system kill session '1184,10472' immediate;

--将如上会话kill后,便可正常删除临时文件
SQL> alter tablespace temp drop tempfile '/u01/app/oracle/oradata/orcl/temp01.dbf';

Tablespace altered.
参考文档:https://blog.csdn.net/forever_river/article/details/61619769

标签:TEMP,dbf,app,01258,orcl,oracle,临时文件,u01,ORA
From: https://blog.51cto.com/u_12991611/6361634

相关文章

  • 关于oracleJdk连接maven产生ssl验证问题
    问题:failedtotransferfromhttps://repo.maven.apache.org/maven2/duringapreviousattempt这是因为oraclejdk1.8存在ssl验证问题添加以下信息到idea的maven当中即可-Dmaven.wagon.http.ssl.insecure=true-Dmaven.wagon.http.ssl.allowall=true-Dmaven.wagon......
  • 【Shell】Display the ddl for all users in Oracle DB with bash script
     脚本说明:1、普遍用于使用expdp/impdp数据泵进行的数据(全库或者特定schemas)迁移2、适用于无PDB的Oracle环境3、适用于RAC,SI,ADG以及多实例的环境 使用方法:创建脚本为 display_all_users_ddl.sh然后将正文内容贴入并保存,然后执行bash display_all_users_ddl.sh......
  • OneForAll下载安装以及环境配置
    python-3.9.7-amd64OneForAll-masterpython安装以及插件安装首先下载python解压到电脑c盘在c盘中创建一个工具文件夹,然后下载OneForAll-master下载好之后找到安装包点击安装勾选下面两个得点击上面的,上面的是自定义安装出现这个就代表的安装完成了,但是一定要记得文件路径然后下载......
  • 单片机应用之LORA
    一、LORA概览LORA组织.1lora联盟LoRa联盟:LoRaWAN规范的制定组织https://www.lora-alliance.org/LoRa技术白皮书:https://www.lora-alliance.org/portals/0/documents/whitepapers/LoRaWAN101.pdfLoRaWAN规范V1.0:https://www.lora-alliance.org/portals/0/specs/LoRaWANSpec......
  • Oracle
    substr函数:截取字符串语法:SUBSTR(string,start,[length])string:表示源字符串,即要截取的字符串。start:开始位置,从1开始查找。如果start是负数,则从string字符串末尾开始算起。length:可选项,表示截取字符串长度。instr函数:返回子字符串在源字符串中的位置语法:INSTR(string,child_s......
  • LORA温度资产定位标签传感器方案
    公司范围内的可追踪设备包括:牵引车、空中吊运车、皮带式装载机、托盘装载器、铲车以及其他可移动的资产设备,使用基于LoRa进行追踪既可以获取实时位置信息也可以分享状态给区域经理。 使用LoRa资产追踪技术,通过监控收集引擎温度、转速、油压或者充电状态到云端,使用者可以利用手机、......
  • 香橙派 Orange Pi 入局掌机圈
    导读近日,国内开源产品品牌香橙派官方确认,将于国庆节期间推出旗下首款掌机产品。新品搭载AMD6800U/7840U的WIN掌机和RK3588的 Linux 掌机。从放出的掌机渲染图中可以看到,掌机的摇杆和按键采用垂直设计,和AYANEO2非常想象。ABXY布局采用XBOX方案。屏幕7寸。......
  • oracle 包游标使用
    包游标即在包头声明部分定义游标头,即游标的定义,把实现部分留给包体来完成,调用时可以通过包来调用,这样方便共享游标,实际实现功能类似视图。示例包头定义createorreplacepackagemypackageiscursorcur_employee(deptnoinemployee.departmentno%type)return......
  • ORACLE表空间使用量查询SQL
    SELECTUpper(F.TABLESPACE_NAME)AS表空间名,round(D.TOT_GROOTTE_MB/1024,2)AS"总大小(G)",round((D.TOT_GROOTTE_MB-F.TOTAL_BYTES)/1024,2)AS"已使用空间(G)",round(F.TOTAL_BYTES/1024,2)AS"空闲空间(G)",R......
  • 使用DataX从ORACLE同步数据到MYSQL
    [前提]安装python3.7oracle版本:oracle11gmysql版本:mysql5.71.下载DataXwgethttp://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz2.解压DataXtar-zxvfdatax.tar.gz3.编写同步脚本进入dataXbin目录cd${HOME目录}/datax/bin 编写同步脚本vioracleToMysql.json......