裸設(shè)備是指一個(gè)磁盤或者分區(qū),它不包含文件系統(tǒng),所以一個(gè)裸設(shè)備只能包含一個(gè)文件。
在龍亭等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需求定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營(yíng)銷推廣,成都外貿(mào)網(wǎng)站制作,龍亭網(wǎng)站建設(shè)費(fèi)用合理。通過操作系統(tǒng)來備份raw設(shè)備上的文件,需要注意一些細(xì)節(jié)問題。下面具體討論一下。
Backing Up to Raw Devices on UNIX
Unix下備份raw設(shè)備,最常用的就是dd命令。
使用dd命令需要制定一些正確的參數(shù),這些參數(shù)是基于你的os以及database的。
Unix和Linux下對(duì)裸設(shè)備的備份是不同的。我們首先來了解三個(gè)概念
Data | Explanation |
Block size | 也就是bs選項(xiàng)。這個(gè)大小是指dd一次拷貝數(shù)據(jù)大小。這個(gè)和Oracle的數(shù)據(jù)塊大小是沒有關(guān)聯(lián)的,和os也沒有關(guān)聯(lián)。 需要注意的是:這個(gè)數(shù)值的大小影響到你拷貝數(shù)據(jù)的速度。bs大,拷貝速度會(huì)變快。 |
Raw offset | 在一些os上,在裸設(shè)備上的文件的開頭是被os使用的。這些存儲(chǔ)空間被叫做raw offset,oracle不會(huì)備份和恢復(fù)這些內(nèi)容(字節(jié))。 Note:1.備份的時(shí)候要跳過含有offset的字節(jié)。 2.現(xiàn)在的一些新的系統(tǒng),已經(jīng)沒有offset。 |
Size of Oracle block 0 | 在每個(gè)oracle文件的開頭,os系統(tǒng)放置了一個(gè)塊叫做block 0。 這個(gè)塊的大小和其所在數(shù)據(jù)文件的oracle塊大小相同。 一般的oracle 代碼不能識(shí)別這個(gè)塊,但是這個(gè)塊是包含在os上的文件大小里面的。就是說oracle認(rèn)為datafile1大小為100塊,但是os看來,datafile1大小為101塊(100+block 0). |
下面來看一下dd的一些參數(shù)意義。
Options | Specifies |
if | 輸入文件的名字,也就是你要讀?。▊浞荩┑奈募? |
of | 輸出文件的名字,也就是,你要寫入的文件 |
bs | 用dd拷貝數(shù)據(jù)的緩存大?。ㄒ淮慰截惖臄?shù)據(jù)量) |
skip | 如果要備份的raw設(shè)備存在offset,用來跳過offset。例如,你要備份的raw設(shè)備offset大小為64kB,而你設(shè)定的bs為8KB,那么你可以指定specify skip=8 ,這樣你就可以從64KB的地方開始拷貝。 |
seek | 如果你要把數(shù)據(jù)拷貝到含有offset的raw設(shè)備里面,需要設(shè)定這個(gè)值, 同skip類似。 |
count | 你要拷貝的raw設(shè)備的block數(shù)。主要還是要看你bs的大小。假如你的數(shù)據(jù)文件含有100個(gè)oracle塊,oracle塊大小為8K,那么你的count就設(shè)為100. 也就是說 bs × count = size of your datafile1 當(dāng)然,count也可以不設(shè)定,這樣就把整個(gè)raw設(shè)備都拷貝下來。有空間的浪費(fèi)。建議設(shè)定count大小。 |
因?yàn)閞aw設(shè)備可以作為備份的輸入文件,也可以作為輸出文件,下面給出了不同情況下的參數(shù)使用情況。
backing up from …….. | backing up to …….. | 涉及到的dd參數(shù) |
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 |
How to know the size of your file?(確定count)
非常簡(jiǎn)單,使用oracle提供的一個(gè)小工具:dbfsize (oracle自帶,對(duì)數(shù)據(jù)文件和裸設(shè)備都有效)
語法:在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這個(gè)數(shù)據(jù)文件大?。?9920 × 8K
那么count=49920+1 – 不要忘記block 0 (上面提到過哦:)
Backing Up with the dd utility on UNIX: Examples
為了使用dd,我們假設(shè)了如下的情況:
Note:“=”左右不要有空格
1) 從raw設(shè)備備份到raw設(shè)備
% dd if=/dev/rsd1b of=/dev/rsd2b bs=8k skip=8 seek=8 count=3841
2) 裸設(shè)備到文件系統(tǒng)
% dd if=/dev/rsd1b of=/backup/df1.dbf bs=8k skip=8 count=3841
3) 文件系統(tǒng)到裸設(shè)備
% dd if=/backup/df1.dbf of=/dev/rsd2b bs=8k seek=8
4) 文件系統(tǒng)到文件系統(tǒng),你可以為了提升I/O把bs設(shè)為較高的數(shù)值
% 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://download.oracle.com/docs/cd/B19306_01/backup.102/b14191/osbackup008.htm
驗(yàn)證dd備份
使用oracle提供的工具 dbv ,支持文件系統(tǒng)文件和裸設(shè)備。
語法:dbv file=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
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
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 |
如果文件有問題,會(huì)有錯(cuò)誤提示。
對(duì)應(yīng)中文:
檢查的頁總數(shù): 1280
處理的頁總數(shù) (數(shù)據(jù)): 150
失敗的頁總數(shù) (數(shù)據(jù)): 0
處理的頁總數(shù) (索引): 127
失敗的頁總數(shù) (索引): 0
處理的頁總數(shù) (其它): 1001
處理的總頁數(shù) (段) : 0
失敗的總頁數(shù) (段) : 0
空的頁總數(shù): 0
標(biāo)記為損壞的總頁數(shù): 2
流入的頁總數(shù): 0
Highest block SCN : 428223 (0.428223)