在操作系统损坏时恢复Oracle10g全过程

网络整理 - 07-26

环境:oracle10g,操作系统5.2
数据库系统在rootvg下/oracle文件系统下,
数据文件在datavg下/oradata文件系统下
控制文件在 $/ORACLE_HOME/dbs/一个和/oradata下两个
重做日志文件在 $/ORACLE_HOME/dbs/和/oradata下每组日志文件各一个,共三组
有最新spfile文件备份。
1、rootvg损坏,重新安装操作系统。
2、安装oracle数据库系统文件
3、恢复spfile文件到$/ORACLE_HOME/dbs/下,
4、startup nomount,出现错误提示,建立$/ORACLE_BASE/hb052500/cdump 和udump
5、startup nomount,出现错误提示
SQL> startup nomount
ORA-00444: background process "MMAN" failed while starting
ORA-07446: sdnfy: bad value '' for parameter .

ORA-07446 sdnfy: bad value 'string' for parameter string.
Cause: The directory specified as the value for the stated parameter could not
be used.
Action: Make sure the directory you have specified is a valid directory/file
specification.

6、建立pfile文件
SQL> create pfile from spfile;

File created.

7、查看pfile文件,按照pfile文件中列出的路径,建立相应路径后台进程目录和归档目录
*.log_archive_dest_1='LOCATION=/oracle/app/oracle/OraHome/dbs/archive'
*.background_dump_dest='/oracle/app/oracle/admin/hb052500/bdump'
$ cd $/ORACLE_BASE/hb052500/
$ ls
cdump udump
$ mkdir bdump
$ cd $ORACLE_HOME/dbs/
$ ls
hb052500 init.ora inithb052500.ora
hc_hb052500.dat initdw.ora spfilehb052500.ora
$ mkdir archive
8、startup nomount成功。
$ sqlplus /nolog

SQL*Plus: Release 10.1.0.2.0 - Production on Sun Oct 16 21:23:17 2005

Copyright (c) 1982, 2004, Oracle. All rights reserved.

SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup nomount;
ORACLE instance started.

Total System Global Area 289406976 bytes
Fixed Size 1328912 bytes
Variable Size 262387952 bytes
Database Buffers 25165824 bytes
Redo Buffers 524288 bytes
SQL>
9、alter database mount,出现错误提示
SQL> alter database mount;
alter database mount
*
ERROR at line 1:
ORA-01990: error opening password file '/oracle/app/oracle/OraHome/dbs/orapw'
ORA-27037: unable to obtain file status
IBM AIX RISC System/6000 Error: 2: No such file or directory
Additional information: 3

10、建立口令文件
orapwd file=$ORACLE_HOME/dbs/orapwd.ora password=oracle
11、
SQL> alter database mount;
alter database mount
*
ERROR at line 1:
ORA-01100: database already mounted


SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-38760: This database instance failed to turn on flashback database


SQL> alter database flashback off;

Database altered.

SQL> alter database open;

Database altered.

SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /oracle/app/oracle/OraHome/dbs/archive
Oldest online log sequence 614
Next log sequence to archive 616
Current log sequence 616
SQL>