dd備份裸裝置v1 0

2021-06-03 07:56:45 字數 4008 閱讀 2578

裸裝置是指乙個磁碟或者分割槽,它不包含檔案系統,所以乙個裸裝置只能包含乙個檔案。

通過作業系統來備份raw裝置上的檔案,需要注意一些細節問題。下面具體討論一下。

backing up to raw devices on unix

unix下備份raw裝置,最常用的就是dd命令。

使用dd命令需要制定一些正確的引數,這些引數是基於你的os以及database的。

unix和linux下對裸裝置的備份是不同的。我們首先來了解三個概念

data

explanation

block size

也就是bs選項。這個大小是指dd一次拷貝資料大小。這個和oracle的資料塊大小是沒有關聯的,和os也沒有關聯。

需要注意的是:這個數值的大小影響到你拷貝資料的速度。bs大,拷貝速度會變快。

raw offset

在一些os上,在裸裝置上的檔案的開頭是被os使用的。這些儲存空間被叫做raw offset,oracle不會備份和恢復這些內容(位元組)。

note:1.備份的時候要跳過含有offset的位元組。

2.現在的一些新的系統,已經沒有offset。

size of oracle block 0

在每個oracle檔案的開頭,os系統放置了乙個塊叫做block 0。

這個塊的大小和其所在資料檔案的oracle塊大小相同。

一般的oracle **不能識別這個塊,但是這個塊是包含在os上的檔案大小裡面的。就是說oracle認為datafile1大小為100塊,但是os看來,datafile1大小為101塊(100+block 0).

下面來看一下dd的一些引數意義。

options

specifiesif

輸入檔案的名字,也就是你要讀取(備份)的檔案

of輸出檔案的名字,也就是,你要寫入的檔案

bs用dd拷貝資料的快取大小(一次拷貝的資料量)

skip

如果要備份的raw裝置存在offset,用來跳過offset。例如,你要備份的raw裝置offset大小為64kb,而你設定的bs為8kb,那麼你可以指定specify skip=8 ,這樣你就可以從64kb的地方開始拷貝。

seek

如果你要把資料拷貝到含有offset的raw裝置裡面,需要設定這個值,

同skip類似。

count

你要拷貝的raw裝置的block數。主要還是要看你bs的大小。假如你的資料檔案含有100個oracle塊,oracle塊大小為8k,那麼你的count就設為100.

也就是說 bs × count = size of your datafile1

當然,count也可以不設定,這樣就把整個raw裝置都拷貝下來。有空間的浪費。建議設定count大小。

因為raw裝置可以作為備份的輸入檔案,也可以作為輸出檔案,下面給出了不同情況下的引數使用情況。

backing up from ……..

backing up to ……..

涉及到的dd引數

raw device

raw device

if, of, bs, skip, seek, count

raw device

file system

if, of, bs, skip, count

file system

raw device

if, of, bs, seek

file system

file system

if, of, bs

howto know the size of your file?(確定count)

非常簡單,使用oracle提供的乙個小工具:dbfsize(oracle自帶,對資料檔案和裸裝置都有效)

語法:在oracle使用者下使用 dbfsize your_file_name or raw device

[oracle@standby test]$ dbfsize system01.dbf

database file: system01.dbf

database file type: file system

database file size: 49920 8192 byte blocks

我們可以知道,system01.dbf這個資料檔案大小:49920 × 8k

那麼count=49920+1 – 不要忘記block 0 (上面提到過哦:)

backingup with the dd utility on unix: examples

為了使用dd,我們假設了如下的情況:

note:「=」左右不要有空格

1)            從raw裝置備份到raw裝置

% dd if=/dev/rsd1b of=/dev/rsd2b bs=8k skip=8 seek=8count=3841

2)            裸裝置到檔案系統

% dd if=/dev/rsd1b of=/backup/df1.dbf bs=8k skip=8count=3841

3)            檔案系統到裸裝置

% dd if=/backup/df1.dbf of=/dev/rsd2b bs=8k seek=8

4)            檔案系統到檔案系統,你可以為了提公升i/o把bs設為較高的數值

% dd if=/oracle/dbs/df1.dbf of=/backup/df1.dbf bs=1024k

backing up to raw devices on lnuix

linux一般是沒有offset的,其他與unix相同。

backing up to raw devices on windows

參考:p:

驗證dd備份

使用oracle提供的工具 dbv ,支援檔案系統檔案和裸裝置。

語法:dbvfile=file_name blocksize=8192

[oracle@standby test]$ dbv file=tools01.dbf blocksize=8192

dbverify: release 9.2.0.4.0 - production on mon aug 13 12:26:05 2007

dbverify - verification starting : file = tools01.dbf

dbverify - verification complete

total pages examined         : 1280

total pages processed (data) : 0

total pages failing   (data) : 0

total pages processed (index): 0

total pages failing   (index): 0

total pages processed (other): 8

total pages processed (seg)  : 0

total pages failing   (seg)  : 0

total pages empty            : 1272

total pages marked corrupt   : 0

如果檔案有問題,會有錯誤提示。

對應中文:

檢查的頁總數:1280

處理的頁總數 (資料):150

失敗的頁總數 (資料): 0

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

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

處理的頁總數 (其它):1001

處理的總頁數 (段) : 0

失敗的總頁數 (段) : 0

空的頁總數: 0

標記為損壞的總頁數: 2

流入的頁總數: 0

highest blockscn            : 428223(0.428223)

轉輪傳動裝置 V1 0

第一次在部落格上寫總結,有點小激動。因為從進卓越班以來就有這種想法,但一直因為自己實在沒什麼可以值得記錄的。而最近跟著老師接了乙個小專案 小老鼠跑步機,說白了就是在乙個籠子讓老鼠跑,設定時間,記錄圈數,設定方向等,看似沒什麼難度,其實你做起來就會發現,真的也沒什麼難度,但對我來說,是首次系統地做一套...

偏方查詢 v1 0

偏方,即單方驗方。指藥味不多,對某些病證具有獨特療效的方劑。數千年來,在我國民間流傳著非常豐富 簡單而又療效神奇的 疑難雜症的偏方 秘方 驗方,方書著作浩如煙海。偏和正相對,偏方一般沒有被正式的藥物或醫學典籍收載,但有時能取得較好的 效果的治病的方法。偏方的 主要有二種 經驗的積累和家族內部流傳,前...

點對點聊天系統 v1 0

系統需求 聊天交流是目前網際網路提供的主要內容。聊天系統有多種實現方式,類似icq屬於一種點對點的聊天系統,還有一種是基於socket的集中式聊天系統,這種聊天系統需要登入統一的聊天伺服器,每個人的聊天資訊其他人都可以看到,類似一種會議室,當然,兩個人之間也可以進行保密的私語。在基於socket的聊...