某个数据文件损坏,如何打开数据库——ORA-01033: ORACLE initialization or shutdown in progress错误
系统环境:
1、操作系统:Windows 2000 Server,机器内存128M
2、数据库: Oracle 8i R2 (8.1.6) for NT 企业版
3、安装路径:C:\ORACLE
错误现象:
因误操作,数据库中某一数据文件被误删,控制面板的Oracle相关服务显示已启动,但用SQL*Plus无法连接,显示以下错误:
ORA-01033: ORACLE initialization or shutdown in progress
模拟现象:
create tablespace test datafile
'c:\test.ora' size 5M
AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED
default storage (initial 128K next 1M pctincrease 0)
/
关闭所有服务stop.bat
net stop "OracleWebAssistant0"
net stop "OracleOraHome81TNSListener"
net stop "OracleServiceORADB"
shutdown
在操作系统中删除test.ora文件
重新启动服务start.bat
net start "OracleWebAssistant0"
net start "OracleOraHome81TNSListener"
net start "OracleServiceORADB"
服务里OracleServiceORADB显示已启动,但用SQL*Plus无法连接,
显示ORA-01033: ORACLE initialization or shutdown in progress
解决方法:
先让该数据文件脱机,就可以打开数据库
C:\>svrmgrl
svrmgrl>connect internal
svrmgrl>shutdown
svrmgrl>startup mount
--ARCHIVELOG模式命令,文件名要大写
svrmgrl>alter database datafile 'C:\TEST.ORA' offline;
--NOARCHIVELOG模式命令
svrmgrl>alter database datafile 'C:\TEST.ORA' offline drop;
svrmgrl>alter database open;
--查询数据文件联、脱机状态
SQL> select file#,name,status from v$datafile;
SQL> drop tablespace test;
表空间已丢弃。
丢失联机日志文件
分两种情况处理
1、丢失的是非活动的日志文件;
2、丢失的是当前激活的日志文件。
如果是第一种情况,而发生故障的日志文件组又具有多个成员,可以先将数据库shutdown,
然后用操作系统命令将损坏日志文件组中好的日志成员文件把损坏的成员文件覆盖
(在同一个日志成员组中的所有日志文件的各为镜象的),
如果其物理位置不可用可将其拷贝到新的驱动器上,使用alter database rename file ‘xxxx’ to ‘xxxx’改变文件位置,
之后启动数据库,如果正常马上进行一个冷备份。
如果损坏的日志组中只有一个日志成员,先mount上数据库,将其转换为noarchivelog模式,
执行alter database add logfile member ‘xxx’ to group ‘x’给相关组增加一个成员,
再执行alter database drop logfile member ‘bad_file’将损坏的日志文件删除,
由于数据库的结构发生变动需要备份控制文件,之后将数据库改回archivelog模式,做一个冷备份。
如果丢失的是当前激活的日志文件,数据库又没有镜像而且当前日志组中所有成员均变为不可用。
首先将数据库shutdown abort,从最近的一次全备份中恢复所有的数据文件,将数据库启动到mount状态。
如果原来的日志文件物理位置不可用,使用alter database rename file ‘xxx’ to ‘xxx’改变文件的存放位置。
然后,使用recover database until cancel命令来恢复数据库,直到提示最后一个归档日志运用完之后,输入cancel。
之后用alter database open resetlogs打开数据库,如果没有问题,立即进行一个冷备份。
注意!所有包含在损坏的redo log中的信息将会丢失,也就是说数据库崩溃前已经提交的数据有可能会丢失。
这对于某些要求很高的应用将会损失惨重,因此应尽量使每个日志组具有多个日志成员,
并且放置在不同的驱动器上防止发生介质故障。
分享到:
相关推荐
### ora-01033: Oracle Initialization or Shutdown in Progress 解决方法 #### 一、问题背景及原因 **标题**: “ora-01033: Oracle initialization or shutdown in progress 解决方法” **描述**: “ora-01033: ...
### ORA-01033: Oracle 初始化或关闭中 #### 错误概述 ORA-01033 错误通常出现在尝试启动或连接到Oracle数据库时,表明数据库正处于初始化或关闭过程中。该错误可能由多种原因引起,包括但不限于数据库服务尚未...
ora-01033: Oracle initialization or shutdown in progress 此外,在 Enterprise Manager Console 中也会出现同样的错误信息。 问题的分析 Oracle Initialization or Shutdown in Progress 问题的产生是由于 ...
以下是对"ORA-01033: ORACLE initialization or shutdown in progress"错误的详细分析及可能的解决方案。 **错误解释:** ORA-01033错误表示Oracle正在启动或关闭过程中,这可能是由于多种原因导致的,如数据库实例...
ORA-01110: 数据文件 19: ''''C:\oracle\oradata\oradb\FYGL.ORA'' 这个提示文件部分根据每个人不同情况有点差别。 继续输入 SQL>alter database datafile 19 offline drop; 提示:数据库已更改。 循环使用最后两...
oracle数据库服务报错 【 ORA-01033:ORACLE initialization or shutdown in progress】,网上搜了很多,总结了一个有效的解决方案,亲测有效。
下面将详细解析“ORA-27101: shared memory realm does not exist”这一错误及其解决办法,同时提及可能伴随的“ORA-01034: ORACLE not available”和“ORA-01033: ORACLE initialization or shutdown in progress”...
### Oracle登录错误(ORA-01033: ORACLE initialization or shutdown in progress) #### 错误概述 在处理Oracle数据库时,可能会遇到ORA-01033错误:“ORA-01033: ORACLE initialization or shutdown in progress”...
在Oracle 9i数据库管理过程中,不慎删除表空间可能会导致一系列问题,比如ORA-01033: Oracle 初始化或关闭进行中以及ORA-01110: 数据库未打开等错误。本文将详细探讨这一问题及其解决方案。 #### 错误概述 当出现...
Oracle数据库在运行过程中可能会遇到各种错误,其中"ORA-01033: oracle initialization or shutdown in progress"是一个常见的登录错误,通常表明数据库正在启动或关闭的过程中,这阻止了用户的正常访问。...
ORA-01033:ORACLE initialization or shutdown in progress 用户: 口令: 这个显然是数据库没有办法启动,但是数据库服务还是可以启动,而程序则无法连接数据库。 首选找问题要看看数据库BDUMP目录下的ALERT文件...
如果遇到“ORA-01033: ORACLE initialization or shutdown in progress”的错误,这可能是因为系统遇到了异常情况。解决方法包括使用`shutdown abort`停止实例,然后通过SQL*Plus连接到数据库作为SYSDBA用户执行重启...
ORA-01033 错误的具体含义为:“ORACLE initialization or shutdown in progress”,即Oracle正在初始化或关闭过程中。此错误通常由以下几个原因引起: 1. **数据库尚未完全启动或正在关闭**:这是最常见的原因之一...
Oracle数据库在运行过程中遭遇突然断电,可能会导致数据文件、控制文件或日志文件的状态不一致,进而引发各种错误,如“ora-01033: oracle initialization or shutdown in progress”。这种错误通常表明数据库正处在...
### Oracle 错误一览表详解 #### ORA-00001: Unique constraint violated - **描述**:当尝试插入或更新一个行时,违反了唯一性约束。 - **解决方法**:确保数据不违反任何唯一性约束,或者修改约束以适应数据。 #...