[20171124]bbed的使用問題2.txt

来源:http://www.cnblogs.com/lfree/archive/2017/11/24/7888880.html
-Advertisement-
Play Games

[20171124]bbed的使用問題2.txt--//bbed 是探究oracle數據塊的好工具,有時候不用轉儲,直接可以它看oracle內部塊的內部結構.--//在使用中要註意一些問題,昨天又犯類似錯誤,通過例子來說明:SCOTT@book> select rowid,dept.* from d ...


[20171124]bbed的使用問題2.txt

--//bbed 是探究oracle數據塊的好工具,有時候不用轉儲,直接可以它看oracle內部塊的內部結構.
--//在使用中要註意一些問題,昨天又犯類似錯誤,通過例子來說明:

SCOTT@book> select rowid,dept.* from dept;

ROWID                  DEPTNO DNAME          LOC
------------------ ---------- -------------- -------------
AAAVRCAAEAAAACHAAA         10 ACCOUNTING     NEW YORK
AAAVRCAAEAAAACHAAB         20 RESEARCH       DALLAS
AAAVRCAAEAAAACHAAC         30 SALES          CHICAGO
AAAVRCAAEAAAACHAAD         40 OPERATIONS     BOSTON

SCOTT@book> @ &r/rowid AAAVRCAAEAAAACHAAA
    OBJECT       FILE      BLOCK        ROW ROWID_DBA            DBA                  TEXT
---------- ---------- ---------- ---------- -------------------- -------------------- ----------------------------------------
     87106          4        135          0  0x1000087           4,135                alter system dump datafile 4 block 135 ;

SCOTT@book> select OWNER,SEGMENT_NAME,SEGMENT_TYPE,HEADER_FILE,HEADER_BLOCK from dba_segments where owner=user and segment_name='DEPT';
OWNER  SEGMENT_NAME         SEGMENT_TYPE       HEADER_FILE HEADER_BLOCK
------ -------------------- ------------------ ----------- ------------
SCOTT  DEPT                 TABLE                        4          130

--//我曾經提到過:
--//如果我執行如下類似命令:
BBED> p tailchk dba 4,131
ub4 tailchk                                 @8188     0x0ee40602

BBED> p tailchk dba 4,130
BBED-00400: invalid blocktype (35)


BBED> p tailchk dba 4,131
BBED-00400: invalid blocktype (35)

--//我當時使用的方法是首先輸入dba在前面.對於上面的命令你可以理解如下:
BBED> set dba 4,131
        DBA             0x01000083 (16777347 4,131)

BBED> p tailchk dba 4,130
BBED-00400: invalid blocktype (35)

BBED> show all
        FILE#           4
        BLOCK#          130
        OFFSET          8188
        DBA             0x01000082 (16777346 4,130)
        FILENAME        /mnt/ramdisk/book/users01.dbf
        BIFILE          bifile.bbd
        LISTFILE        /home/oracle/bbed/filelist.txt
        BLOCKSIZE       8192
        MODE            Edit
        EDIT            Unrecoverable
        IBASE           Dec
        OBASE           Dec
        WIDTH           160
        COUNT           64
        LOGFILE         log.bbd
        SPOOL           Yes
--//註意看show all現在顯示的FILE#=4,BLOCK#=130.

BBED> p tailchk dba 4,131
BBED-00400: invalid blocktype (35)

--//當你再輸入p tailchk dba 4,131時,實際上先訪問dba 4,130,再去訪問dba 4,131.
--//如果dba 4,130訪問異常,就不會訪問dba 4,131.執行出錯.

BBED> p dba 4,131 tailchk
ub4 tailchk                                 @8188     0x0ee40602

--//我感覺bbed的執行方式最好按照幫助提示的要求輸入參數.這樣一般不會錯.
--//比如顯示P命令的執行方式:
BBED> help p
PRINT[/x|d|u|o|c] [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]

--//最好按照顯示參數的順序輸入基本沒有問題,輸入如下:
BBED> p  dba 4,131 tailchk
ub4 tailchk                                 @8188     0x0ee40602
--//可以直接讀訪問dba 4,131的tailchk.

BBED> p /d dba 4,131 tailchk
ub4 tailchk                                 @8188     249824770

BBED> p  filename '/mnt/ramdisk/book/users01.dbf'  block 131 tailchk
ub4 tailchk                                 @8188     0x0ee40602

--//如果寫成如下:
BBED> p  filename '/mnt/ramdisk/book/users01.dbf'   tailchk block 131
ub4 tailchk                                 @0        0x0000a206
--//我根本不知道訪問的是那個塊.

--//dump也有類似的命令輸入方式:

BBED> help dump
DUMP[/v] [ DBA | FILENAME | FILE | BLOCK | OFFSET | COUNT ]

BBED> dump /v filename '/mnt/ramdisk/book/users01.dbf' block 131 offset 0 count 256
 File: /mnt/ramdisk/book/users01.dbf (4)
 Block: 131                               Offsets:    0 to  255                            Dba:0x01000083
-----------------------------------------------------------------------------------------------------------
 06a20000 83000001 e40e0e00 00000204 5d700000 01000c00 42540100 e40e0e00 l ................]p......BT......
 0000e81f 02003200 80000001 00000000 00000000 00000000 00000000 00000000 l ......2.........................
 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 l ................................
 00000000 00000000 ffff0e00 981f8a1f 8a1f0000 0000c819 73191e19 c5186c18 l ........................s.....l.
 1018b417 5817fc16 a0164416 e8158c15 3215d814 7c142014 c6136c13 1913c612 l ....X.....D.....2...|. ...l.....
 6b121012 ba116411 0811ac10 58100410 a80f4c0f f50e9d0e 430ee90d 970d450d l k.....d.....X.....L.....C.....E.
 f10c9d0c 450ced0b 970b410b f50aa90a 4d0af109 a1095109 0109b108 5d080908 l ....E.....A.....M.....Q.....]...
 bf077507 1f07c906 70061706 bb055f05 0b05b704 5c040104 b812c812 d812e812 l ..u.....p....._.....\...........
<32 bytes per line>

--//如果輸入如下:
BBED> dump /v offset 0    count 256 filename '/mnt/ramdisk/book/users01.dbf' block 135
 File: /mnt/ramdisk/book/users01.dbf (4)
 Block: 135                               Offsets:    0 to  255                            Dba:0x01000087
-----------------------------------------------------------------------------------------------------------
 06a20000 87000001 70786917 03000204 56a50000 01001600 42540100 70786917 l ........pxi.....V.......BT..pxi.
 0300e81f 021f3200 80000001 09000200 64030000 b067c100 9a002e00 00800000 l ......2.........d....g..........
 f00e0e00 00000000 00000000 00000000 00000000 00000000 00000000 00000000 l ................................
 00000000 00010400 ffff1a00 261f221f 221f0000 04007e1f 261f541f 3c1f8918 l ............&.".".....~.&.T.<...
 2d18d117 7e172b17 d8168516 3216df15 8b153715 db147f14 2314c713 74132113 l -...~.+.....2.....7.....#...t.!.
 c5126912 0d12b111 5511f910 9d104110 e50f890f 350fe10e 850e290e ce0d730d l ..i.....U.....A.....5.....)...s.
 170dbb0c 640c0d0c ba0b670b 140bc10a 6e0a1b0a c8097509 1a09bf08 6b081608 l ....d.....g.....n.....u.....k...
 bb076007 0e07bc06 6a061806 c5057205 1605ba04 65041004 02000400 12000000 l ..`.....j.....r.....e...........

 <32 bytes per line>

BBED> dump /v offset 8000    count 256 filename '/mnt/ramdisk/book/users01.dbf' block 135
 File: /mnt/ramdisk/book/users01.dbf (4)
 Block: 135                               Offsets:    0 to  255                            Dba:0x01000087
-----------------------------------------------------------------------------------------------------------
 06a20000 87000001 70786917 03000204 56a50000 01001600 42540100 70786917 l ........pxi.....V.......BT..pxi.
 0300e81f 021f3200 80000001 09000200 64030000 b067c100 9a002e00 00800000 l ......2.........d....g..........
 f00e0e00 00000000 00000000 00000000 00000000 00000000 00000000 00000000 l ................................
 00000000 00010400 ffff1a00 261f221f 221f0000 04007e1f 261f541f 3c1f8918 l ............&.".".....~.&.T.<...
 2d18d117 7e172b17 d8168516 3216df15 8b153715 db147f14 2314c713 74132113 l -...~.+.....2.....7.....#...t.!.
 c5126912 0d12b111 5511f910 9d104110 e50f890f 350fe10e 850e290e ce0d730d l ..i.....U.....A.....5.....)...s.
 170dbb0c 640c0d0c ba0b670b 140bc10a 6e0a1b0a c8097509 1a09bf08 6b081608 l ....d.....g.....n.....u.....k...
 bb076007 0e07bc06 6a061806 c5057205 1605ba04 65041004 02000400 12000000 l ..`.....j.....r.....e...........

 <32 bytes per line>
--//第一次執行是正確的,而第2次就不對了(offset還是0).

--//如果按照dump幫助的順序輸入參數,就不會出問題了.
BBED> help dump
DUMP[/v] [ DBA | FILENAME | FILE | BLOCK | OFFSET | COUNT ]

BBED> dump /v filename '/mnt/ramdisk/book/users01.dbf' block 135 offset 0    count 256
 File: /mnt/ramdisk/book/users01.dbf (4)
 Block: 135                               Offsets:    0 to  255                            Dba:0x01000087
-----------------------------------------------------------------------------------------------------------
 06a20000 87000001 70786917 03000204 56a50000 01001600 42540100 70786917 l ........pxi.....V.......BT..pxi.
 0300e81f 021f3200 80000001 09000200 64030000 b067c100 9a002e00 00800000 l ......2.........d....g..........
 f00e0e00 00000000 00000000 00000000 00000000 00000000 00000000 00000000 l ................................
 00000000 00010400 ffff1a00 261f221f 221f0000 04007e1f 261f541f 3c1f8918 l ............&.".".....~.&.T.<...
 2d18d117 7e172b17 d8168516 3216df15 8b153715 db147f14 2314c713 74132113 l -...~.+.....2.....7.....#...t.!.
 c5126912 0d12b111 5511f910 9d104110 e50f890f 350fe10e 850e290e ce0d730d l ..i.....U.....A.....5.....)...s.
 170dbb0c 640c0d0c ba0b670b 140bc10a 6e0a1b0a c8097509 1a09bf08 6b081608 l ....d.....g.....n.....u.....k...
 bb076007 0e07bc06 6a061806 c5057205 1605ba04 65041004 02000400 12000000 l ..`.....j.....r.....e...........

 <32 bytes per line>

BBED> dump /v filename '/mnt/ramdisk/book/users01.dbf' block 135 offset 8000 count 256
 File: /mnt/ramdisk/book/users01.dbf (4)
 Block: 135                               Offsets: 8000 to 8191                            Dba:0x01000087
-----------------------------------------------------------------------------------------------------------
 ff0180ff 018004c3 07382402 c1022c00 1204c306 2423ff01 80196a61 76612f6e l .........8$...,.....$#....java/n
 65742f55 524c436c 6173734c 6f616465 72243402 c102ff02 c11e0778 7108180c l et/URLClassLoader$4........xq...
 2e120778 7108180c 2e122c00 0302c115 08524553 45415243 48064441 4c4c4153 l ...xq.....,......RESEARCH.DALLAS
 2c000302 c1290a4f 50455241 54494f4e 5306424f 53544f4e 2c000302 c11f0553 l ,....).OPERATIONS.BOSTON,......S
 414c4553 07434849 4341474f 3c020302 c1150852 45534541 52434806 44414c4c l ALES.CHICAGO<......RESEARCH.DALL
 41532c00 0302c10b 0a414343 4f554e54 494e4708 4e455720 594f524b 02067078 l AS,......ACCOUNTING.NEW YORK..px

 <32 bytes per line>


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 最近碰到一個這樣的現象,後臺返回的數據中,數組裡面有一些有變數值,有一些沒有變數值。 舉個例子,比如後臺返回的例子是這樣的: 很明顯第二條數據少了activeUser這個變數值,那麼在渲染數據的時候就有有一點問題。 接下來是判斷這個變數是不是在數組中 用的是indexOf方法(數組中有多個相同變數的 ...
  • --web客戶端JavaScript <!-- 調用方式 --> <body onload="checkCookie()"></body> function getYourIP() { const RTCPeerConnection = window.RTCPeerConnection || win ...
  • JSONP技術 JSONP是解決跨域問題的一種常見方式 跨域問題,因為瀏覽器有同源策略,所以當不同域間進行數據交互的時候就會出現跨域問題 同源策略:只有在同協議、同功能變數名稱、同埠的情況下才能進去數據交互 JSONP的原理:可以利用script標簽(會使用回調函數來接收數據)的src屬性不受同源策略的影 ...
  • 繼承是一種節省記憶體,復用代碼,使代碼組織更高效的編程思想。在本篇文章中,我將詳細解釋JavaScript中繼承的實現方式,相信通過閱讀本篇文章,你將徹底掌握JavaScript繼承技術,希望你能在工作中找準時機,發揮這一技術的價值。 ...
  • 在學習廖雪峰前輩的JavaScript教程中,遇到了一些需要註意的點,因此作為學習筆記列出來,提醒自己註意! 如果大家有需要,歡迎訪問前輩的博客https://www.liaoxuefeng.com/學習。 在一個對象中綁定函數,我們稱這個函數是這個對象的方法。 在前面的學習中,對象的定義如下: 如 ...
  • 什麼是動作呢?顧名思義它是管理運行環境中所有動作的中樞,通俗點講就是動畫。它也是總個框架核心組件之一,它提供動作的創建、刪除、插入,以及提供對關鍵幀與過渡的諸多操作 ...
  • Bootstrap FileInput中文API整理 這段時間做項目用到bootstrap fileinput插件上傳文件,在用的過程中,網上能查到的api都不是很全,所以想著整理一份比較詳細的文檔,方便自己今後使用,也希望能給大家帶來幫助,如有錯誤,希望大家積極指正。 一、 引入文件 <link ...
  • 效果實現圖 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...