临时表空间故障处理 (33天)

最近测试环境需要把一些现有的存储空间匀出一部分来给新增的环境使用。 unix组的人很快就空间按照指定的比例重新切分好了。环境交给我的时候,我先把数据库起来,没有任何问题,因为需要到处一个创建用户的语句,就简单执行了一个查询。 select dbms_metadata.get_ddl('USER',u.username) from dba_users u WHERE USERNAME in('TEST'); 但是让我意外的,报了如下的错误。 SQL> select dbms_metadata.get_ddl('USER',u.username) from dba_users u WHERE USERNAME in('TEST'); ERROR: ORA-01157: cannot identify/lock data file 201 - see DBWR trace file ORA-01110: data file 201: '/u01/oracle/TEST/oratmp01/temp/temp01.dbf' ORA-06512: at "SYS.DBMS_METADATA", line 4018 ORA-06512: at "SYS.DBMS_METADATA", line 5843 ORA-06512: at line 1 no rows selected 想数据文件被清掉了,先给offline了重新配置一下。 offline不可以,offline drop也不行。 SQL> alter database datafile '/u01/oracle/TEST/oratmp01/temp/temp01.dbf' offline; alter database datafile '/u01/oracle/TEST/oratmp01/temp/temp01.dbf' offline * ERROR at line 1: ORA-01516: nonexistent log file, data file, or temporary file "/u01/oracle/TEST/oratmp01/temp/temp01.dbf" SQL> alter database datafile '/u01/oracle/TEST/oratmp01/temp/temp01.dbf' offline drop; alter database datafile '/u01/oracle/TEST/oratmp01/temp/temp01.dbf' offline drop * ERROR at line 1: ORA-01516: nonexistent log file, data file, or temporary file "/u01/oracle/TEST/oratmp01/temp/temp01.dbf" 我说不能offline,offline drop,有的人说得放在mount状态下执行,我试了也不行。 我直接删除表空间重新建得了,oracle已经开始给我哭穷了,说不能删除默认的临时表空间。 SQL> drop tablespace temp including contents and datafiles; drop tablespace temp including contents and datafiles * ERROR at line 1: ORA-12906: cannot drop default temporary tablespace 那我删除这个临时文件,oracle又说这个临时表空间里只有一个数据文件。 SQL> alter tablespace temp drop tempfile '/u01/oracle/TEST/oratmp01/temp/temp01.dbf'; alter tablespace temp drop tempfile '/u01/oracle/TEST/oratmp01/temp/temp01.dbf' * ERROR at line 1: ORA-03261: the tablespace TEMP has only one file 我还是自己查看下文件夹到底在不在。一查文件夹都被清掉了。 SQL> !ls -l /dbusgsPT1/oracle/PETUSG1/oratmp01/temp ls: /dbusgsPT1/oracle/PETUSG1/oratmp01/temp: No such file or directory 先把文件夹给补上 SQL> !mkdir -p /u01/oracle/TEST/oratmp01/temp 建立一个别名的临时文件,马上见temp01的临时数据文件还不行。 SQL> alter tablespace temp add tempfile '/u01/oracle/TEST/oratmp01/temp/temp02.dbf' size 20G; Tablespace altered. 然后再去删除其实不存在的临时数据文件。从数据字典里进行更新。 SQL> alter tablespace temp drop tempfile '/u01/oracle/TEST/oratmp01/temp/temp01.dbf'; Tablespace altered. 后续就如果需要可以把临时数据文件的名字从temp02.dbf改成temp01.dbf

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2014-04-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏乐沙弥的世界

sqlplus spool 到动态日志文件名

      通过sqlplus的spool功能我们将数据库日常运维的结果输出到日志文件,而有时候则需要定时输出,为避免日志文件名的重复,我们可以将输出的日志文件...

524
来自专栏杨建荣的学习笔记

关于查看dba_data_files的一个小问题(r7笔记第72天)

今天帮一个朋友看一个pl/sql的问题,他已经钻到一个死胡同里列,可能明眼人一看就知道哪里有问题,但是当局者迷,所以我抽空看了一下这个pl/sql块。 pl/s...

3455
来自专栏乐沙弥的世界

Oracle 表空间与数据文件

SYSAUX --->10g 高并发系统繁忙时,会造成system争用,将工具放到SYSAUX,减轻system的压力,SYSAUX不影响系统(影响性能)

795
来自专栏乐沙弥的世界

SQL*Loader使用方法

SQL*Loader由一个输入控制文件来控制整个装载的相关描述信息,一个或多个数据文件作为原始数据,其详细组成结构包括

552
来自专栏杨建荣的学习笔记

关于收缩数据文件的尝试(r5笔记第34天)

在数据库中对于数据文件都是提前规划,不够就加的情况,很少会留意到其实有些数据文件那么大,其实条件允许也是可以收缩收缩的。 这种情况在本地测试环境中尤为突出,本来...

3346
来自专栏jeremy的技术点滴

SSM项目脚手架

2924
来自专栏杨建荣的学习笔记

Oracle中的PUBLIC(r10笔记第14天)

Oracle中的PUBLIC是一种特殊的存在,总是感觉概念比较模糊,我们就简单通过几个测试来理解吧。 首先我们创建一个public的synonym,我们看看这...

2784
来自专栏乐沙弥的世界

Oracle 外部表

外部表只能在Oracle 9i 之后来使用。简单地说,外部表,是指不存在于数据库中的表。通过向Oracle提供描述外部表的元数据,我们

562
来自专栏乐沙弥的世界

SQL 基础--> NEW_VALUE 的使用

usr1@ORCL> define length="15" --定义变量length

643
来自专栏数据库新发现

如何查询redo logfile的使用率

redo logfile的使用,不能通过v$视图查询,但是我们可以通过底层视图得到.

362

扫描关注云+社区