错误原因是,数据文件头部信息中的checkpoint比控制文件中的checkpoint更新。应该是经历了一次非正常关闭数据库吧对控制文件做个备份,然后重建控制文件: Alter database backup controlfile to trace; 会生成一个trace文件,里面有控制文件的创建脚本重新打开数据库到nomount状态,执行脚本创建控制文件;恢复数据库到一致状态: recover database;打开数据库 alter database open;
第一次执行执行成功,但是我查找不到udump文件,没有看到新建的trace文件; 断开连接,再次连接、执行,开始报错 SQL> Alter database backup controlfile to trace; Alter database backup controlfile to trace * ERROR at line 1: ORA-01034: ORACLE not available Process ID: 0 Session ID: 0 Serial number: 0
根据下面的sql语句查看生成的trace文件位置 select d.value || b.bias || lower(rtrim(i.instance, chr(0))) || '_ora_' || p.spid || '.trc' trace_file_name from (select p.spid from v$mystat m, v$session s, v$process p where m.statistic# = 1 and s.sid = m.sid and p.addr = s.paddr) p, (select t.instance from v$thread t, v$parameter v where v.name = 'thread' and (v.value = 0 or t.thread# = to_number(v.value))) i, (select value from v$parameter where name = 'user_dump_dest') d, (select DECODE(count(BANNER), 0, '/', '\') bias from v$version where upper(banner) like '%WINDOWS%') b; 在mounted状态来执行 Alter database backup controlfile to trace;
Alter database backup controlfile to trace;
会生成一个trace文件,里面有控制文件的创建脚本重新打开数据库到nomount状态,执行脚本创建控制文件;恢复数据库到一致状态: recover database;打开数据库 alter database open;
第一次执行执行成功,但是我查找不到udump文件,没有看到新建的trace文件;
断开连接,再次连接、执行,开始报错
SQL> Alter database backup controlfile to trace;
Alter database backup controlfile to trace
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0
select d.value || b.bias || lower(rtrim(i.instance, chr(0))) || '_ora_' ||
p.spid || '.trc' trace_file_name
from (select p.spid
from v$mystat m, v$session s, v$process p
where m.statistic# = 1
and s.sid = m.sid
and p.addr = s.paddr) p,
(select t.instance
from v$thread t, v$parameter v
where v.name = 'thread'
and (v.value = 0 or t.thread# = to_number(v.value))) i,
(select value from v$parameter where name = 'user_dump_dest') d,
(select DECODE(count(BANNER), 0, '/', '\') bias
from v$version
where upper(banner) like '%WINDOWS%') b;
在mounted状态来执行
Alter database backup controlfile to trace;