最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

ORA-01200错误的分析

来源:动视网 责编:小采 时间:2020-11-09 10:41:05
文档

ORA-01200错误的分析

ORA-01200错误的分析:一 触发ora-01200错误的原因 [Oracle@oracle ~]$ oerr ora 0120001200, 00000, actual file size of %s is smaller than correc 一 触发ora-01200错误的原因 [Oracle@oracle ~]$ oerr ora 0120001200, 0
推荐度:
导读ORA-01200错误的分析:一 触发ora-01200错误的原因 [Oracle@oracle ~]$ oerr ora 0120001200, 00000, actual file size of %s is smaller than correc 一 触发ora-01200错误的原因 [Oracle@oracle ~]$ oerr ora 0120001200, 0


一 触发ora-01200错误的原因 [Oracle@oracle ~]$ oerr ora 0120001200, 00000, actual file size of %s is smaller than correc

一 触发ora-01200错误的原因

[Oracle@oracle ~]$ oerr ora 01200
01200, 00000, "actual file size of %s is smaller than correct size of %s blocks"
// *Cause: The size of the file as returned by the operating system is smaller
// than the size of the file as indicated in the file header and the
// control file. Somehow the file has been truncated. Maybe it is the
// result of a half completed copy.
// *Action: Restore a good copy of the data file and do recovery as needed.

数据文件实际块数小于数据文件头部记录的数据文件块数

二 用bbed构造一个ora-01200错误

1 数据文件/oracle/test/jiujian1.dbf实际占用块数如下:

SQL> select file_name,blocks from dba_data_files where file_id=11;

FILE_NAME BLOCKS
---------------------------------------- ---------
/oracle/test/jiujian1.dbf 1048

2 用bbed修改数据文件头部记录的数据文件占用块数
BBED> info
File# Name Size(blks)
----- ---- ----------
1 /oracle/CRM2/system1.dbf 61440
2 /oracle/CRM2/zxb.dbf 1280
3 /oracle/CRM2/CRM/sysaux01.dbf 37120
4 /oracle/CRM2/CRM/users01.dbf 0
5 /oracle/CRM2/zxa.dbf 12800
6 /oracle/CRM2/CRM/undotbs2.dbf 25600
7 /oracle/CRM2/zxc.dbf 1280
8 /oracle/CRM2/CRM/zxbig1.dbf 262144
11 /oracle/test/jiujian1.dbf 128

BBED> set dba 11,1
DBA 0x02c00001 (46137345 11,1)

BBED> p offset 44
kcvfh.kcvfhhdr.kccfhfsz
-----------------------
ub4 kccfhfsz @44 0x00000418 (十进制1048)

BBED> set offset 44
OFFSET 44

BBED> dump /v count 30
File: /oracle/test/jiujian1.dbf (11)
Block: 1 Offsets: 44 to 73 Dba:0x02c00001
-------------------------------------------------------
18040000 00200000 0b000300 00000000 l ..... ..........
00000000 00000000 00000000 0000 l ..............

<16 bytes per line>

BBED> modify /x 1904
Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y
File: /oracle/test/jiujian1.dbf (11)
Block: 1 Offsets: 44 to 73 Dba:0x02c00001
------------------------------------------------------------------------
19040000 00200000 0b000300 00000000 00000000 00000000 00000000 0000

<32 bytes per line>

BBED> p offset 44
kcvfh.kcvfhhdr.kccfhfsz
-----------------------
ub4 kccfhfsz @44 0x00000419(10进制为1049)

BBED> sum apply
Check value for File 11, Block 1:
current = 0x34f4, required = 0x34f4

3 启动数据库便可触发ora-01200错误
SQL> startup
ORACLE instance started.

Total System Global Area 322961408 bytes
Fixed Size 2020480 bytes
Variable Size 92277632 bytes
Database Buffers 222298112 bytes
Redo Buffers 6365184 bytes
Database mounted.
ORA-01122: database file 11 failed verification check
ORA-01110: data file 11: '/oracle/test/jiujian1.dbf'
ORA-01200: actual file size of 1048 is smaller than correct size of 1049 blocks

三ora-01200错误的解决

方式1 通过bbed 改数据文件头部偏移量44处的值为数据文件实际占用块数

方式2 通过dd命令填充数据文件实际大小为correct size of 1049 blocks中的值
dd if=/dev/zero of=/oracle/test/jiujian1.dbf bs=8192 count=1 seek=1049

相关阅读:

SPFILE 错误导致数据库无法启动(ORA-01565)

ORA-01172、ORA-01151错误处理

ORA-00600 [2662]错误解决

文档

ORA-01200错误的分析

ORA-01200错误的分析:一 触发ora-01200错误的原因 [Oracle@oracle ~]$ oerr ora 0120001200, 00000, actual file size of %s is smaller than correc 一 触发ora-01200错误的原因 [Oracle@oracle ~]$ oerr ora 0120001200, 0
推荐度:
标签: 错误 数据库 error
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top