必威电竞|足球世界杯竞猜平台

數據文件
來源:互聯網

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

基本介紹

定義

數據文件(一般是指數據庫的文件)如:每一個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)等。其中標準模板庫是最早用于CAD與計算機輔助工藝過程設計間數據交換的文件格式,并且得到了廣泛的應用。目前,3D打印系統大部分都是基于STL格式設計的。

參考資料 >

生活家百科家居網