數據檔案

數據檔案

在大容量複製操作中,將數據從向外大容量複製操作傳輸到向內大容量複製操作的檔案。在 SQL Server 2000 資料庫中,數據檔案存放著在資料庫中存儲的數據。每個 SQL Server 2000 資料庫至少有一個主要數據檔案,可以有多個次要數據檔案以存放不適合在主要數據檔案中放置的數據。數據檔案比較多,數據的概念也比較廣泛圖形圖像聲音數字各種碼制都是數據,存儲這些數據的檔案就是數據檔案。

基本介紹

  • 中文名:數據檔案
  • 外文名:The data file
  • 性質:計算機
  • 類別:檔案
基本介紹,定義,特徵,主要數據檔案,創建檔案,恢復技術,3D列印中的套用,

基本介紹

定義

數據檔案(一般是指資料庫的檔案)如:每一個ORACLE資料庫有一個或多個物理的數據檔案(data file)。邏輯資料庫結構(如表、索引)的數據物理地存儲在資料庫的數據檔案中。

特徵

一個數據檔案僅與一個資料庫聯繫,一個資料庫的數據檔案包含全部資料庫數據。一旦建立,數據檔案不能改變大小。一個表空間(資料庫存儲的邏輯單位)由一個或多個數據檔案組成。數據檔案中的數據在需要時可以讀取並存儲在ORACLE記憶體儲區中。例如:用戶要存取資料庫一表的某些數據,如果請求信息不在資料庫的記憶體存儲區內,則從相應的數據檔案中讀取並存儲在記憶體。當修改和插入新數據時,不必立刻寫入數據檔案。為了減少磁碟輸出的總數,提高性能,數據存儲在記憶體,然後由 ORACLE後台進程DBWR決定如何將其寫入到相應的數據檔案。
可以改變已有數據檔案的大小的。
重新調整數據檔案的大小:
SQL> alter database datafile '/u1/oradata/userdata_001.ora ' resize 50M;  --Unix中
SQL> alter database datafile 'c:\oradata\userdata_002.ora ' resize 50M; --Windows NT中

主要數據檔案

主要數據檔案由主檔案組中的初始數據檔案組成。檔案組是經過命名的數據檔案集合。包含所有資料庫系統表,以及沒有賦給自定義檔案組的對象和數據。主要數據檔案是資料庫的起始點,它指向資料庫中的其他檔案。每一個資料庫都有一個主要數據檔案和一個主檔案組,主要數據檔案的擴展名是.mdf 。

創建檔案

on primary -- 默認就屬於primary檔案組,可省略
(
/*--數據檔案的具體描述--*/
name='資料庫名稱_data', -- 主數據檔案的邏輯名稱
filename='所存位置:\資料庫名稱_data.mdf', -- 主數據檔案的物理名稱
size=數值mb, --主數據檔案的初始大小
maxsize=數值mb, -- 主數據檔案增長的最大值
filegrowth=數值%--主數據檔案的增長率
)

恢復技術

在進行硬碟數據恢復時,如果每次都從頭到尾地進行掃描,需要耗費大量的時間,而且恢復的數據大部分是不需要的。為了節約時間提高效率,應對特定的重要數據檔案進行恢復。從硬碟啟動及檔案讀寫的原理出發,分析檔案被修改或刪除時作業系統所做的操作,對比分析檔案分配表(FAT)和檔案目錄表(FDT)在特定檔案修改或刪除時產生的變化,針對現有的數據恢復技術無法自動恢復不連續簇檔案的問題,通過FAT表內連續簇的分布規律來進行特定檔案恢復。
檔案丟失原因
檔案數據丟失的原因主要分兩大類,一類是硬碟無法啟動或損壞,從硬碟啟動到檔案讀寫,這一過程中涉及到五個環節,任何一個環節出問題都可能導致檔案數據丟失,可以針對每一個環節進行恢復,確保檔案能夠讀寫成功。另一類是人為地誤操作導致。
硬碟無法讀取檔案的分析與恢復
硬碟從啟動到讀取其中的檔案,這一過程涉及到五個環節:讀取主引導扇區(Boot Sector)、讀取作業系統引導記錄(DBR)、讀取檔案目錄表(FDT)、讀取檔案分配表(FAT)、 讀取檔案數據存儲區。其過程如圖1所示:
在開機加電自檢後,CPU 從內在地址 0ffff:0000 處開始執行,將硬碟第一個扇區(0面0磁軌1扇區)讀入記憶體地址 0000:7c00 處,然後執行 MBR中的程式,即在主分區表(DPT)中搜尋活動分區,找到 DBR 進行作業系統引導,從 DBR 中找到 BPB 中記錄的本分區的起始扇區、結束扇區、檔案存儲格式、根目錄等等信息,並進入系統,在成功進入作業系統後,讀寫某一個檔案時,需要先從檔案目錄表(FDT)中找到該檔案的目錄項,獲取該檔案的起始簇號,並通過檔案分配表(FAT)中的相應簇號信息找到下一簇號,直至檔案結束,然後到數據存儲區按這一系列簇號進行數據讀寫。這個過程中的任何一個環節出問題,都會導致檔案讀取失敗,因此,可以針對每一個環節對硬碟進行恢復。
從硬碟啟動到檔案讀寫的流程圖從硬碟啟動到檔案讀寫的流程圖
誤操作丟失檔案的分析與恢復
針對一個特定的檔案,當出現誤操作致使檔案丟失時,如誤刪除、格式化等,檔案的數據並沒有丟失,只是修改了 FDT 和 FAT 等地方的相關項,所以,只要採取相應的措施, 就可以將誤操作丟失的檔案恢復。這裡對檔案的新建、修改和刪除操作進行實驗,通過 winhex 實時觀察硬碟在上述檔案操作時發生的變化,並分析如何對檔案進行恢復。當檔案內容被修改時,比如內容擴充,系統會自動地從 FAT 中找到沒有使用的簇,並將其填入擴充的內容,同時在 FAT表里進行標記,先將原檔案的最後一個簇用擴充的內容填滿,然後連結至剩餘新內容的第一個簇,並在檔案結束時標記為結束簇,以此維持該檔案的鏈式結構。而在 FDT 目錄項中,除了檔案大小和修改時間等信息發生變化外,其他信息如起始簇號信息不變。
針對不連續簇檔案的恢復
在實驗過程中我們發現,當檔案較大,利用的硬碟空間不連續時,用一般的數據恢復軟體如EasyRecovery,FinalData 等進行恢復,往往得不到完整的檔案,原因在於它們都只是從 FDT 項中讀取到起始簇號和檔案大小,然後去數據區對應的起始簇開始複製與檔案大小相同的長度的數據,並沒有考慮檔案的簇沒有連在一起的情況。而這種情況目前尚沒有統一的解決方案,本文在實驗中嘗試找到這種檔案的簇在分配和刪除時的規律,進行一定條件下的檔案完整恢復。系統在對檔案進行分配空間時,先遵循力爭完整的規則,若進行檔案擴充時,擴充的新內容也力爭完整地放在一塊區域,因此,對於擴充的檔案,其對應的 FAT 表也是由不同的整塊整塊區域組成的。在數據密度較大的硬碟區域,當刪除一個不連續簇的檔案時(以兩個簇塊兒的檔案為例),FAT 表里對應的表項就會很有規律地清零。

3D列印中的套用

3D 列印中的數據檔案格式主要分為 2 類:CAD 三維數據檔案格式和二維層片檔案格式。CAD 三 維 數 據 文 件 格 式 包 括:STL(stereolithography)、STEP(standard for the exchange ofproduct modal data )、 IGES ( initialgraphicsexchange specification )、 LEAF( layer exchangeASCII format )、RPI( rapid prototypinginterface)、LMI(layer manufacturing interface)等;二維層片檔案格式包括:SLC(stereo lithographycontour)、CLI(common layer interface)、HPGL(Hewlett-Packard graphics language)等。 其中 STL是最早用於 CAD與CAPP間數據交換的檔案格式,並且得到了廣泛的套用。目前,3D 列印系統大部分都是基於 STL 格式設計的。
3D 列印技術中的數據檔案格式3D 列印技術中的數據檔案格式

相關詞條

熱門詞條

聯絡我們