bbed简单替换block测试
有朋友在我论坛中提问copy一个块,如何在前台显示其中数据,前段时间比较忙,没有及时答复该问题,今天通过试验方式进行了测试说明,本试验简单,仅是同一个数据文件中的同一个对象中的两个block进行了替换 创建测试表 SQL conn chf/xifenfeiConnected.SQL create
有朋友在我论坛中提问copy一个块,如何在前台显示其中数据,前段时间比较忙,没有及时答复该问题,今天通过试验方式进行了测试说明,本试验简单,仅是同一个数据文件中的同一个对象中的两个block进行了替换
创建测试表
SQL> conn chf/xifenfei Connected. SQL> create table t_xifenfei as select * from dba_objects; Table created. SQL> select EXTENT_ID,FILE_ID,BLOCK_ID,BLOCKS from dba_extents where segment_name='T_XIFENFEI' AND OWNER='CHF'; EXTENT_ID FILE_ID BLOCK_ID BLOCKS ---------- ---------- ---------- ---------- 0 4 176 8 1 4 184 8 2 4 192 8 3 4 200 8 4 4 208 8 5 4 216 8 6 4 224 8 7 4 232 8 8 4 240 8 9 4 248 8 10 4 256 8 EXTENT_ID FILE_ID BLOCK_ID BLOCKS ---------- ---------- ---------- ---------- 11 4 264 8 12 4 272 8 13 4 280 8 14 4 288 8 15 4 296 8 16 4 384 128 17 4 512 128 18 4 640 128 19 4 768 128 20 4 896 128 21 4 1024 128 EXTENT_ID FILE_ID BLOCK_ID BLOCKS ---------- ---------- ---------- ---------- 22 4 1152 128 23 4 1280 128 24 4 1408 128 25 rows selected. SQL> select * from (select distinct dbms_rowid.rowid_relative_fno(rowid), 2 dbms_rowid.rowid_block_number(rowid) from t_xifenfei ORDER BY 2 )where rownum <p><strong>查询file 4 block 180 数据情况</strong></p> <pre class="brush:php;toolbar:false"> SQL> select object_id from t_xifenfei where dbms_rowid.rowid_relative_fno(rowid)=4 2 and dbms_rowid.rowid_block_number(rowid)=180; OBJECT_ID ---------- 81 82 83 84 85 86 87 88 89 90 91 OBJECT_ID ---------- 92 93 94 95 96 97 98 99 100 101 102 OBJECT_ID ---------- 103 104 105 106 107 108 109 110 111 112 113 OBJECT_ID ---------- 114 115 116 117 118 119 120 121 122 123 124 OBJECT_ID ---------- 125 126 127 129 128 130 131 132 133 134 135 OBJECT_ID ---------- 137 136 138 139 140 141 142 143 144 145 146 OBJECT_ID ---------- 147 148 149 150 151 153 152 154 155 156 76 rows selected.
查询file 4 block 181 数据情况
SQL> select object_id from t_xifenfei where dbms_rowid.rowid_relative_fno(rowid)=4 2 and dbms_rowid.rowid_block_number(rowid)=181; OBJECT_ID ---------- 157 158 159 160 161 162 163 164 165 166 167 OBJECT_ID ---------- 168 169 170 171 172 173 174 175 176 177 178 OBJECT_ID ---------- 179 180 181 182 183 184 185 186 187 188 189 OBJECT_ID ---------- 190 191 192 193 194 195 196 197 198 199 200 OBJECT_ID ---------- 201 202 203 204 205 206 208 207 209 210 211 OBJECT_ID ---------- 212 213 214 215 216 217 218 219 220 221 222 OBJECT_ID ---------- 223 224 225 226 227 228 229 230 231 75 rows selected.
定位file 4 文件名
SQL> select name from v$datafile where file#=4; NAME -------------------------------------------------------------------------------- /u01/app/oracle/oradata/ORCL/users01.dbf
bbed 替换file 4 block 180到file 4 block 181
[oracle@oel6 ~]$ bbed filename='/u01/app/oracle/oradata/ORCL/users01.dbf' mode=edit blocksize=8192 Password: BBED: Release 2.0.0.0.0 - Limited Production on Wed Aug 6 21:17:11 2014 Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved. ************* !!! For Oracle Internal Use only !!! *************** BBED> show all FILE# 0 BLOCK# 1 OFFSET 0 DBA 0x00000000 (0 0,1) FILENAME /u01/app/oracle/oradata/ORCL/users01.dbf BIFILE bifile.bbd LISTFILE BLOCKSIZE 8192 MODE Edit EDIT Unrecoverable IBASE Dec OBASE Dec WIDTH 80 COUNT 512 LOGFILE log.bbd SPOOL No BBED> map File: /u01/app/oracle/oradata/ORCL/users01.dbf (0) Block: 180 Dba:0x00000000 ------------------------------------------------------------ KTB Data Block (Table/Cluster) struct kcbh, 20 bytes @0 struct ktbbh, 96 bytes @20 struct kdbh, 14 bytes @124 struct kdbt[1], 4 bytes @138 sb2 kdbr[76] @142 ub1 freespace[856] @294 ub1 rowdata[7038] @1150 ub4 tailchk @8188 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 0x010000b4 ub4 bas_kcbh @8 0x000b258a ub2 wrp_kcbh @12 0x0000 ub1 seq_kcbh @14 0x02 ub1 flg_kcbh @15 0x04 (KCBHFCKV) ub2 chkval_kcbh @16 0x0eb6 ub2 spare3_kcbh @18 0x0000 BBED> p kcbh block 181 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 0x010000b5 ub4 bas_kcbh @8 0x000b258a ub2 wrp_kcbh @12 0x0000 ub1 seq_kcbh @14 0x02 ub1 flg_kcbh @15 0x04 (KCBHFCKV) ub2 chkval_kcbh @16 0xa1c5 ub2 spare3_kcbh @18 0x0000 BBED> copy block 180 to block 181 File: /u01/app/oracle/oradata/ORCL/users01.dbf (0) Block: 181 Offsets: 0 to 511 Dba:0x00000000 ------------------------------------------------------------------------ 06a20000 b4000001 8a250b00 00000204 b60e0000 01000000 252d0100 84250b00 00000000 03003200 b0000001 ffff0000 00000000 00000000 00000000 00800000 84250b00 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00014c00 ffffaa00 02045803 58030000 4c00221f c21e661e 0e1eb01d 521df81c 9e1c421c ea1b901b 361be11a 8c1a361a da198019 2419c818 73181918 b9176017 0717ae16 5416f815 a2154915 f0149614 3914dc13 7f131f13 c8126e12 1412ba11 61110511 a9104f10 f20f900f 370fdc0e 710e070e a60d430d df0c850c 2a0ccf0b 640bfa0a 9d0a400a e6098509 2e09d408 79081e08 c3076607 0907a206 3806e005 75050b05 b0045a04 02040000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BBED> p kcbh block 181 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 0x010000b4 ub4 bas_kcbh @8 0x000b258a ub2 wrp_kcbh @12 0x0000 ub1 seq_kcbh @14 0x02 ub1 flg_kcbh @15 0x04 (KCBHFCKV) ub2 chkval_kcbh @16 0x0eb6 ub2 spare3_kcbh @18 0x0000 BBED> p rdba_kcbh ub4 rdba_kcbh @4 0x010000b4 BBED> d File: /u01/app/oracle/oradata/ORCL/users01.dbf (0) Block: 181 Offsets: 4 to 515 Dba:0x00000000 ------------------------------------------------------------------------ b4000001 8a250b00 00000204 b60e0000 01000000 252d0100 84250b00 00000000 03003200 b0000001 ffff0000 00000000 00000000 00000000 00800000 84250b00 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00014c00 ffffaa00 02045803 58030000 4c00221f c21e661e 0e1eb01d 521df81c 9e1c421c ea1b901b 361be11a 8c1a361a da198019 2419c818 73181918 b9176017 0717ae16 5416f815 a2154915 f0149614 3914dc13 7f131f13 c8126e12 1412ba11 61110511 a9104f10 f20f900f 370fdc0e 710e070e a60d430d df0c850c 2a0ccf0b 640bfa0a 9d0a400a e6098509 2e09d408 79081e08 c3076607 0907a206 3806e005 75050b05 b0045a04 02040000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BBED> set count 32 COUNT 32 BBED> d File: /u01/app/oracle/oradata/ORCL/users01.dbf (0) Block: 181 Offsets: 4 to 35 Dba:0x00000000 ------------------------------------------------------------------------ b4000001 8a250b00 00000204 b60e0000 01000000 252d0100 84250b00 00000000 BBED> m /x b5 File: /u01/app/oracle/oradata/ORCL/users01.dbf (0) Block: 181 Offsets: 4 to 35 Dba:0x00000000 ------------------------------------------------------------------------ b5000001 8a250b00 00000204 b60e0000 01000000 252d0100 84250b00 00000000 BBED> sum apply Check value for File 0, Block 181: current = 0x0eb7, required = 0x0eb7 BBED> p kcbh block 181 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 0x010000b5 ub4 bas_kcbh @8 0x000b258a ub2 wrp_kcbh @12 0x0000 ub1 seq_kcbh @14 0x02 ub1 flg_kcbh @15 0x04 (KCBHFCKV) ub2 chkval_kcbh @16 0x0eb7 ub2 spare3_kcbh @18 0x0000
验证替换后的file 4 block 181
SQL> select object_id from t_xifenfei where dbms_rowid.rowid_relative_fno(rowid)=4 2 and dbms_rowid.rowid_block_number(rowid)=181; OBJECT_ID ---------- 81 82 83 84 85 86 87 88 89 90 91 OBJECT_ID ---------- 92 93 94 95 96 97 98 99 100 101 102 OBJECT_ID ---------- 103 104 105 106 107 108 109 110 111 112 113 OBJECT_ID ---------- 114 115 116 117 118 119 120 121 122 123 124 OBJECT_ID ---------- 125 126 127 129 128 130 131 132 133 134 135 OBJECT_ID ---------- 137 136 138 139 140 141 142 143 144 145 146 OBJECT_ID ---------- 147 148 149 150 151 153 152 154 155 156 76 rows selected.
通过替换block 180的block到181,查询block 181和180数据相同,证明替换block成功
- dd操作数据文件
- 在UltraEdit中定位数据文件内容
- 系统中数据文件第一个数据块和oracle 中第一个数据块关系
- 使用bbed修复损坏datafile header
- bbed模拟提交事务一之修改itl
- 记录因磁盘头被重写,抢救redo恢复经历
- bbed处理ORA-01200故障
- bbed模拟提交事务二之屏蔽smon回滚事务
原文地址:bbed简单替换block测试, 感谢原作者分享。

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

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

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

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

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

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

뜨거운 주제











뛰어난 성능과 기능 외에도 Xiaomi Mi 14는 NFC도 지원하므로 전화기가 스마트 액세스 카드와 무선으로 통신할 수 있습니다. 설정을 통해 Xiaomi 14의 NFC 기능을 액세스 카드에 바인딩하여 편리한 액세스 카드 관리를 달성할 수 있습니다. 다음으로 편집자는 출입 통제 카드용 Xiaomi 14의 NFC 기능을 설정하는 방법을 소개합니다. Xiaomi 14에서 액세스 제어 카드 NFC를 설정하는 방법은 무엇입니까? 1. 지갑을 열고 도어 카드를 클릭한 후 추가할 실제 도어 카드를 클릭하고 Xiaomi 스마트 잠금 장치를 NFC 영역 가까이에 놓습니다. 2. 팝업 창에서 카드 내용 읽기를 계속하도록 선택하고 Xiaomi 스마트 잠금 장치를 NFC 영역에 다시 가까이 놓은 다음 카드 이름을 입력하고 카드를 선택한 후 마침을 클릭합니다. 3. 쓰기를 클릭하고 Xiaomi 스마트 잠금 장치를 NFC 영역 가까이에 놓아 읽기를 완료합니다. 위의 지침을 따르기만 하면 됩니다.

Furmark에 대해 어떻게 생각하시나요? 1. 메인 인터페이스에서 "실행 모드"와 "디스플레이 모드"를 설정하고 "테스트 모드"도 조정한 후 "시작" 버튼을 클릭하세요. 2. 잠시 기다리면 그래픽 카드의 다양한 매개변수를 포함한 테스트 결과가 표시됩니다. Furmark는 어떻게 자격을 갖추었나요? 1. 푸르마크 베이킹 머신을 사용하여 약 30분 동안 결과를 확인합니다. 기본적으로 85도 정도, 최고 온도는 87도, 실내 온도는 19도입니다. 대형 섀시에 섀시 팬 포트 5개 전면 2개, 상단 2개, 후면 1개로 구성됐으나 팬은 1개만 설치됐다. 모든 액세서리는 오버클럭되지 않습니다. 2. 정상적인 상황에서 그래픽 카드의 정상 온도는 "30-85℃" 사이여야 합니다. 3. 주변온도가 너무 높은 여름에도 정상온도는 "50~85℃"

Moondrop은 오디오 매니아를 위해 외이에 편안하게 착용할 수 있는 Block 진정한 무선 이어버드를 출시했습니다. 외이도에 걸린 이어버드와 달리 Block은 귀가 막히는 느낌을 유발하지 않으며 귀지를 수집하지 않습니다. 13mm 드라이버가 동봉되어 있습니다.

새로운 판타지 요정 MMORPG '주선2'의 '무작용 테스트'가 4월 23일 출시된다. 원작으로부터 수천 년이 지난 주선 대륙에서는 어떤 새로운 요정 모험 이야기가 펼쳐질 것인가? 육계선불세계, 불멸수련을 위한 전임 학원, 불멸수련의 자유로운 삶, 불멸세계의 온갖 즐거움이 불멸친구들이 직접 탐험하는 것을 기다리고 있습니다! 이제 'Wuwei 테스트' 사전 다운로드가 공개되었습니다. 요정 친구들은 공식 웹사이트에 접속하여 다운로드할 수 있습니다. 서버가 출시되기 전에는 게임 서버에 로그인할 수 없습니다. 사전 다운로드 및 설치 후에는 활성화 코드를 사용할 수 있습니다. 완성 됐습니다. "Zhu Xian 2" "Inaction Test" 개장 시간: 4월 23일 10:00 - 5월 6일 23:59 Zhu Xian의 정통 속편 "Zhu Xian 2"의 새로운 요정 모험 장은 "Zhu Xian" 소설을 기반으로 합니다. 원작의 세계관을 바탕으로 게임 배경이 설정되었습니다.

기능 테스트는 블랙박스 및 화이트박스 테스트를 통해 기능 기능성을 검증하고, 코드 커버리지는 테스트 케이스에 포함된 코드 부분을 측정합니다. Python 및 Java와 같은 언어마다 테스트 프레임워크, 적용 범위 도구 및 기능이 다릅니다. 실제 사례에서는 기능 테스트 및 적용 범위 평가를 위해 Python의 Unittest 및 Coverage와 Java의 JUnit 및 JaCoCo를 사용하는 방법을 보여줍니다.

CheatEngine은 게임의 메모리를 편집하고 수정할 수 있는 게임 편집기입니다. 그러나 기본 언어는 중국어가 아니므로 많은 친구들에게 불편을 줍니다. 그렇다면 CheatEngine에서 중국어를 설정하는 방법은 무엇입니까? 오늘은 에디터가 CheatEngine에서 중국어를 설정하는 방법에 대해 자세히 소개하겠습니다. 도움이 되셨으면 좋겠습니다. 설정 방법 1: 1. 두 번 클릭하여 소프트웨어를 열고 왼쪽 상단에 있는 "편집"을 클릭합니다. 2. 그런 다음 아래 옵션 목록에서 "설정"을 클릭하세요. 3. 열리는 창의 왼쪽 열에서 "언어"를 클릭하세요.

PHP에서 개행 문자를 바꾸는 방법에 대한 자세한 설명 PHP 개발에서 문자열의 개행 문자를 바꾸거나 처리해야 하는 경우가 있습니다. 줄 바꿈은 플랫폼마다 다르게 표현될 수 있으므로 문자열이 다양한 환경에서 일관되게 표시되도록 균일하게 처리되어야 합니다. 이 기사에서는 일반적인 개행 문자와 특정 코드 예제를 포함하여 PHP에서 개행 문자를 바꾸는 방법을 자세히 소개합니다. 1. 일반적인 개행 문자 다른 운영 체제에서는 개행 문자의 표현이 약간 다를 수 있습니다. 주요 개행 문자는 다음과 같습니다: Windo

제목: PHP 대체 스킬 공개! 널리 사용되는 서버측 스크립팅 언어인 PHP는 데이터 교체 및 조작을 처리하는 데 자주 사용됩니다. 일상적인 개발에서 우리는 문자열을 교체해야 하는 상황에 자주 직면합니다. 이 기사에서는 PHP의 몇 가지 일반적인 대체 기술을 공개하고 독자가 이러한 기술을 더 잘 익힐 수 있도록 구체적인 코드 예제를 제공합니다. 1. str_replace() 함수를 사용하세요. str_replace() 함수는 PHP에서 가장 일반적으로 사용되는 문자열 교체 함수 중 하나입니다. 그것은 할 수 있다
