7 x 24 在线支持!
Oracle 在备用数据库环境中的ORA-1122 ORA-1110 和 ORA-01200: 的实际文件大小小于 块的正确大
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!
诗檀软件专业数据库修复团队
服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]
ORA-01200: 的实际文件大小小于 块的正确大小
适用于:
Oracle Server – Enterprise Edition – 版本 11.1.0.6 到11.2.0.2.0 [Release 11.1 to 11.2]
本文信息适用于任何平台。
症状
在备用数据库环境中,我们尝试启动或alter database open。这会返回错误ORA-1122 ORA-1110 和ORA-1200。
SQL> startup
	ORACLE instance started.
	Total System Global Area 1235959808 bytes
	Fixed Size                  2159232 bytes
	Variable Size            1107299712 bytes
	Database Buffers          117440512 bytes
	Redo Buffers                9060352 bytes
	Database mounted.
ORA-01122: database file 2 failed verification check
	ORA-01110: data file 2: ‘/u01/home/oracle/oradata/chicago/sysaux01.dbf’
	ORA-01200: actual file size of 106168 is smaller than correct size of 106296
	blocks
SQL> alter database open;
	alter database open
	*
	ERROR at line 1:
	ORA-01122: database file 2 failed verification check
	ORA-01110: data file 2: ‘/u01/home/oracle/oradata/chicago/sysaux01.dbf’
	ORA-01200: actual file size of 106168 is smaller than correct size of 106296
	blocks
尝试备份相同文件可能在其中一个备用数据库中显示相同错误:
RMAN> backup datafile 2 format ‘/tmp/sysaux.bck’;
Starting backup at 01-JUN-12
	Starting implicit crosscheck backup at 01-JUN-12
	using target database control file instead of recovery catalog
	allocated channel: ORA_DISK_1
	channel ORA_DISK_1: SID=113 device type=DISK
	Crosschecked 5 objects
	Finished implicit crosscheck backup at 01-JUN-12
Starting implicit crosscheck copy at 01-JUN-12
	using channel ORA_DISK_1
	Finished implicit crosscheck copy at 01-JUN-12
searching for all files in the recovery area
	cataloging files…
	no files cataloged
using channel ORA_DISK_1
	channel ORA_DISK_1: starting full datafile backup set
	channel ORA_DISK_1: specifying datafile(s) in backup set
	RMAN-00571: ===========================================================
	RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
	RMAN-00571: ===========================================================
	RMAN-03009: failure of backup command on ORA_DISK_1 channel at 06/01/2012 10:12:27
	ORA-01122: database file 2 failed verification check
	ORA-01110: data file 2: ‘/u01/home/oracle/oradata/newyork/sysaux01.dbf’
	ORA-01200: actual file size of 106168 is smaller than correct size of 106296 blocks
更改
包含主数据库的机器崩溃并被重启。
原因
问题是由于机器崩溃导致的损坏。
解决方案
查看在其他备用数据库中是否没有损坏。从“完好”备用数据库中备份文件并还原到主数据库。然后你可以打开主数据库,不生成错误。
[oracle@vboxstb ~]$ rman target /
	Recovery Manager: Release 11.1.0.7.0 – Production on Fri Jun 1 10:13:34 2012
	Copyright (c) 1982, 2007, Oracle.  All rights reserved.
	connected to target database: CHICAGO (DBID=1391866143, not open)
RMAN> backup datafile 2 format ‘/tmp/sysaux.bck’;
	Starting backup at 01-JUN-12
	using target database control file instead of recovery catalog
	allocated channel: ORA_DISK_1
	channel ORA_DISK_1: SID=120 device type=DISK
	channel ORA_DISK_1: starting full datafile backup set
	channel ORA_DISK_1: specifying datafile(s) in backup set
	input datafile file number=00002 name=/u01/home/oracle/oradata/boston/sysaux01.dbf
	channel ORA_DISK_1: starting piece 1 at 01-JUN-12
	channel ORA_DISK_1: finished piece 1 at 01-JUN-12
	piece handle=/tmp/sysaux.bck tag=TAG20120601T101352 comment=NONE
	channel ORA_DISK_1: backup set complete, elapsed time: 00:00:25
	Finished backup at 01-JUN-12
RMAN> exit
	Recovery Manager complete.
将文件传输到有问题的数据库,例如使用ftp protocol。
连接到主数据库,还原并恢复那里的文件。
[oracle@vboxprm ~]$ rman target /
	Recovery Manager: Release 11.1.0.7.0 – Production on Fri Jun 1 10:16:51 2012
	Copyright (c) 1982, 2007, Oracle.  All rights reserved.
	connected to target database: CHICAGO (DBID=1391866143, not open)
RMAN> catalog backuppiece ‘/tmp/sysaux.bck’;
	using target database control file instead of recovery catalog
	cataloged backup piece
	backup piece handle=/tmp/sysaux.bck RECID=7 STAMP=784808257
RMAN> restore datafile 2;
	Starting restore at 01-JUN-12
	allocated channel: ORA_DISK_1
	channel ORA_DISK_1: SID=145 device type=DISK
	channel ORA_DISK_1: starting datafile backup set restore
	channel ORA_DISK_1: specifying datafile(s) to restore from backup set
	channel ORA_DISK_1: restoring datafile 00002 to /u01/home/oracle/oradata/chicago/sysaux01.dbf
	channel ORA_DISK_1: reading from backup piece /tmp/sysaux.bck
	channel ORA_DISK_1: piece handle=/tmp/sysaux.bck tag=TAG20120601T101352
	channel ORA_DISK_1: restored backup piece 1
	channel ORA_DISK_1: restore complete, elapsed time: 00:00:25
	Finished restore at 01-JUN-12
RMAN> recover datafile 2;
	Starting recover at 01-JUN-12
	using target database control file instead of recovery catalog
	allocated channel: ORA_DISK_1
	channel ORA_DISK_1: SID=148 device type=DISK
	starting media recovery
	archived log for thread 1 with sequence 156 is already on disk as file /u01/home/oracle/flash_recovery_area/CHICAGO/archivelog/2012_05_24/o1_mf_1_156_7vv0lr01_.arc
	…
	archived log file name=/u01/home/oracle/flash_recovery_area/CHICAGO/archivelog/2012_05_30/o1_mf_1_197_7wd2z2w3_.arc thread=1 sequence=197
	media recovery complete, elapsed time: 00:01:30
	Finished recover at 01-JUN-12
RMAN> exit
	Recovery Manager complete.
现在你可以打开主数据库了。
SQL> alter database open;
	Database altered.

 沪公网安备 31010802001377号
沪公网安备 31010802001377号