1.4 联机热备份失败后,如何打开数据库?
系统环境:
1、操作系统:Windows 2000
2、数据库: Oracle 8i R2 (8.1.6) for NT 企业版
3、安装路径:C:ORACLE
错误现象:
进行联机热备份时,服务器发生故障,如掉电,重新启动服务器,启动数据库时,无法打开数据库,Oracle要求进行介质恢复,因为表空间还处在热备份状态。
模拟现象及解决方法:
先将数据库设置为归档模式
C:>svrmgrl
svrmgrl>connect internal
svrmgrl>alter tablespace 表空间名 begin backup;
![]()
--表空间热备模式没结束就强行关闭数据库,造成错误
svrmgrl>shutdown abort
![]()
svrmgrl>startup mount
![]()
--将此表空间的数据文件在没打开数据库时置成end backup模式
svrmgrl>alter database datafile '表空间的数据文件名' end backup;
![]()
--或执行表空间介质恢复
svrmgrl>recover tablespace 表空间名;
![]()
svrmgrl>alter database open;
1.5 某个数据文件损坏,如何打开数据库?
系统环境:
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
c
在操作系统中删除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
d
--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;
![]()
表空间已丢弃。
![]()
_allow_resetlogs_corruption=true
