oracle丢失temp表空间的处理方法

2023-05-15 0 541

之前有做临时表空间的切换,切换后没drop tablespace就删除了temp01.dbf结果排序跟查dba_temp_files报错

SQL> select tablespace_name,file_id,file_name,bytes/1024/1024 Mbytes from dba_temp_files;select tablespace_name,file_id,file_name,bytes/1024/1024 Mbytes from dba_temp_files *ERROR at line 1:ORA-01116: error in opening database file 201ORA-01110: data file 201: \’/home/oracle/oradata/osa/temp01.dbf\’ORA-27041: unable to open fileLinux-x86_64 Error: 2: No such file or directoryAdditional information: 3

两种方法可以恢复

1、重启数据库

重启后系统会自动重建,数据库会提示re-creating在bdump的alter_sid.log中

Re-creating tempfile /home/oracle/oradata/osa/temp01.db

2、重建

alter tablespace temp add tempfile '/oracle/oradata/osa/temp03.dbf' size 50m;alter tablespace temp drop tempfile '/oracle/oradata/osa/temp01.dbf' ;

Oracle 11g的Temp表空间怎么恢复?

答案是系统会自动重建;

实验如下:

我们先查看Temp表空间对应的数据文件

SQL> select FILE_NAME,TABLESPACE_NAME,STATUS from dba_temp_files;FILE_NAME TABLESPACE_NAME STATUS—————————————- —————————————————————————————— ———————/u01/oracle/oradata/orcl/temp01.dbf TEMP ONLINE

然后登陆到sys用户下,shutdown immediate

在文件系统层面去删除该数据文件

cd /u01/oracle/oradata/orcl/lsrm -f temp01.dbf

启动过程中,可观察到Alert日志中出现如下语句

Re-creating tempfile /u01/oracle/oradata/orcl/temp01.dbf

然后Oracle正常启动,查看文件系统,又多了temp01.dbf实验结束。

还有一种情况,考虑到生产环境,数据库需要7*24小时的运转,假如说运行过程中temp数据文件出问题,而该问题又没有导致数据库异常关闭的情况下,该如何修复? 值得注意的是,temp表有排序的功能。

由于实验过程不好模拟,我们需要执行的操作就是丢一个temp02.dbf的数据文件给临时表空间,然后去掉temp01.dbf的数据文件就可以了。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 oracle数据库 oracle丢失temp表空间的处理方法 https://www.u-9.cn/sql/oracle/20569.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务

  • 0 +

    访问总数

  • 0 +

    会员总数

  • 0 +

    文章总数

  • 0 +

    今日发布

  • 0 +

    本周发布

  • 0 +

    运行天数

注册会员,众多资源免费下载