alert.log 中的报错信息
Starting up:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options.
Using parameter settings in server-side spfile /u01/app/oracle/product/11.2.0/dbhome_1/dbs/spfilemynewdb.ora
System parameters with non-default values:
processes = 150
sga_target = 200M
control_files = "/u01/app/oracle/oradata/MYNEWDB/controlfile/o1_mf_814joods_.ctl"
db_block_size = 8192
compatible = "11.2.0.0.0"
db_create_file_dest = "/u01/app/oracle/oradata"
db_recovery_file_dest_size= 6442450
undo_tablespace = "UNDOTBS1"
recyclebin = "OFF"
remote_login_passwordfile= "EXCLUSIVE"
db_domain = ""
dispatchers = "(PROTOCOL=TCP) (SERVICE=mynewdbXDB)"
audit_file_dest = "/u01/app/oracle/admin/mynewdb/adump"
audit_trail = "DB"
db_name = "mynewdb"
open_cursors = 300
pga_aggregate_target = 74M
diagnostic_dest = "/u01/app/oracle"
Sat Sep 29 03:59:18 2012
PMON started with pid=2, OS id=20446
Sat Sep 29 03:59:18 2012
VKTM started with pid=3, OS id=20448
VKTM running at (100ms) precision
Sat Sep 29 03:59:18 2012
GEN0 started with pid=4, OS id=20452
Sat Sep 29 03:59:18 2012
DIAG started with pid=5, OS id=20454
Sat Sep 29 03:59:18 2012
DBRM started with pid=6, OS id=20456
Sat Sep 29 03:59:18 2012
PSP0 started with pid=7, OS id=20458
Sat Sep 29 03:59:18 2012
DIA0 started with pid=8, OS id=20460
Sat Sep 29 03:59:18 2012
MMAN started with pid=9, OS id=20462
Sat Sep 29 03:59:18 2012
DBW0 started with pid=10, OS id=20464
Sat Sep 29 03:59:18 2012
LGWR started with pid=11, OS id=20466
Sat Sep 29 03:59:18 2012
CKPT started with pid=12, OS id=20468
Sat Sep 29 03:59:18 2012
SMON started with pid=13, OS id=20470
Sat Sep 29 03:59:18 2012
RECO started with pid=14, OS id=20472
Sat Sep 29 03:59:18 2012
MMON started with pid=15, OS id=20474
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
Sat Sep 29 03:59:18 2012
MMNL started with pid=16, OS id=20476
starting up 1 shared server(s) ...
ORACLE_BASE from environment = /u01/app/oracle
Sat Sep 29 03:59:18 2012
ALTER DATABASE MOUNT
ORA-00210: cannot open the specified control file
ORA-00202: control file: '/u01/app/oracle/oradata/MYNEWDB/controlfile/o1_mf_814joods_.ctl'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
ORA-205 signalled during: ALTER DATABASE MOUNT...
Sat Sep 29 04:00:23 2012
Starting ORACLE instance (normal)
查看原来controlfile的位置
SQL> show parameter control_file
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string /u01/app/oracle/oradata/MYNEWDB
oracle@oracle11g MYNEWDB]$ ll
total 12
drwxr-x--- 2 oracle oinstall 4096 Sep 29 03:56 controlfile
drwxr-x--- 2 oracle oinstall 4096 Jul 27 03:27 datafile
drwxr-x--- 2 oracle oinstall 4096 Jul 27 03:26 onlinelog
[oracle@oracle11g MYNEWDB]$ cd c*
[oracle@oracle11g controlfile]$ ll
total 19200
-rw-r----- 1 oracle oinstall 9814016 Sep 29 03:56 o1_mf_814joods_.ctl.bak
-rw-r----- 1 oracle oinstall 9814016 Sep 29 03:57 o1_mf_814joods_.ctl.bak1
[oracle@oracle11g controlfile]$ pwd
/u01/app/oracle/oradata/MYNEWDB/controlfile
[oracle@oracle11g controlfile]$
shutdown
startup nomount
SQL> alter system set control_files='/u01/app/oracle/oradata/MYNEWDB/controlfile/o1_mf_814joods_.ctl.bak' scope=spfile;
System altered.
SQL> alter database mount;
Database altered.
SQL> alter database open;
Database altered.
SQL>
验证controlfile参数是否已正确更改
SQL> SQL> show parameter control_file
STATUS NAME I
------- ---------------------------------------------------------------------- -
/u01/app/oracle/oradata/MYNEWDB/controlfile/o1_mf_814joods_.ctl.bak N
至此,db成功恢复!