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/
ls
rm -f temp01.dbf

然后重新登陆到数据库,startup,并观察Alert日志,Alert日志可通过show parameter dump命令获取

cd u01/oracle/diag/rdbms/orcl/orcl/trace
tail -200f alert_orcl.log

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

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

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

还有一种情况,考虑到生产环境,数据库需要7*24小时的运转,假如说运行过程中temp数据文件出问题,而该问题又没有导致数据库异常关闭的情况下,该如何修复? 值得注意的是,temp表有排序的功能。
由于实验过程不好模拟,我们需要执行的操作就是丢一个temp02.dbf的数据文件给临时表空间,然后去掉temp01.dbf的数据文件就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值