`
lengyue
  • 浏览: 144479 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

数据库临时表空间出错问题解决

阅读更多

2009-01-21绿园区中医院数据库不能启动,
提示错误码ora-01113 ??4?????
ora-01110:????4:'D:\oracle\oradata\orcl\temp01.dbf'
到现场后执行startup force;同样提示上面的错误,
startup mount提示数据库已经装载,但是不能open;
系统是东软的医保程序,由于不了解对方的业务和系统,连应用用户的密码都不知道,所以在恢复
的时候心里面也非常害怕,必竞我也不是专职的DBA,想好了如何进行恢复和用户交待了在恢复过程中可能出现的问题.
第一步先将orcl下所有的实例全都备份到移动硬盘中,6G,备份了大约3个小时.
第二步备份完之后连接数据库启动到mount状态
connect / as sysdba;
startup mount;
alter database datafile 'D:\oracle\oradata\orcl\temp01.dbf' offline;
执行后出错,晕了,后来一查资料mount状态下是不能使表空间下线的.
drop tablespace temp也不行,折腾了半天.
重新整理思路,从控制文件入手开始做,让系统在启动时不加载temp01.dbf文件.
执行:alter database backup controlfile to trace 此文件会生成在oracle\admin\orcl\udump\最后一个文件.
如果是oracle10g可以在这个语句后面加上 as '文件路径文件名'
 将文件打开,找到如下部分,copy出来,形成一个文件如放在D:盘 controlfile.txt
startup nomount;注意此处一定启动到数据库的nomount状态.
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  NOARCHIVELOG
--  SET STANDBY TO MAXIMIZE PERFORMANCE
    MAXLOGFILES 5
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 1
    MAXLOGHISTORY 226
LOGFILE
  GROUP 1 'D:\ORACLE\ORADATA\ORCL\REDO01.LOG'  SIZE 100M,
  GROUP 2 'D:\ORACLE\ORADATA\ORCL\REDO02.LOG'  SIZE 100M,
  GROUP 3 'D:\ORACLE\ORADATA\ORCL\REDO03.LOG'  SIZE 100M
-- STANDBY LOGFILE
DATAFILE
  'D:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF',
  'D:\ORACLE\ORADATA\ORCL\TEMP01.DBF',
  'D:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF',
  'D:\ORACLE\ORADATA\ORCL\INDX01.DBF',
  'D:\ORACLE\ORADATA\ORCL\TOOLS01.DBF',
  'D:\ORACLE\ORADATA\ORCL\USERS01.DBF'
CHARACTER SET US7ASCII
;
上面'D:\ORACLE\ORADATA\ORCL\TEMP01.DBF',这一段也不要加,不加载临时表空间文件启动数据库
下面这一段先不要加,  'D:\ORACLE\ORADATA\ORCL\TEMP01.DBF',
# Recovery is required if any of the datafiles are restored backups,
# or if the last shutdown was not normal or immediate.
 RECOVER DATABASE
# Database can now be opened normally.
ALTER DATABASE OPEN;
# Commands to add tempfiles to temporary tablespaces.
# Online tempfiles have complete space information.
# Other tempfiles may require adjustment.
 ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\ORACLE\ORADATA\ORCL\TEMP01.DBF' REUSE;
# End of tempfile additions.

执行完这一步之后我shutdown immediate数据库.
执行@d:\ controlfile.txt
执行完之后alter database open;
执行后报system01.dbf文件又有问题了.
然后执行 recover datafile 1(报错时哪个文件出错执行哪个文件)这次所有的文件都执行了一次.
然后alter database open才能会启动数据库.
然后drop tablespace temp including contents ;删除临时表空间和文件.
然后重新建立临时表空间和文件.
然后将上面的控制文件下面的那一段RECOVER DATABASE加上 ,再重新执行文件.
然后alter databse open;
数据库正常启动,所有数据正常.

 

分享到:
评论

相关推荐

    修复SQL数据库MDF表出错--解决速达软件不能修复和不能备份帐套(图解).doc

    ### 修复SQL数据库MDF表出错——解决速达软件不能修复和不能备份账套问题 #### 一、问题背景及重要性 在使用基于SQL Server数据库的企业管理软件(如速达ERP)的过程中,可能会遇到数据库表损坏的问题,具体表现为...

    MySQL 5.7临时表空间如何玩才能不掉坑里详解

    总之,MySQL 5.7的独立临时表空间特性为用户带来了更多的便利,但在使用时需要注意一些可能的问题和限制。通过合理配置和监控,以及使用上文提到的技巧和建议,可以有效地避免在使用临时表空间时遇到的“坑”。

    oracle表空间相关资料

    2. **临时表空间**:主要用于排序操作和临时表的存储。当会话结束时,临时表空间中的数据会被清除。 3. **系统表空间**:默认情况下包含名为`SYSTEM`的表空间,其中包含了数据库的数据字典和其他系统级别的信息。 4....

    oracle物理表空间删除修复命令

    - **临时表空间(Temporary Tablespaces)**:为临时表提供存储空间。 - **回滚表空间(Rollback Tablespaces)**:存储事务处理期间的数据变化信息。 #### 三、物理表空间的删除命令 当需要删除某个物理表空间时,...

    达梦sql语言使用手册

    - **创建HTS表空间**:创建用于存储文本搜索索引的专用表空间。 - **删除HTS表空间**:删除HTS表空间。 ##### 3.6 管理表 - **基表定义语句**:创建基本表。 - **基表修改语句**:修改基本表结构。 - **基表删除...

    在mysql中的过程中创建临时表我遇到错误

    在遇到错误时,检查错误消息,确认权限设置,优化查询,以及检查是否正确管理临时表的生命周期,通常是解决问题的有效方法。 在实际应用中,你可以参考“Creating-temporary-table-in-procedure-in-mysql-i-f.pdf”...

    oracle9i下手动创建可以使用的数据库.

    接下来,执行SQL脚本`bbk.sql`,该脚本包含了创建数据库的具体SQL语句,如定义数据库名、数据文件大小、数据文件管理方式、临时表空间等。 ```sql CREATE DATABASE "bbk" MAXDATAFILES 500 MAXINSTANCES 8 ...

    阿里巴巴-数据库-标准操作手册

    - 准备工作包括与数据库设计人员明确新表所存放的数据库,检查表空间定义及其剩余空间,与开发人员协商确定建表时间点,以及提交变更申请。 - 执行过程涉及使用应用账户登录并检查当前schema,执行建表脚本,并...

    oracle数据库大全

    例如,创建名为TAIS的用户,指定默认表空间为TAIS_DAT,临时表空间为TEMP,并赋予相应的权限。 至此,Oracle数据库的基本安装和配置过程已经介绍完毕。这个文档为用户提供了全面的指导,从基础的安装到复杂的数据...

    ORACLE数据库命名编码规范.doc

    例如,面向用户的专用数据表空间用"系统名_用户名_DATA",索引表空间用"系统名_用户名_IDX",临时表空间用"系统名_用户名_TMP",回滚段表空间用"系统名_用户名_RBS"。对于LOB段数据,可以命名为数据表空间名加上...

    安徽移动经营分析数据库设计V.docx

    4. 表空间命名:TBS开头,后跟表空间类型和子系统缩写代码及流水号,如系统表空间(固定为system),临时表空间(TEMP_nn),接口表表空间(TBS_INTF_xxxx[_nn]),资料表表空间(TBS_USR_xxxx[_nn]),清单表表空间...

    阿里巴巴数据库操作手册

    - **数据库风险**:数据订正操作可能因速度过快或并发过高导致数据库性能问题,例如表空间耗尽、undo日志过度使用等。 - **沟通风险**:业务方、开发人员和DBA之间的信息传递错误或不及时可能导致数据订正未能达到...

    ORACLE 错误一览表

    解决方案是增加临时表空间的大小,或者优化需要大量临时空间的查询。 7. ORA-00942:表或视图不存在 这是最常见的错误之一,表明引用的数据库对象不存在。检查拼写和对象权限,确保对象存在且用户有权访问。 8. ...

    ASP技术常遇问题解答-如何编写一个高效的国税系统通讯录数据库?.zip

    - 性能监控:通过性能计数器等工具监控数据库性能,及时发现并解决问题。 - 代码重构:随着业务增长,定期对代码进行重构,保持代码的清晰性和可维护性。 以上知识点涵盖了构建高效国税系统通讯录数据库的核心...

    Enterprise_Manager配置失败解决方法

    配置临时表空间信息,如临时表空间名为`oem_temp`。 5. 配置通知服务地址(可选)。 6. 配置SMTP通知方式(可选)。 #### 五、检查日志文件 在整个过程中,应该密切关注日志文件,以便发现任何错误或警告信息。...

    数据库复习材料.doc

    3. 表空间是Oracle数据库中数据的逻辑组织,一个表空间可以由一个或多个数据文件组成。表空间分为本地管理和字典管理两种类型。 4. 在Oracle的逻辑存储结构中,数据被分为不同类型的段:数据段、索引段、回退段、...

    Oracle数据库面试题及答案

    答案:A temporary tablespace 用于临时对象列如排序结构而 permanent tablespaces 用来存储那些真实的对象(例如表,回滚段等) 知识点:TEMPORARY tablespace 和 PERMANENT tablespace 是两种不同的 tablespaces,...

    数据库系统管理与维护(Oracle)第三次作业.doc

    5. **创建用户信息**:创建用户时需要提供用户名、口令和临时表空间,但用户权限不是必需的,可以后续分配。 6. **表空间备份**:`ALTER TABLESPACE example BEGIN BACKUP`命令将表空间置于备份模式,允许在线备份...

    数据库在归档模式下处理回滚段故障

    - 首先,需要修改初始化参数文件`init.ora`,以便在系统表空间内的system回滚段上挂载数据库。当公用回滚段出错时,可以通过设置`corrupted_rollback_segments`参数使用system回滚段作为临时替代。 2. **实施...

    基于SQL Server的数据库应用系统性能的优化.pdf

    定期维护数据库,如更新统计信息,清理无用的临时表和日志等。 总结来说,SQL Server数据库性能的优化是一项系统工程,涉及到数据库架构设计、事务管理、查询优化、数据传输等多个环节。通过对这些方面的深入理解和...

Global site tag (gtag.js) - Google Analytics