日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle 执行sql参数混乱,乱用_allow_resetlogs_corruption参数导致悲剧

發布時間:2024/10/8 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 执行sql参数混乱,乱用_allow_resetlogs_corruption参数导致悲剧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一個朋友11.2.0.1的數據庫因為斷電,出現不能正常open問題,自己嘗試恢復,折騰了幾天,最后讓我幫忙的時候錯誤如下

SQL> startup

ORACLE 例程已經啟動。

Total System Global Area 778387456 bytes

Fixed Size 1374808 bytes

Variable Size 545260968 bytes

Database Buffers 226492416 bytes

Redo Buffers 5259264 bytes

數據庫裝載完畢。

ORA-01092: ORACLE instance terminated. Disconnection forced

ORA-00604: error occurred at recursive SQL level 1

ORA-01578: ORACLE data block corrupted (file # 1, block # 225)

ORA-01110: data file 1: 'F:\APP\ADMINISTRATOR\ORADATA\YFCLOUD\SYSTEM01.DBF'

進程 ID: 5964

會話 ID: 1144 序列號: 5

從啟動的日志提示看初步判斷就是悲劇了,因為根據經驗值在11gr2版本中,該錯誤就是undo$(分析trace文件進步一確定是undo$),該block出現異常,數據庫在啟動的時候要掃描該表,把相關的回滾段給online起來,現在他異常了,數據庫肯定無法正常啟動

dbv檢查數據庫文件

F:\>dbv file='F:\APP\ADMINISTRATOR\ORADATA\YFCLOUD\SYSTEM01.DBF'

DBVERIFY: Release 11.2.0.1.0 - Production on 星期三 5月 22 11:06:00 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

DBVERIFY - 開始驗證: FILE = F:\APP\ADMINISTRATOR\ORADATA\YFCLOUD\SYSTEM01.DBF

頁 225 流入 - 很可能是介質損壞

Corrupt block relative dba: 0x004000e1 (file 1, block 225)

Fractured block found during dbv:

Data in bad block:

type: 6 format: 2 rdba: 0x004000e1

last change scn: 0x0000.00d65120 seq: 0x1 flg: 0x06

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

consistency value in tail: 0xb98e0601

check value in block header: 0xb307

computed block checksum: 0xe8ae

DBVERIFY - 驗證完成

檢查的頁總數: 134400

處理的頁總數 (數據): 98226

失敗的頁總數 (數據): 0

處理的頁總數 (索引): 14189

失敗的頁總數 (索引): 0

處理的頁總數 (其他): 4178

處理的總頁數 (段) : 1

失敗的總頁數 (段) : 0

空的頁總數: 17806

標記為損壞的總頁數: 1

流入的頁總數: 1

加密的總頁數 : 0

最高塊 SCN : 14045769 (0.14045769)

看到這里,可以確定壞塊的存在,根據上面的提示,我們發現tailchk值不正確,應該是5120+06+01,而不該是b98e0601,通過bbed查看

BBED> p kcbh

struct kcbh, 20 bytes @0

ub1 type_kcbh @0 0x06

ub1 frmt_kcbh @1 0xa2

ub1 spare1_kcbh @2 0x00

ub1 spare2_kcbh @3 0x00

ub4 rdba_kcbh @4 0x004000e1

ub4 bas_kcbh @8 0x00d65120

ub2 wrp_kcbh @12 0x0000

ub1 seq_kcbh @14 0x01

ub1 flg_kcbh @15 0x06 (KCBHFDLC, KCBHFCKV)

ub2 chkval_kcbh @16 0x5ba9

ub2 spare3_kcbh @18 0x0000

BBED> p tailchk

ub4 tailchk @8188 0xb98e0601

進一步證明是tailchk異常導致,分析alert日志,數據庫異常斷電,然后啟動的時候發現如下錯誤

Recovery of Online Redo Log: Thread 1 Group 2 Seq 431 Reading mem 0

Mem# 0: F:\APP\ADMINISTRATOR\ORADATA\YFCLOUD\REDO02.LOG

RECOVERY OF THREAD 1 STUCK AT BLOCK 451 OF FILE 3

Aborting crash recovery due to error 1172

Errors in file f:\app\administrator\diag\rdbms\yfcloud\yfcloud\trace\yfcloud_ora_772.trc:

ORA-01172: 線程 1 的恢復停止在塊 451 (在文件 3 中)

ORA-01151: 如果需要, 請使用介質恢復以恢復塊和還原備份

Errors in file f:\app\administrator\diag\rdbms\yfcloud\yfcloud\trace\yfcloud_ora_772.trc:

ORA-01172: 線程 1 的恢復停止在塊 451 (在文件 3 中)

ORA-01151: 如果需要, 請使用介質恢復以恢復塊和還原備份

ORA-1172 signalled during: alter database open...

Tue May 21 14:27:29 2013

ALTER DATABASE RECOVER datafile 3

Media Recovery Start

Serial Media Recovery started

Recovery of Online Redo Log: Thread 1 Group 2 Seq 431 Reading mem 0

Mem# 0: F:\APP\ADMINISTRATOR\ORADATA\YFCLOUD\REDO02.LOG

Errors in file f:\app\administrator\diag\rdbms\yfcloud\yfcloud\trace\yfcloud_ora_772.trc (incident=112164):

ORA-00600: 內部錯誤代碼, 參數: [3020], [3], [451], [12583363], [], [], [], [], [], [], [], []

ORA-10567: Redo is inconsistent with data block (file# 3, block# 451, file offset is 3694592 bytes)

ORA-10564: tablespace UNDOTBS1

ORA-01110: 數據文件 3: 'F:\APP\ADMINISTRATOR\ORADATA\YFCLOUD\UNDOTBS01.DBF'

ORA-10560: block type 'KTU UNDO BLOCK'

Media Recovery failed with error 600

ORA-283 signalled during: ALTER DATABASE RECOVER datafile 3 ...

因為file# 3, block# 451和redo信息不一致,出現ora-600[3020]錯誤,而file# 3為undo文件,朋友從而設置undo_management=’manual’并設置了_allow_resetlogs_corruption=true,然后進行不完全恢復,從而出現了如下錯誤提示

Tue May 21 14:41:23 2013

SMON: enabling cache recovery

Corrupt block relative dba: 0x004000e1 (file 1, block 225)

Fractured block found during buffer read

Data in bad block:

type: 6 format: 2 rdba: 0x004000e1

last change scn: 0x0000.00d65120 seq: 0x1 flg: 0x06

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

consistency value in tail: 0xb98e0601

check value in block header: 0xb307

computed block checksum: 0xe8ae

Reading datafile 'F:\APP\ADMINISTRATOR\ORADATA\YFCLOUD\SYSTEM01.DBF'

for corruption at rdba: 0x004000e1 (file 1, block 225)

Reread (file 1, block 225) found same corrupt data

Errors in file f:\app\administrator\diag\rdbms\yfcloud\yfcloud\trace\yfcloud_ora_4892.trc (incident=120165):

ORA-01578: ORACLE 數據塊損壞 (文件號 1, 塊號 225)

ORA-01110: 數據文件 1: 'F:\APP\ADMINISTRATOR\ORADATA\YFCLOUD\SYSTEM01.DBF'

Errors in file f:\app\administrator\diag\rdbms\yfcloud\yfcloud\trace\yfcloud_ora_4892.trc:

ORA-00604: 遞歸 SQL 級別 1 出現錯誤

ORA-01578: ORACLE 數據塊損壞 (文件號 1, 塊號 225)

ORA-01110: 數據文件 1: 'F:\APP\ADMINISTRATOR\ORADATA\YFCLOUD\SYSTEM01.DBF'

Errors in file f:\app\administrator\diag\rdbms\yfcloud\yfcloud\trace\yfcloud_ora_4892.trc:

ORA-00604: 遞歸 SQL 級別 1 出現錯誤

ORA-01578: ORACLE 數據塊損壞 (文件號 1, 塊號 225)

ORA-01110: 數據文件 1: 'F:\APP\ADMINISTRATOR\ORADATA\YFCLOUD\SYSTEM01.DBF'

Error 604 happened during db open, shutting down database

USER (ospid: 4892): terminating the instance due to error 604

從而的原因基本上可以從操作過程中了解到:數據庫是因為file# 3 block# 451和redo不一致導致問題,而恢復的操作人員沖動的使用了_allow_resetlogs_corruption參數,從而使得數據庫出現了不一致性,也就是導致file# 1 block# 225壞塊的根本原因,針對這樣的情況,完全沒有到使用_allow_resetlogs_corruption隱含參數地步

使用bbed修改tailchk

BBED> p tailchk

ub4 tailchk @8188 0xb98e0601

BBED> verify

DBVERIFY - Verification starting

FILE = system01.dbf

BLOCK = 225

Block 225 is corrupt

***

Corrupt block relative dba: 0x004000e1 (file 0, block 225)

Fractured block found during verification

Data in bad block -

type: 6 format: 2 rdba: 0x004000e1

last change scn: 0x0000.00d65120 seq: 0x1 flg: 0x06

consistency value in tail: 0xb98e0601

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

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

***

DBVERIFY - Verification complete

Total Blocks Examined : 1

Total Blocks Processed (Data) : 0

Total Blocks Failing (Data) : 0

Total Blocks Processed (Index): 0

Total Blocks Failing (Index): 0

Total Blocks Empty : 0

Total Blocks Marked Corrupt : 1

Total Blocks Influx : 2

BBED> m /x 01062051

File: system01.dbf (0)

Block: 226 Offsets: 8188 to 8191 Dba:0x00000000

------------------------------------------------------------------------

01062051

<32 bytes per line>

BBED> p tailchk

ub4 tailchk @8188 0x51200601

BBED> sum apply

Check value for File 0, Block 226:

current = 0xb307, required = 0xb307

BBED> verify

DBVERIFY - Verification starting

FILE = system01.dbf

BLOCK = 225

DBVERIFY - Verification complete

Total Blocks Examined : 1

Total Blocks Processed (Data) : 1

Total Blocks Failing (Data) : 0

Total Blocks Processed (Index): 0

Total Blocks Failing (Index): 0

Total Blocks Empty : 0

Total Blocks Marked Corrupt : 0

Total Blocks Influx : 0

bbed修改block之后,數據庫直接正常打開,完成數據庫恢復任務,在這里很明顯是因為錯誤的使用了_allow_resetlogs_corruption參數,屏蔽了redo前滾導致了相關的壞塊,所以大家在數據庫異常恢復的時候,需要知道各個參數的意義,而不要亂使用,很可能導致不可控結果

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的oracle 执行sql参数混乱,乱用_allow_resetlogs_corruption参数导致悲剧的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色一级网址 | 最近最新中文字幕 | 精品国产aⅴ一区二区三区四川人 | 熊猫成人网 | 在线观看香蕉视频 | 日日夜夜天天综合 | 成人首页 | 中文字幕免费观看视频 | 久久一二三区 | 春物催眠 | 人人射视频 | 国模无码国产精品视频 | youjizz中国少妇 | 国产东北真实交换多p免视频 | 欧美成人综合色 | 麻豆影视在线观看 | 国产伦人伦偷精品视频 | 91在线播放视频 | 亚洲国产123 | www.777含羞草 | 天堂av网在线 | 黄色片网站大全 | 黄色自拍网站 | 成人国产精品一区二区 | 少妇 av| 毛茸茸亚洲孕妇孕交片 | 综合伊人av| 在线观看麻豆视频 | 亚洲第一女人av | 视频1区2区| 97看片吧| 一区二区三区久久 | 97久久人人超碰caoprom欧美 | 亚洲精品1| 一级免费av| 狠狠鲁狠狠干 | 少妇喷水在线观看 | 秋霞成人 | 天天想你免费观看完整版高清电影 | 明星毛片 | 精品国产99 | 亚洲一区二区三区四区五区午夜 | 国产精品天干天干 | 成人h动漫精品一区二区 | 久久国产香蕉 | 日本一二三不卡 | 日韩欧美超碰 | 一区二区高潮 | 黄色大片免费网站 | 日韩高清在线一区二区 | 蜜臀av性久久久久蜜臀aⅴ麻豆 | 加勒比波多野结衣 | 亚洲一区二区三区香蕉 | 影音先锋中文字幕在线 | 亚洲国产精品无码久久久久高潮 | 成av人在线观看 | 久精品国产 | 欧美一级性生活视频 | 国产精品一线天 | 日本h在线 | 动漫美女被吸乳奶动漫视频 | 欧美视频性 | 性开放耄耋老妇hd | 日韩国产欧美一区二区三区 | 亚洲黄网av| 影音先锋成人网 | 97超碰碰碰 | 免费黄色高清视频 | 琪琪免费视频 | 春色网站 | 亚洲夜色| 国语对白做受69 | 日本精品人妻无码免费大全 | 国产精品久久久久久久久久久免费看 | 免费在线色视频 | 免费看国产视频 | 亚洲美女视频在线观看 | 日本一级片免费看 | 9l视频自拍九色9l视频 | av国产一区 | 国产精品久久久久久久久绿色 | 国产性70yerg老太 | 欧美成人精品网站 | 91红桃视频 | 亚洲欧美日韩精品一区 | 精品福利视频导航 | 可以直接在线观看的av | 欧美高清在线观看 | 亚洲区色 | 高清国产在线 | 3d动漫精品啪啪一区二区免费 | 天天狠天天插天天透 | 999久久久国产精品 韩国精品一区二区 | 午夜怡红院 | 久久综合久久综合久久综合 | 国产嫩草在线观看 | 亚洲综合成人av | 久久久婷 | 日本中文字幕久久 |