临时表空间故障处理 (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 条评论
登录 后参与评论

相关文章

来自专栏码云1024

sql 复习练习

3566
来自专栏三丰SanFeng

Linux进程间通信(四) - 共享内存

共享内存的优势 采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用...

2115
来自专栏CaiRui

flask + pymysql操作Mysql数据库

安装flask-sqlalchemy、pymysql模块 pip install flask-sqlalchemy pymysql  ### Flask-SQL...

3879
来自专栏散尽浮华

Python3出现“No module named 'MySQLdb'“问题-以及使用PyMySQL连接数据库

Python3 与 Django 连接数据库,出现了报错:Error loading MySQLdb module: No module named 'MySQ...

852
来自专栏程序猿

SQL 注入语句特征

语句特征 1.判断有无注入点 ; and 1=1 and 1=2 2.猜表一般的表的名称无非是admin adminuser user pass passwor...

37311
来自专栏数据和云

返璞归真:如何判断一个初始化参数是否来自默认设置

? 杨廷琨(yangtingkun) 云和恩墨 CTO 高级咨询顾问,Oracle ACE 总监,ITPUB Oracle 数据库管理版版主 Oracle初...

2607
来自专栏程序猿

Mssql高级注入笔记

暴库特殊技巧::%5c='\' 或者把/和\ 修改%5提交 and 0<>(select count(*) from master.dbo.sysdatabas...

3537
来自专栏友弟技术工作室

Beego Models之四模型定义

使用orm定义,然后使用cmd方式,自动建表,不过在实际生产中还是直接使用sql操作的,这种模型定义在生产环境中定义的比较少,基本上都是直接使用基本类型,一些特...

1032
来自专栏LEo的网络日志

InnoSetup功能函数合集

28411
来自专栏C语言及其他语言

【每日一题】问题 1209: 密码截获

Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码 进行通信,比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一...

1252

扫码关注云+社区