有朋友在我论坛中提问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测试, 感谢原作者分享。

In der Datenbankoptimierung sollten Indexierungsstrategien gemäß Abfrageanforderungen ausgewählt werden: 1. Wenn die Abfrage mehrere Spalten beinhaltet und die Reihenfolge der Bedingungen festgelegt ist, verwenden Sie zusammengesetzte Indizes. 2. Wenn die Abfrage mehrere Spalten beinhaltet, aber die Reihenfolge der Bedingungen nicht festgelegt ist, verwenden Sie mehrere einspaltige Indizes. Zusammengesetzte Indizes eignen sich zur Optimierung von Multi-Säulen-Abfragen, während Einspaltindizes für Einspalten-Abfragen geeignet sind.

Um die MySQL -Abfrage zu optimieren, müssen SlowQuerylog und Performance_Schema verwendet werden: 1. Aktivieren Sie SlowQuerylog und setzen Sie Schwellenwerte, um langsame Abfragen aufzuzeichnen; 2. Verwenden Sie Performance_Schema, um die Details zur Ausführung von Abfragen zu analysieren, Leistungs Engpässe zu finden und zu optimieren.

MySQL und SQL sind wesentliche Fähigkeiten für Entwickler. 1.MYSQL ist ein Open -Source -Relational Database Management -System, und SQL ist die Standardsprache, die zum Verwalten und Betrieb von Datenbanken verwendet wird. 2.MYSQL unterstützt mehrere Speichermotoren durch effiziente Datenspeicher- und Abruffunktionen, und SQL vervollständigt komplexe Datenoperationen durch einfache Aussagen. 3. Beispiele für die Nutzung sind grundlegende Abfragen und fortgeschrittene Abfragen wie Filterung und Sortierung nach Zustand. 4. Häufige Fehler umfassen Syntaxfehler und Leistungsprobleme, die durch Überprüfung von SQL -Anweisungen und Verwendung von Erklärungsbefehlen optimiert werden können. 5. Leistungsoptimierungstechniken umfassen die Verwendung von Indizes, die Vermeidung vollständiger Tabellenscanning, Optimierung von Join -Operationen und Verbesserung der Code -Lesbarkeit.

MySQL Asynchronous Master-Slave-Replikation ermöglicht die Datensynchronisation durch Binlog, die die Leseleistung und die hohe Verfügbarkeit verbessert. 1) Der Master -Server -Datensatz ändert sich am Binlog; 2) Der Slave -Server liest Binlog über E/A -Threads; 3) Der Server -SQL -Thread wendet BinLog an, um Daten zu synchronisieren.

MySQL ist ein Open Source Relational Database Management System. 1) Datenbank und Tabellen erstellen: Verwenden Sie die Befehle erstellte und creatEtable. 2) Grundlegende Vorgänge: Einfügen, aktualisieren, löschen und auswählen. 3) Fortgeschrittene Operationen: Join-, Unterabfrage- und Transaktionsverarbeitung. 4) Debugging -Fähigkeiten: Syntax, Datentyp und Berechtigungen überprüfen. 5) Optimierungsvorschläge: Verwenden Sie Indizes, vermeiden Sie ausgewählt* und verwenden Sie Transaktionen.

Die Installation und die grundlegenden Vorgänge von MySQL umfassen: 1. MySQL herunterladen und installieren, das Stammbenutzerkennwort festlegen. 2. Verwenden Sie SQL -Befehle, um Datenbanken und Tabellen zu erstellen, wie z. 3. Ausführen von CRUD -Operationen, verwenden Sie Einfügen, auswählen, aktualisieren, Befehle löschen; 4. Erstellen Sie Indizes und gespeicherte Verfahren, um die Leistung zu optimieren und komplexe Logik zu implementieren. Mit diesen Schritten können Sie MySQL -Datenbanken von Grund auf neu erstellen und verwalten.

InnoDbbufferpool verbessert die Leistung von MySQL -Datenbanken durch das Laden von Daten und Indexseiten in den Speicher. 1) Die Datenseite wird in das Bufferpool geladen, um die Festplatten -E/A zu reduzieren. 2) Schmutzige Seiten sind regelmäßig markiert und auf der Festplatte aktualisiert. 3) LRU -Algorithmusverwaltungsdatenseite Eliminierung. 4) Der Lese-Out-Mechanismus lädt die möglichen Datenseiten im Voraus.

MySQL ist für Anfänger geeignet, da es einfach zu installieren, leistungsfähig und einfach zu verwalten ist. 1. Einfache Installation und Konfiguration, geeignet für eine Vielzahl von Betriebssystemen. 2. Unterstützung grundlegender Vorgänge wie Erstellen von Datenbanken und Tabellen, Einfügen, Abfragen, Aktualisieren und Löschen von Daten. 3. Bereitstellung fortgeschrittener Funktionen wie Join Operations und Unterabfragen. 4. Die Leistung kann durch Indexierung, Abfrageoptimierung und Tabellenpartitionierung verbessert werden. 5. Backup-, Wiederherstellungs- und Sicherheitsmaßnahmen unterstützen, um die Datensicherheit und -konsistenz zu gewährleisten.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen