导致数据库损坏的原因有哪些,病毒感染会不会

导致数据库损坏的原因有哪些,病毒感染会不会,第1张

可能由病毒引起。

文件描述符关掉以后,继续使用这个文件描述符访问

打开文件,获取文件描述符fd(其实是一个整形)

关闭文件

打开sqlite文件,获取文件描述符(碰巧也是)fd

另一个线程继续使用fd,写文件

sqlite文件被损坏

在事务进行过程中,进行数据库备份或恢复

在数据库事务过程中,数据库文件既包括老的内容,也包括新的内容。如果此时拷贝这个文件,数据库可能会被损坏。 备份数据库最好使用sqlite的api。

删除日志文件

日志文件中包括rollback需要的信息。删除以后,无法正确回滚,有可能会导致数据库损坏。

【Oracle数据恢复】ORA-01578错误解析

一般认为ORA-1578是 数据块物理坏块/损坏的一种,不同于逻辑损坏/坏块,其错误信息如下:

[oracle@oel8 dirdat]$ oerr ora 1578

01578, 00000, "ORACLE data block corrupted (file # %s, block # %s)"

// *Cause: The data block indicated was corrupted, mostly due to software

// errors.

// *Action: Try to restore the segment containing the block indicated. This

// may involve dropping the segment and recreating it. If there

// is a trace file, report the errors in it to your ORACLE

// representative

这个1578一般 会伴随ORA-1110出现,一旦ORACLE读取到存在损坏的块就会报出:

SQL>select * from scott.emp

select * from scott.emp

*

ERROR at line 1:

ORA-01578: ORACLE data block corrupted (file # 11, block # 34) 这里的FILE#是 RFN

ORA-01110: data file 6:'/home/oracle/corrclass.dbf' 这里的是AFN

断裂的数据块Fractured Block:

Corrupt block relative dba: 0x0380e573 (file 14, block 58739)

Fractured block found during buffer read

Data in bad block -

type: 6 format: 2 rdba: 0x0380e573

last change scn: 0x0288.8e5a2f78 seq: 0x1 flg: 0x04

consistency value in tail: 0x00780601

check value in block header: 0x8739, computed block checksum: 0x2f00

spare1: 0x0, spare2: 0x0, spare3: 0x0

***

Reread of rdba: 0x0380e573 (file 14, block 58739) found same corrupted data

或者错误的校验和checksum

Corrupt block relative dba: 0x0380a58f (file 14, block 42383)

Bad check value found during buffer read

Data in bad block -

type: 6 format: 2 rdba: 0x0380a58f

last change scn: 0x0288.7784c5ee seq: 0x1 flg: 0x06

consistency value in tail: 0xc5ee0601

check value in block header: 0x68a7, computed block checksum: 0x2f00

spare1: 0x0, spare2: 0x0, spare3: 0x0

***

Reread of rdba: 0x0380a58f (file 14, block 42383) found same corrupted data

或者错误的块头

Corrupt block relative dba: 0x0d805a89 (file 54, block 23177)

Bad header found during buffer read

Data in bad block -

type: 6 format: 2 rdba: 0x0d805b08

last change scn: 0x0692.86dc08e3 seq: 0x1 flg: 0x04

consistency value in tail: 0x08e30601

check value in block header: 0x2a6e, computed block checksum: 0x0

spare1: 0x0, spare2: 0x0, spare3: 0x0

***

Reread of rdba: 0x0d805a89 (file 54, block 23177) found valid data

一些可能引起ORA-1578的BUG 列表如下:

如果自己搞不定可以找ASKMACLEAN专业数据库修复团队成员帮您恢复!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6713964.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-27
下一篇2023-03-27

发表评论

登录后才能评论

评论列表(0条)

    保存