Oracle完全脱机,部分脱机与部分联机备份(五)

2014-11-24 09:06:00 · 作者: · 浏览: 2
1 oracle oinstall 52429312 Jun 2 14:28 redo03.log
-rw-r----- 1 oracle oinstall 304095232 Jun 2 14:25 sysaux01.dbf
-rw-r----- 1 oracle oinstall 513810432 Jun 2 14:25 system01.dbf
-rw-r----- 1 oracle oinstall 513810432 Jun 2 12:12 tbs_data.dbf
-rw-r----- 1 oracle oinstall 50339840 May 25 14:20 temp01.dbf
-rw-r----- 1 oracle oinstall 309338112 Jun 2 14:28 undotbs01.dbf
-rw-r----- 1 oracle oinstall 1052516352 Jun 2 12:01 users01.dbf
[oracle@localhost orcl]$ rm sysaux01.dbf
[oracle@localhost orcl]$ rm system01.dbf
[oracle@localhost orcl]$ rm tbs_data.dbf
[oracle@localhost orcl]$ rm undotbs01.dbf
[oracle@localhost orcl]$ rm temp01.dbf
[oracle@localhost orcl]$ rm users01.dbf
[oracle@localhost orcl]$ ll
total 174624
-rw-r----- 1 oracle oinstall 7094272 Jun 2 14:29 control01.ctl
-rw-r----- 1 oracle oinstall 7094272 Jun 2 14:29 control02.ctl
-rw-r----- 1 oracle oinstall 7094272 Jun 2 14:29 control03.ctl
-rw-r----- 1 oracle oinstall 52429312 Jun 2 11:54 redo01.log
-rw-r----- 1 oracle oinstall 52429312 Jun 2 11:55 redo02.log
-rw-r----- 1 oracle oinstall 52429312 Jun 2 14:29 redo03.log
这时 SHUTDOWN IMMEDIATE 是无法关闭的,使用SHUTDOWN ABORT 强制关闭数据库
SQL> shutdown immediate
ORA-01116: error in opening database file 1
ORA-01110: data file 1: '/home/oracle/oracle/product/10.2.0/oradata/orcl/system01.dbf'
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3
SQL> shutdown abort
ORACLE instance shut down.
因为控制文件存在,数据库可以启动到mount状态
但是不能启动到open:
SQL> startup mount
ORACLE instance started.
Total System Global Area 285212672 bytes
Fixed Size 1218968 bytes
Variable Size 79693416 bytes
Database Buffers 197132288 bytes
Redo Buffers 7168000 bytes
Database mounted.
SQL> alter database open
2 ;
alter database open
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
ORA-01110: data file 1: '/home/oracle/oracle/product/10.2.0/oradata/orcl/system01.dbf'
读取一号文件system表空间的数据文件时出错了
因为在读取数据库时会通过控制文件上每个数据文件的检查点编号(SCN)与各个数据文件上的与数据文件头的SCN号进行比较,
如果不相等无法打开数据库,另外相等也不一定能打开数据库。
--我们来看看:
SQL> select file#, checkpoint_change# from v$datafile;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 13229463961652
2 13229463961652
3 13229463961652
4 13229463961652
5 13229463961652
6 13229463961652
7 13229463961652
7 rows selected
SQL> select file#, checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 0
2 0
3 0
4 0
5 13229463961652
6 13229463961652
7 0
7 rows selected
这里只有5号文件和6号文件头的SCN号是一致的,显然现在是无法启动数据库到OPEN状态的。
现在将第一个文件拷贝过去:
[oracle@localhost orcl]$ cp /home/lubinsu/orcl/system01.dbf system01.dbf
[oracle@localhost orcl]$ ll
total 676892
-rw-r----- 1 oracle oinstall 7094272 Jun 2 14:56 control01.ctl
-rw-r----- 1 oracle oinstall 7094272 Jun 2 14:56 control02.ctl
-rw-r----- 1 oracle oinstall 7094272 Jun 2 14:56 contro