bbed修改undo段状态(ORA-01578)
ZBDBA@orcl11gselect * from zbdba;select * from zbdba *ERROR at line 1:ORA-01578: ORACLE data block corrupted (file # 3, block # 1449)ORA-01110: data file 3: /opt/oracle/oradata/orcl11g/undotbs01.dbf 这里是事务正在执行,但是数据库直接以abor
ZBDBA@orcl11g>select * from zbdba; select * from zbdba * ERROR at line 1: ORA-01578: ORACLE data block corrupted (file # 3, block # 1449) ORA-01110: data file 3: '/opt/oracle/oradata/orcl11g/undotbs01.dbf'
这里是事务正在执行,但是数据库直接以abort方式关机,并且对应的回滚段损坏
当然这里其实不需要bbed,只需要用_offline_rollback_segments 隐含参数标记对应的回滚段,然后使用drop rollback segment 该回滚段即可
这里使用bbed目的是在于研究undo回滚段的状态存于何处以及如何修改
这里我们创建另外一个undo表空间,并且切换到该表空间
ZBDBA@orcl11g>create undo tablespace undotbs02 datafile '/opt/oracle/oradata/orcl11g/undotb02.dbf' size 100m; Tablespace created. ZBDBA@orcl11g>alter system set undo_tablespace=undotbs02; System altered. ZBDBA@orcl11g>show parameter undo NAME TYPE VALUE ------------------------------------ ---------------------- ------------------------------ undo_management string AUTO undo_retention integer 900 undo_tablespace string UNDOTBS02
ZBDBA@orcl11g>select segment_name,tablespace_name,status from dba_rollback_segs; SEGMENT_NAME TABLESPACE_NAME STATUS ------------------------------ -------------------- ------------------------------------------------------------ SYSTEM SYSTEM ONLINE _SYSSMU10_3550978943$ UNDOTBS1 ONLINE _SYSSMU9_1424341975$ UNDOTBS1 OFFLINE _SYSSMU8_2012382730$ UNDOTBS1 OFFLINE _SYSSMU7_3286610060$ UNDOTBS1 OFFLINE _SYSSMU6_2443381498$ UNDOTBS1 OFFLINE _SYSSMU5_1527469038$ UNDOTBS1 OFFLINE _SYSSMU4_1152005954$ UNDOTBS1 OFFLINE _SYSSMU3_2097677531$ UNDOTBS1 OFFLINE _SYSSMU2_2232571081$ UNDOTBS1 OFFLINE _SYSSMU1_3780397527$ UNDOTBS1 OFFLINE _SYSSMU20_3705739785$ UNDOTBS02 ONLINE _SYSSMU19_3920348761$ UNDOTBS02 ONLINE _SYSSMU18_2539622763$ UNDOTBS02 ONLINE _SYSSMU17_178842559$ UNDOTBS02 ONLINE _SYSSMU16_3035903491$ UNDOTBS02 ONLINE _SYSSMU15_444141832$ UNDOTBS02 ONLINE _SYSSMU14_3021863913$ UNDOTBS02 ONLINE _SYSSMU13_3717211136$ UNDOTBS02 ONLINE _SYSSMU12_3182721254$ UNDOTBS02 ONLINE _SYSSMU11_3909920883$ UNDOTBS02 ONLINE
undo segment 的状态:
1表示offline并且被删除
2 表示offline
3 表示online
4 未知
5 表示need recovery
SYS@orcl11g>select name,status$ from undo$; NAME STATUS$ ------------------------------------------------------------ ---------- SYSTEM 3 _SYSSMU1_3780397527$ 2 _SYSSMU2_2232571081$ 2 _SYSSMU3_2097677531$ 2 _SYSSMU4_1152005954$ 2 _SYSSMU5_1527469038$ 2 _SYSSMU6_2443381498$ 2 _SYSSMU7_3286610060$ 2 _SYSSMU8_2012382730$ 2 _SYSSMU9_1424341975$ 2 _SYSSMU10_3550978943$ 3 _SYSSMU11_3909920883$ 3 _SYSSMU12_3182721254$ 3 _SYSSMU13_3717211136$ 3 _SYSSMU14_3021863913$ 3 _SYSSMU15_444141832$ 3 _SYSSMU16_3035903491$ 3 _SYSSMU17_178842559$ 3 _SYSSMU18_2539622763$ 3 _SYSSMU19_3920348761$ 3 _SYSSMU20_3705739785$ 3
SYS@orcl11g>alter rollback segment "_SYSSMU10_3550978943$" offline; Rollback segment altered. SYS@orcl11g>drop tablespace UNDOTBS1; drop tablespace UNDOTBS1 * ERROR at line 1: ORA-30013: undo tablespace 'UNDOTBS1' is currently in use
在数据库启动的时候,我们可以是oradebug 10046事件追踪,通过trace文件分析:
PARSING IN CURSOR #2 len=142 dep=1 uid=0 oct=3 lid=0 tim=1414654507002840 hv=361892850 ad='78938c58' sqlid='7bd391hat42zk' select /*+ rule */ name,file#,block#,status$,user#,undosqn,xactsqn,scnbas,scnwrp,DECODE(inst#,0,NULL,inst#),ts#,spare1 from undo$ where us#=:1 END OF STMT PARSE #2:c=0,e=17,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=3,plh=906473769,tim=1414654507002839 BINDS #2: Bind#0 oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00 oacflg=08 fl2=0001 frm=00 csi=00 siz=24 off=0 kxsbbbfp=7fcf70adc448 bln=22 avl=02 flg=05 value=7
SYS@orcl11g>select rowid,dbms_rowid.rowid_object(rowid) robject, 2 dbms_rowid.rowid_relative_fno(rowid) fno, 3 dbms_rowid.rowid_block_number(rowid) bno, 4 dbms_rowid.rowid_row_number(rowid) rno from undo$ where rownum=1; ROWID ROBJECT FNO BNO RNO ------------------ ---------- ---------- ---------- ---------- AAAAAPAABAAAADhAAA 15 1 225 0
BBED> map File: /opt/oracle/oradata/orcl11g/system01.dbf (1) Block: 225 Dba:0x004000e1 ------------------------------------------------------------ KTB Data Block (Table/Cluster) struct kcbh, 20 bytes @0 struct ktbbh, 48 bytes @20 struct kdbh, 14 bytes @68 struct kdbt[1], 4 bytes @82 sb2 kdbr[21] @86 ub1 freespace[3752] @128 ub1 rowdata[4308] @3880 ub4 tailchk @8188
BBED> p kdbr sb2 kdbr[0] @86 8078 sb2 kdbr[1] @88 4071 sb2 kdbr[2] @90 5156 sb2 kdbr[3] @92 5088 sb2 kdbr[4] @94 4206 sb2 kdbr[5] @96 4952 sb2 kdbr[6] @98 4341 sb2 kdbr[7] @100 4816 sb2 kdbr[8] @102 4748 sb2 kdbr[9] @104 4680 sb2 kdbr[10] @106 4611 sb2 kdbr[11] @108 4008 sb2 kdbr[12] @110 5880 sb2 kdbr[13] @112 5817 sb2 kdbr[14] @114 5751 sb2 kdbr[15] @116 3943 sb2 kdbr[16] @118 5622 sb2 kdbr[17] @120 3878 sb2 kdbr[18] @122 5490 sb2 kdbr[19] @124 3812 sb2 kdbr[20] @126 5360 BBED> p *kdbr[10] rowdata[799] ------------ ub1 rowdata[799] @4679 0x2c BBED> x /1rnnnnnnnn rowdata[799] @4679 ------------ flag@4679: 0x2c (KDRHFL, KDRHFF, KDRHFH) lock@4680: 0x00 cols@4681: 17 col 0[2] @4682: 10 col 1[21] @4685: -0 col 2[2] @4707: 1 col 3[2] @4710: 3 col 4[3] @4713: 272 col 5[5] @4717: 5168854 col 6[1] @4723: 0 col 7[3] @4725: 866 col 8[3] @4729: 350 col 9[1] @4733: 0 col 10[2] @4735: 3 col 11[2] @4738: 2 col 12[0] @4741: *NULL* col 13[0] @4742: *NULL* col 14[0] @4743: *NULL* col 15[0] @4744: *NULL* col 16[2] @4745: 2
BBED> modify /x 02 offset 4737 Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y File: /opt/oracle/oradata/orcl11g/system01.dbf (1) Block: 225 Offsets: 4737 to 5248 Dba:0x004000e1 ------------------------------------------------------------------------ 0202c103 ffffffff 02c1032c 011102c1 0a145f53 5953534d 55395f31 34323433 34313937 352402c1 0202c104 03c20339 05c40614 12210180 03c20b5e 03c2045e 018002c1 0302c103 ffffffff 02c1032c 001102c1 09145f53 5953534d 55385f32 30313233 38323733 302402c1 0202c104 03c20329 05c40614 11380180 03c20b40 03c20334 018002c1 0302c103 ffffffff 02c1032c 001102c1 08145f53 5953534d 55375f33 32383636 31303036 302402c1 0202c104 03c20319 05c40614 11350180 03c20953 03c20418 018002c1 0302c103 ffffffff 02c1032c 001102c1 07145f53 5953534d 55365f32 34343333 38313439 382402c1 0202c104 03c20309 05c40220 295a0180 03c20944 03c20261 018002c1 0402c103 ffffffff 02c1032c 001102c1 06145f53 5953534d 55355f31 35323734 36393033 382402c1 0202c104 03c2025d 05c40614 11340180 03c20d4c 03c20512 018002c1 0302c103 ffffffff 02c1032c 001102c1 05145f53 5953534d 55345f31 31353230 30353935 342402c1 0202c104 03c2024d 05c4023e 14400180 03c2084c 03c20461 018002c1 0402c103 ffffffff 02c1032c 001102c1 04145f53 5953534d 55335f32 30393736 37373533 312402c1 0202c104 03c2023d 05c40614 11360180 03c20b5d 03c2053a 018002c1 0302c103 ffffffff 02c1032c 001102c1 03145f53 5953534d 55325f32 32333235 37313038 <32 bytes per line> BBED> p *kdbr[10] rowdata[799] ------------ ub1 rowdata[799] @4679 0x2c BBED> x /1rnnnnnnnn rowdata[799] @4679 ------------ flag@4679: 0x2c (KDRHFL, KDRHFF, KDRHFH) lock@4680: 0x00 cols@4681: 17 col 0[2] @4682: 10 col 1[21] @4685: -0 col 2[2] @4707: 1 col 3[2] @4710: 3 col 4[3] @4713: 272 col 5[5] @4717: 5168854 col 6[1] @4723: 0 col 7[3] @4725: 866 col 8[3] @4729: 350 col 9[1] @4733: 0 col 10[2] @4735: 1 col 11[2] @4738: 2 col 12[0] @4741: *NULL* col 13[0] @4742: *NULL* col 14[0] @4743: *NULL* col 15[0] @4744: *NULL* col 16[2] @4745: 2 BBED> sum apply; Check value for File 1, Block 225: current = 0x93df, required = 0x93df BBED> verify DBVERIFY - Verification starting FILE = /opt/oracle/oradata/orcl11g/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 Message 531 not found; product=RDBMS; facility=BBED
SYS@orcl11g>alter system flush buffer_cache; System altered. SYS@orcl11g>select segment_name,tablespace_name,status from dba_rollback_segs; SEGMENT_NAME TABLESPACE_NAME STATUS ------------------------------ -------------------- ------------------------------------------------------------ SYSTEM SYSTEM ONLINE _SYSSMU10_3550978943$ UNDOTBS1 OFFLINE _SYSSMU9_1424341975$ UNDOTBS1 OFFLINE _SYSSMU8_2012382730$ UNDOTBS1 OFFLINE _SYSSMU7_3286610060$ UNDOTBS1 OFFLINE _SYSSMU6_2443381498$ UNDOTBS1 OFFLINE _SYSSMU5_1527469038$ UNDOTBS1 OFFLINE _SYSSMU4_1152005954$ UNDOTBS1 OFFLINE _SYSSMU3_2097677531$ UNDOTBS1 OFFLINE _SYSSMU2_2232571081$ UNDOTBS1 OFFLINE _SYSSMU1_3780397527$ UNDOTBS1 OFFLINE _SYSSMU20_3705739785$ UNDOTBS02 ONLINE _SYSSMU19_3920348761$ UNDOTBS02 ONLINE _SYSSMU18_2539622763$ UNDOTBS02 ONLINE _SYSSMU17_178842559$ UNDOTBS02 ONLINE _SYSSMU16_3035903491$ UNDOTBS02 ONLINE _SYSSMU15_444141832$ UNDOTBS02 ONLINE _SYSSMU14_3021863913$ UNDOTBS02 ONLINE _SYSSMU13_3717211136$ UNDOTBS02 ONLINE _SYSSMU12_3182721254$ UNDOTBS02 ONLINE _SYSSMU11_3909920883$ UNDOTBS02 ONLINE SYS@orcl11g>select name,status$ from undo$; NAME STATUS$ ------------------------------------------------------------ ---------- SYSTEM 3 _SYSSMU1_3780397527$ 2 _SYSSMU2_2232571081$ 2 _SYSSMU3_2097677531$ 2 _SYSSMU4_1152005954$ 2 _SYSSMU5_1527469038$ 2 _SYSSMU6_2443381498$ 2 _SYSSMU7_3286610060$ 2 _SYSSMU8_2012382730$ 2 _SYSSMU9_1424341975$ 2 _SYSSMU10_3550978943$ 1 _SYSSMU11_3909920883$ 3 _SYSSMU12_3182721254$ 3 _SYSSMU13_3717211136$ 3 _SYSSMU14_3021863913$ 3 _SYSSMU15_444141832$ 3 _SYSSMU16_3035903491$ 3 _SYSSMU17_178842559$ 3 _SYSSMU18_2539622763$ 3 _SYSSMU19_3920348761$ 3 _SYSSMU20_3705739785$ 3 SYS@orcl11g>select name,status$ from undo$; NAME STATUS$ ------------------------------------------------------------ ---------- SYSTEM 3 _SYSSMU1_3780397527$ 1 _SYSSMU2_2232571081$ 1 _SYSSMU3_2097677531$ 1 _SYSSMU4_1152005954$ 1 _SYSSMU5_1527469038$ 1 _SYSSMU6_2443381498$ 1 _SYSSMU7_3286610060$ 1 _SYSSMU8_2012382730$ 1 _SYSSMU9_1424341975$ 1 _SYSSMU10_3550978943$ 1 _SYSSMU11_3909920883$ 3 _SYSSMU12_3182721254$ 3 _SYSSMU13_3717211136$ 3 _SYSSMU14_3021863913$ 3 _SYSSMU15_444141832$ 3 _SYSSMU16_3035903491$ 3 _SYSSMU17_178842559$ 3 _SYSSMU18_2539622763$ 3 _SYSSMU19_3920348761$ 3 _SYSSMU20_3705739785$ 3 21 rows selected.
重新启动数据库,发现offline的回滚段不存在:
SYS@orcl11g>col segment_name for a30; SYS@orcl11g>col tablespace_name for a30; SYS@orcl11g>select segment_name,tablespace_name,status from dba_rollback_segs; SEGMENT_NAME TABLESPACE_NAME STATUS ------------------------------ ------------------------------ ------------------------------------------------------------ SYSTEM SYSTEM ONLINE _SYSSMU20_3705739785$ UNDOTBS02 ONLINE _SYSSMU19_3920348761$ UNDOTBS02 ONLINE _SYSSMU18_2539622763$ UNDOTBS02 ONLINE _SYSSMU17_178842559$ UNDOTBS02 ONLINE _SYSSMU16_3035903491$ UNDOTBS02 ONLINE _SYSSMU15_444141832$ UNDOTBS02 ONLINE _SYSSMU14_3021863913$ UNDOTBS02 ONLINE _SYSSMU13_3717211136$ UNDOTBS02 ONLINE _SYSSMU12_3182721254$ UNDOTBS02 ONLINE _SYSSMU11_3909920883$ UNDOTBS02 ONLINE 这时候我们来查看该表: SYS@orcl11g>conn zbdba/oracle; Connected. ZBDBA@orcl11g>select * from zbdba; NAME ------------------------------------------------------------ zbbda

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











1. 먼저 딩톡을 실행하세요. 2. 그룹 채팅을 열고 오른쪽 상단에 있는 점 3개를 클릭하세요. 3. 이 그룹에서 내 닉네임을 찾아보세요. 4. 입력하여 수정하고 저장하려면 클릭하세요.

"이벤트 로그 메시지의 연결 상태에는 대기: NIC 준수로 인해 연결이 끊어졌습니다. 이는 시스템이 대기 모드에 있고 네트워크 인터페이스 카드(NIC)의 연결이 끊어졌음을 의미합니다. 이는 일반적으로 네트워크 문제이지만 발생할 수 있습니다. 다음에서는 "대기 연결 끊김의 원인은 무엇입니까?"에 대해 알아보겠습니다. NIC 준수? Windows 이벤트 뷰어에 "ConnectivityStatusinStandby:DisConnected,Reason:NICCompliance" 메시지가 표시되는 경우 이는 NIC 또는 네트워크 인터페이스 컨트롤러에 문제가 있을 수 있음을 나타냅니다. 이런 상황은 대개

일부 게임은 사용자 폴더에 자동으로 설치되며 영어 폴더가 필요합니다. 그러나 많은 친구들은 win11에서 사용자 폴더 이름을 수정하는 방법을 모릅니다. 실제로 사용자 이름만 수정하면 됩니다. win11에서 사용자 폴더 이름 수정: 첫 번째 단계는 키보드에서 "Win+R" 키 조합을 누르는 것입니다. 두 번째 단계에서는 "gpedit.msc"를 입력하고 Enter 키를 눌러 그룹 정책 편집기를 엽니다. 3단계: "Windows 설정" 아래의 "보안 설정"을 확장합니다. 4단계: "로컬 정책"에서 "보안 옵션"을 엽니다. 5단계: 오른쪽의 "계정: 시스템 관리자 계정 이름 바꾸기" 정책을 두 번 클릭하여 엽니다. 6단계: 아래에 수정하려는 폴더 이름을 입력하고 "확인"을 클릭하여 저장하세요. 사용자 폴더 수정

Douyin Blue V 인증은 Douyin 플랫폼에 있는 회사 또는 브랜드의 공식 인증으로 브랜드 이미지와 신뢰성을 높이는 데 도움이 됩니다. 기업 개발 전략 조정 또는 브랜드 이미지 업데이트로 인해 회사는 Douyin Blue V 인증의 이름을 변경할 수 있습니다. 그럼 Douyin Blue V가 이름을 바꿀 수 있을까요? 대답은 '예'입니다. 이 글에서는 기업 Douyin Blue V 계정의 이름을 수정하는 단계를 자세히 소개합니다. 1. Douyin Blue V의 이름을 변경할 수 있나요? Douyin Blue V 계정의 이름을 변경할 수 있습니다. Douyin의 공식 규정에 따라 기업 Blue V 인증 계정은 특정 조건을 충족한 후 계정 이름 변경을 신청할 수 있습니다. 일반적으로 기업은 이름 변경의 적법성과 필요성을 입증하기 위해 영업 허가증, 조직 코드 인증서 등과 같은 관련 지원 자료를 제공해야 합니다. 2. 기업 Douyin Blue V 계정의 이름을 수정하려면 어떤 단계를 거쳐야 합니까?

잘 알려진 소셜 플랫폼인 Momo는 사용자에게 일상적인 소셜 상호 작용을 위한 풍부한 기능적 서비스를 제공합니다. Momo에서는 사용자가 쉽게 자신의 생활 상태를 공유하고, 친구를 사귀고, 채팅 등을 할 수 있습니다. 그 중 상태 설정 기능을 통해 사용자는 자신의 현재 기분과 상태를 다른 사람에게 보여줄 수 있어 더 많은 사람들의 관심과 소통을 유도할 수 있다. 그렇다면 자신만의 모모 상태를 설정하는 방법에 대해 자세히 소개해드리겠습니다! Momo에서 상태를 설정하는 방법은 무엇입니까? 1. 모모를 열고 오른쪽 하단의 더보기를 클릭한 후 일일현황을 찾아 클릭하세요. 2. 상태를 선택하세요. 3. 설정 상태가 표시됩니다.

PyCharm의 배경색을 수정하는 기술을 빠르게 익히려면 구체적인 코드 예제가 필요합니다. 최근에는 프로그램 개발 분야에서 Python 언어가 점점 더 대중화되고 있으며, PyCharm은 통합 개발 환경(IDE)으로 사용됩니다. , 대다수의 개발자가 사랑하고 사용합니다. PyCharm에서 일부 개발자는 배경색 변경을 포함하여 IDE 인터페이스를 개인화하는 경우가 많습니다. 이 기사에서는 PyCharm의 배경색을 수정하는 기술을 소개하고 독자가 이 기술을 빠르게 익힐 수 있도록 구체적인 코드 예제를 제공합니다.

Win10 절전 시간 수정 팁 공개 현재 널리 사용되는 운영체제 중 하나인 Windows 10에는 사용자가 컴퓨터를 사용하지 않을 때 전원을 절약하고 화면을 보호할 수 있도록 절전 기능이 있습니다. 그러나 기본 절전 시간이 사용자의 요구 사항을 충족하지 못하는 경우도 있으므로 Win10 절전 시간을 수정하는 방법을 아는 것이 특히 중요합니다. 이 문서에서는 Win10의 절전 시간을 수정하여 시스템의 절전 설정을 쉽게 사용자 지정할 수 있는 팁을 공개합니다. 1. "설정"을 통해 Win10 절전 시간 수정 먼저, 가장 간단한 수정

느린 다운로드 속도 문제를 해결하려면 pip 소스를 빠르게 수정하세요. 소개: Python을 사용하는 개발 과정에서 다양한 타사 라이브러리를 설치해야 하는 경우가 많습니다. 그러나 네트워크 환경의 제한이나 기본 소스 문제로 인해 pip 다운로드 속도가 매우 느린 경우가 많아 개발에 불편을 초래하고 있습니다. 따라서 이 기사에서는 다운로드 속도가 느린 문제를 해결하기 위해 pip 소스를 빠르게 수정하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. 문제 분석 pip를 사용하여 타사 라이브러리를 다운로드할 때,
