數(shù)據(jù)庫優(yōu)化、備份與恢復探索_第1頁
數(shù)據(jù)庫優(yōu)化、備份與恢復探索_第2頁
數(shù)據(jù)庫優(yōu)化、備份與恢復探索_第3頁
數(shù)據(jù)庫優(yōu)化、備份與恢復探索_第4頁
數(shù)據(jù)庫優(yōu)化、備份與恢復探索_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數(shù)據(jù)庫優(yōu)化探索一:數(shù)據(jù)庫優(yōu)化l.Oracle數(shù)據(jù)庫讀取數(shù)據(jù)的方式1.1全表掃描什么是全表掃描?在數(shù)據(jù)庫中,對無索引的表進行查詢一般稱為全表掃描。全 表掃描是數(shù)據(jù)庫服務器用來搜尋表的每一條記錄的過程,直到所 有符合給定條件的記錄返回為止。數(shù)據(jù)庫在進行全表掃描時進行的是多塊讀?。▔K為數(shù)據(jù)庫存 儲的最小單位),也就是說每次從buffer cache (緩沖區(qū)高速緩 存)中讀取多塊,而不是一次一塊的讀。無論查詢一筆數(shù)據(jù)還是 整個表的所有數(shù)據(jù),全表掃描都會把整張表讀出來。適用情況:(1)單表查詢:表很小,索引可能就比表還大。濃訪問的數(shù)據(jù)占全表數(shù)據(jù)的百分比很大,索引訪問的總成本大 于全表掃描的成本。濃相對

2、于索引來說,表中的數(shù)據(jù)排列過于凌亂,索引的 clustering_factor (集群因子)很大,導致索引的訪問成本劇增。心)hash join (哈希連接)的時候,內層表和外層表都可以 使用全表掃描。云nest loop (嵌套循環(huán))的時候,外層表可以使用全表掃描, 內層表一般不用全表掃描。1.2 ROWID (row id)oracle數(shù)據(jù)庫的表中的每一行數(shù)據(jù)都有一個唯一的標識符, 行號。表明了該行在oracle數(shù)據(jù)庫中的物理具體位置。rowid是一個偽列,一般用不到,但是當需要具體鎖定某一 行時,它非常有用,因為它的值絕對不會重復。1.3索引在關系數(shù)據(jù)庫中,索引是一種單獨的、物理的對數(shù)據(jù)

3、庫表中 一列或多列的值進行排序的一種存儲結構,它是某個表中一列或 若干列值的集合和相應的指向表中物理標識這些值的數(shù)據(jù)頁的 邏輯指針清單。索引的作用相當于圖書的目錄,可以根據(jù)目錄中 的頁碼快速找到所需的內容。索引提供指向存儲在表的指定列中的數(shù)據(jù)值的指針,然后根 據(jù)您指定的排序順序對這些指針排序。數(shù)據(jù)庫使用索引以找到特 定值,然后順指針找到包含該值的行。索引掃描有四種方式:唯一掃描,范圍掃描,全掃描,快速 掃描。2.影響Oracle系統(tǒng)性能的因素影響Oracle數(shù)據(jù)性能的因素有很多,比如:操作系統(tǒng),CPU 性能,內存分配不合理,Oracle配置,I/O沖突,網(wǎng)絡速度低以 及SQL使用常見錯誤等等都

4、會影響數(shù)據(jù)庫的性能。(1)操作系統(tǒng):Oracle數(shù)據(jù)庫服務器很大程度上依賴于運 行服務器的操作系統(tǒng),操作系統(tǒng)配置不合理會直接降低Oracle 性能;(2)CPU占用過高:CPU是服務器中一個重要的資源,CPU 資源被其它應用占用或被某個數(shù)據(jù)庫事務占用,會導致其它數(shù)據(jù) 庫事務運行停滯,而使數(shù)據(jù)庫響應遲鈍,比如:空閑時,CPU占 用率超過90%,則說明Oracle服務器CPU資源不足,低效率的 SQL語句、鎖沖突、SQL語句的重解析等原因都會引起CPU資 源不足;(3)I/O沖突:由于磁盤在同一時刻只能滿足一個進程的 需要,當多個進程同時訪問同一個磁盤時,會引起讀寫盤沖突, 進而降低整個系統(tǒng)的速度

5、;(4)Oracle配置:每一個Oracle實例都是由一組Oracle后臺進程和系統(tǒng)全局區(qū)的一個內存區(qū)所組成的,正確調整Oracle配置將會對系統(tǒng)性能產(chǎn)生重大的影響;(5)內存分配不合理:內存分配不合理將會減少Oracle用 于存放最近訪問過的數(shù)據(jù)的緩沖區(qū)空間,并導致操作系統(tǒng)頻繁進 行頁面或內存交換,從而導致計算機系統(tǒng)額外的I/O開銷;(6)網(wǎng)絡速度低:網(wǎng)絡的帶寬會在一定程度上影響系統(tǒng)的 整體性能,網(wǎng)絡速度過低會增加網(wǎng)絡I/O負荷量,從而降低數(shù) 據(jù)庫系統(tǒng)的吞吐量并延長用戶響應時間;(7)SQL使用常見錯誤:配置和數(shù)據(jù)遷移的錯誤,大量遞 歸SQL語句(是指函數(shù)/過程/子程序在運行過程序中直接或間

6、 接調用自身而產(chǎn)生的重入現(xiàn)象。使用遞歸解決問題,思路清晰, 代碼少。但是在主流高級語言中(如C語言、Pascal語言等)使 用遞歸算法要耗用更多的??臻g,所以在堆棧尺寸受限制時(如 嵌入式系統(tǒng)或者內核態(tài)編程),應避免采用)的存在,長時間的 全表掃描,一些數(shù)據(jù)庫結構的設置不合理,重做日志文件(對數(shù) 據(jù)庫修改的信息,包括用戶對數(shù)據(jù)修改和數(shù)據(jù)庫管理員對數(shù)據(jù)庫 結構的修改。它主要用于在發(fā)生故障的時候和數(shù)據(jù)庫備份文件配 合恢復數(shù)據(jù)庫)的不合理設置,I/O設備的不合理的規(guī)劃,非標 準參數(shù)的使用,執(zhí)行效率很差的SQL語句,游標和共享池的錯 誤使用,低效率的數(shù)據(jù)庫連接。3.Oracle數(shù)據(jù)庫查詢速度慢的原因根

7、據(jù)Oracle的體系結構分析數(shù)據(jù)庫查詢速度慢的原因。3.1共享池共享池包括庫高速緩存和數(shù)據(jù)字典緩存。共享池的大小以字 節(jié)為單位,由初始化參數(shù)文件中的參數(shù)SHARED_POOL_SIZE確定。 較大的共享池可以提高命中率,改善多用戶系統(tǒng)的性能,但同時 也會增加管理負擔和latch (鎖:用于管理對共享資源的并發(fā)訪 問)的開銷。(一)庫高速緩存庫高速緩存中存儲的是實際SQL語句文本、執(zhí)行計劃和可執(zhí) 行形式的SQL游標、JAVA類與PL/SQL塊(函數(shù)、過程、觸發(fā)器、 包和匿名PL/SQL塊)。由于在庫高速緩存中存儲分析過的SQL 語句,當用戶提交一條SQL或PL/SQL語句到數(shù)據(jù)庫中時,可以 直接

8、使用內存中已經(jīng)分析過的SQL語句,而不用重新編譯該語 句,這樣就可以提高效率。所以在庫高速緩存中SQL語句的命中 率影響查詢效率。(二)數(shù)據(jù)字典緩存數(shù)據(jù)字典緩存中存放數(shù)據(jù)字典對象的定義,如果數(shù)據(jù)庫能夠 直接從字典緩存中讀取字典信息,則可以避免從磁盤文件中讀取 字典表的操作,數(shù)據(jù)字典緩存的命中率對性能就起著關鍵作用。 當數(shù)據(jù)庫實例剛起動時,數(shù)據(jù)字典緩存中沒有任何數(shù)據(jù),所以 SQL的命中率會很低,這種現(xiàn)象是正常的,隨著實例運行一段時 間后,越來越多的數(shù)據(jù)會讀入到緩存中,數(shù)據(jù)庫會到達一個相對 穩(wěn)定的狀態(tài),數(shù)據(jù)字典緩存的命中率會大大提高。所以在數(shù)據(jù)字 典緩存中數(shù)據(jù)字典的命中率影響查詢效率。3.2數(shù)據(jù)緩

9、沖區(qū)高速緩存數(shù)據(jù)緩沖區(qū)高速緩存是SGA(系統(tǒng)全局區(qū))的主要組件之一, 負責保存服務器進程從磁盤讀取的數(shù)據(jù)塊拷貝,拷貝的這些塊可 以在服務器進程之間共享。當Oracle服務器進程需要數(shù)據(jù)塊時, 先從緩沖區(qū)高速緩存中尋找數(shù)據(jù),如果需要的數(shù)據(jù)塊在緩沖區(qū)高 速緩存中,則服務器進程可以直接從緩沖區(qū)高速緩存中讀取數(shù) 據(jù);如果數(shù)據(jù)塊不在緩沖區(qū)高速緩存中,則要先從磁盤上讀取數(shù) 據(jù)文件到緩沖區(qū)高速緩存中,然后服務器進程才能使用這個數(shù) 據(jù)。數(shù)據(jù)塊在該緩沖區(qū)的命中率對查詢速度的提高至關重要。3.3重做日志緩沖區(qū)重做日志緩沖區(qū),最小長度為64KB,通常500KB就可以滿 足大多數(shù)系統(tǒng)的要求,如果重做日志緩沖區(qū)太小,則

10、大事務會強 制日志寫入進程連續(xù)刷新緩沖區(qū)并寫入在線重做日志文件,從而 會增加系統(tǒng)的I/O次數(shù),導致系統(tǒng)性能下降。另外,在有的系統(tǒng) 中,如果重做日志文件所在的磁盤較慢或較忙,會導致日志寫入 進程無法寫入,也會使系統(tǒng)效率降低。3.4數(shù)據(jù)文件數(shù)據(jù)文件是Oracle存放數(shù)據(jù)的主要載體,其中存放兩種類型 的數(shù)據(jù):系統(tǒng)數(shù)據(jù)和用戶數(shù)據(jù)。Oracle通常會有多個數(shù)據(jù)文件, 數(shù)據(jù)文件的I/O競爭是影響數(shù)據(jù)庫性能和查詢速度的重要因素。由于每個進程讀取或寫入Oracle不同類型的文件,為了減少 爭用,在磁盤條件充許的情況下,我們可以把不同類型的文件放 在不同的磁盤上。3.5表設計對于以查詢?yōu)橹鞯臄?shù)據(jù)庫設計來說,如果

11、關系越多,表的連 接操作就越頻繁,當表的數(shù)據(jù)量增大到一定程度的時候,這種頻 繁的連接操作會極大的影響查詢性能。例如,在有些需要返回很多字段的查詢,這些字段如果分散 在幾個表中,則查詢的過程中必然會將這些表連接在一起,如果 這些表中有一個大表,那么查詢的性能會受到影響。在數(shù)據(jù)量小的情況下這種查詢不會有性能問題,但當數(shù)據(jù)量 增大后,這種查詢的性能會大大降低。4. Oracle數(shù)據(jù)化 方式4.1調整優(yōu)化數(shù)據(jù)庫1、最常見的調優(yōu)方法是在數(shù)據(jù)庫中增加索引,索引(index) 是常見的數(shù)據(jù)庫對象,充分利用索引來減少表掃描的I/O次數(shù), 使用索引可以避免不必要的大表全表掃描,索引設置的位置要視 where子句

12、中索引列所應用的查詢條件而定,通過索引對表的數(shù) 據(jù)進行檢索比起直接全表掃描所引起的I/O操作要小得多,索引 可增加查詢速度;2、若某種業(yè)務的數(shù)據(jù)量增長非常快,可以使用分區(qū)表技術 將數(shù)據(jù)進行分散,將不同表空間分布到不同的磁盤當中,使得硬 盤之間I/O負載均衡,在一定程度上緩解了數(shù)據(jù)量過大引起的負 面影響,并且會縮短查詢時間;3、使用存儲過程完成數(shù)據(jù)庫中頻繁執(zhí)行的應用邏輯,使代 碼編程與數(shù)據(jù)庫的操作分離,可以降低網(wǎng)絡傳輸量,提高數(shù)據(jù)請 求的執(zhí)行效率,執(zhí)行存儲過程時,用戶只需要發(fā)出執(zhí)行命令,而不 再進行SQL語句提交,節(jié)省了系統(tǒng)的SQL語法分析,充分利用了 SQL共享池;4、使用Oracle優(yōu)化器執(zhí)

13、行直接提交的查詢SQL語句,可以 大大提高語句的執(zhí)行效率;5、使用觸發(fā)器自動執(zhí)行的SQL語句,可以降低網(wǎng)絡I/O及 系統(tǒng)資源的消耗,如需要對所有訪問數(shù)據(jù)庫的程序自動實施一定 規(guī)則或檢查,則使用觸發(fā)器可以大大提高效率。6、合理創(chuàng)建臨時表或視圖。所謂創(chuàng)建臨時表或視圖,就是 根據(jù)需要在數(shù)據(jù)庫基礎上創(chuàng)建新表或視圖,對于多表關聯(lián)后再 查詢信息的可建新表,對于單表查詢的可創(chuàng)建視圖,這樣可充分 利用數(shù)據(jù)庫的容量大、可擴充性強等特點,所有條件的判斷、數(shù) 值計算統(tǒng)計均可在數(shù)據(jù)庫服務器后臺統(tǒng)一處理后追加到臨時表 中,形成數(shù)據(jù)結果的過程可用數(shù)據(jù)庫的過程或函數(shù)來實現(xiàn)。4.2調整優(yōu)化設備CPUCPU的實際運行情況,對O

14、racle數(shù)據(jù)庫性能產(chǎn)生重要的影 響。因此,不斷的優(yōu)化CPU性能,不但有助于提升各項資源的 應用效率,而且還能夠提高數(shù)據(jù)庫運行質量。首先,在數(shù)據(jù)庫的 查詢及處理過程當中,需要采用兩個以上CPU。由于CPU技術不 斷的進步,及其CPU并行技術應用的日漸成熟,Oracle可以很好 地支持部署分布式數(shù)據(jù)庫,平衡海量數(shù)據(jù)的查詢及處理。此外,在進行數(shù)據(jù)查詢時,可以利用PQO(Parallel Query Option)并行查詢選項的方法實現(xiàn)查詢速度優(yōu)化。使用PQO方式 不僅可以在多個CPU配置間分配SQL語句的處理請求,而且, 當所查詢的數(shù)據(jù)處于不同的磁盤時,PQO能夠使用多個獨立進程 同時讀取不在同一

15、個磁盤當中的數(shù)據(jù)。4.3調整優(yōu)化設備內存Oracle的信息存儲在內存和磁盤上,由于訪問內存比訪問磁 盤快得多,在大量并發(fā)用戶數(shù)下,如果Oracle內存尺寸不夠會降 低程序的處理效率,延緩數(shù)據(jù)庫的響應時間,提高數(shù)據(jù)庫性能需 要設置合適的內存尺寸,Oracle內存包括系統(tǒng)全局區(qū)(SGA)和程序 全局區(qū)(PGA)。1、調整SGA的大小根據(jù)數(shù)據(jù)庫運行狀況重新調整SGA的大小,對存在多個節(jié)點 的數(shù)據(jù)庫部署情況,可以針對每個節(jié)點修改SGA大小。2、提高共享池性能共享池主要是用來存放最近使用過的SQL語句,共享池內存 分配算法保證了數(shù)據(jù)字典數(shù)據(jù)比庫緩沖區(qū)數(shù)據(jù)在內存停留時間 更長,命中率更高,應優(yōu)先調整庫緩沖

16、區(qū)。通過調整參數(shù)SHARED_POOL_SIZE的值,可以根據(jù)實際 情況對每個節(jié)點共享池的大小進行調整;為了提高共享池命中率,可以使用代碼重用方法;對于比較大的對象,如自定義的過程與包,在載入共享 池以及硬解析的過程中需要共享池付出很大的代價,把重要的大 對象保持在內存中,可以大大提高共享池性能。3、優(yōu)化數(shù)據(jù)緩沖區(qū)高速緩存性能為減少系統(tǒng)磁盤I/O開銷,應調整數(shù)據(jù)緩沖區(qū)的尺寸,使服 務器進程盡量在緩沖區(qū)中找到所需的數(shù)據(jù),盡量減少等待數(shù)據(jù)塊 或空閑緩沖區(qū)的時間。1)加大Buffer Cache的大小可以通過調整DB_CACHE_SIZE參數(shù)的值增大Buffer Cacheo2)使用多個緩沖池共享池

17、中數(shù)據(jù)傾向于一直保存,Recycle (回收站)池中的數(shù) 據(jù)傾向于即時老化,而Default (缺省、默認)池則存放未指定 存儲池的數(shù)據(jù),通過使用多個緩沖池提高Buffer Cache的命中率。4、盡量減少全表掃描通過索引的正確使用可以避免不必要的全表掃描,發(fā)生的全 表掃描越少,Database Buffer Cache命中率將越高,但對于一些表 比較小且需要表中的大多數(shù)數(shù)據(jù)時,這時使用全表掃描響應時間 可能就會優(yōu)于不使用全表掃描,通常,當該表的結果集和表中記 錄總數(shù)的比值大于20%時,就應該要使用全表掃描。4.4調整優(yōu)化設備磁盤I/O1、由于經(jīng)常使用的對象產(chǎn)生I/O爭用的機會較多,應將訪 問

18、量較大的數(shù)據(jù)文件放在獨立磁盤上,同一個表空間的多個數(shù)據(jù) 文件應盡可能地放在不同的磁盤上,為索引創(chuàng)建單獨的表空間, 并將表和索引分開在不同的表空間;2、在內存中修改過的數(shù)據(jù)不是直接寫入數(shù)據(jù)文件,而是先 寫入重做日志文件中,重做日志文件要足夠大,要與數(shù)據(jù)文件存 放在不同的磁盤上,減少對磁盤的競爭,重做日志文件分為幾個 組,寫滿一組時切換至下一組,最后一組寫完后再返回至第一組, 按順序循環(huán)寫入;3、Oracle的文件和操作系統(tǒng)的其他文件應盡可能地放在不 同的磁盤上,這樣可以減小I/O爭用的概率;4、最好使用目前較流行的廉價磁盤冗余陣列(raid),它能 自動分離不同類型、訪問頻率的數(shù)據(jù)庫文件,減小I

19、/O進程之間 的競爭,優(yōu)化數(shù)據(jù)庫性能;5、創(chuàng)建回滾段及其專用的表空間,回滾段是為了從系統(tǒng)操 作的失敗中得到數(shù)據(jù)的恢復,從而減小I/O進程之間的競爭,防 止空間競爭影響事務的完成;6、單獨創(chuàng)建用戶數(shù)據(jù)表空間,且要與系統(tǒng)表空間(system) 分開磁盤存放,創(chuàng)建臨時表空間用于排序操作,盡可能防止數(shù)據(jù) 庫碎片存在于多個表空間中。4.5調整優(yōu)化SQL語句SQL語句本身的執(zhí)行效率直接影響Oracle數(shù)據(jù)庫執(zhí)行效率, 它消耗了數(shù)據(jù)庫系統(tǒng)70%90%的資源,對SQL語句進行合理設 計可以使其更高效地執(zhí)行,以提高系統(tǒng)對資源的利用率,好的 SQL語句可以加快執(zhí)行速度,減少網(wǎng)絡傳輸,從而最大限度地發(fā) 揮數(shù)據(jù)庫的性

20、能。1、盡量減少對數(shù)據(jù)庫的查詢次數(shù),對幾個表查詢時FROM 子句的順序,按照由內及外的訪問順序應把可篩選出較少記錄的 表放在前面,執(zhí)行時最先查找出這個表的幾個記錄,再和其他表 的記錄相連接;2、為了充分利用庫緩沖區(qū)的SQL解析信息,對于經(jīng)常運行 條件子句變量值不同的SQL語句,應將這些變量改為統(tǒng)一的綁定 變量;3、調整SQL的關鍵是使數(shù)據(jù)庫尋找數(shù)據(jù)的路徑最簡化,限 制動態(tài)SQL的使用,優(yōu)化操作符,如in或not in,is null或is not null,like,union等操作符,應盡量少用;4、避免不帶任何where條件的SQL語句的執(zhí)行,使用order by、group by、uni

21、on等條件的SQL語句會對查詢完的數(shù)據(jù)進行 排序,增大了 PGA或TEMP的負擔,優(yōu)化這些語句時可在使用這 些條件的列上加上有序索引;5、對SQL語句的索引進行優(yōu)化,如:在索引列使用is null 和is not null,或進行了顯式或隱式的運算時索引不被使用,采 用函數(shù)處理的字段也不能利用索引等;6、避免相關子查詢,查詢嵌套層次越多,效率越低,為了 加速查詢速度,可以使用臨時表;7、在系統(tǒng)不繁忙或在大量對象更改后定時或及時統(tǒng)計數(shù)據(jù) 庫信息,選擇適當?shù)姆椒ㄟM行優(yōu)化,包括幾種常用方法:基于代 價的優(yōu)化(CBO),基于規(guī)則的優(yōu)化(RBO),對于需要經(jīng)常進行查詢的 表,可以通過建立索引或嵌入內存區(qū)

22、以提高查詢效率。二:數(shù)據(jù)庫備份與恢復2.1數(shù)據(jù)備份的必要性數(shù)據(jù)備份是容災的基礎,是指為防止系統(tǒng)出現(xiàn)操作失誤或系 統(tǒng)故障導致數(shù)據(jù)丟失,而將全部或部分數(shù)據(jù)集合從應用主機的硬 盤或陣列復制到其它的存儲介質的過程。對數(shù)據(jù)的威脅通常比較難于防范,這些威脅一旦變?yōu)楝F(xiàn)實, 不僅會毀壞數(shù)據(jù),也會毀壞訪問數(shù)據(jù)的系統(tǒng)。造成數(shù)據(jù)丟失和毀 壞的原因主要如下幾個方面。(1)、數(shù)據(jù)處理和訪問軟件平臺故障。(2)、操作系統(tǒng)的設計漏洞或設計者出于不可告人的目的 而人為預置的黑洞。(3)、系統(tǒng)的硬件故障。(4)、人為的操作失誤。(5)、網(wǎng)絡內非法訪問者的惡意破壞。(6)、網(wǎng)絡供電系統(tǒng)故障等。這些故障將會造成數(shù)據(jù)丟失、數(shù)據(jù)被修改

23、、增加無用數(shù)據(jù)及 系統(tǒng)癱瘓等后果。只要發(fā)生數(shù)據(jù)傳輸、數(shù)據(jù)存儲和數(shù)據(jù)交換,就有可能產(chǎn)生數(shù) 據(jù)故障。這時,如果沒有采取數(shù)據(jù)備份和數(shù)據(jù)恢復手段與措施, 就會導致數(shù)據(jù)的丟失。有時造成的損失是無法彌補與估量的。在信息的收集、處理、存儲、傳輸和分發(fā)中經(jīng)常會存在一些 新的問題,其中最值得我們關注的就是系統(tǒng)失效、數(shù)據(jù)丟失或遭 到破壞。威脅數(shù)據(jù)的安全,造成系統(tǒng)失效的主要原因有以下幾個 方面:硬盤驅動器損壞;人為錯誤;黑客攻擊;病毒;自然災害; 電源浪涌(電源接通瞬間或是在電路出現(xiàn)異常情況下產(chǎn)生的遠大 于穩(wěn)態(tài)電流的峰值電流或過載電流);磁干擾;因此,數(shù)據(jù)備份與數(shù)據(jù)恢復是保護數(shù)據(jù)的最后手段,也是防 止主動型信息攻擊

24、的最后一道防線。2.2備份方案的誤區(qū)首先,有人認為復制就是備份,其實單純復制數(shù)據(jù)無法使數(shù) 據(jù)留下歷史記錄,也無法留下系統(tǒng)的目錄索引或者注冊表內容等 信息。有可能會造成數(shù)據(jù)無法正常使用的情況。完整的備份包括自動化的數(shù)據(jù)管理與系統(tǒng)的全面恢復,因此,從這個意義上說,備份=拷貝+管理;其次,以硬件備份代替?zhèn)浞荨km然很多服務器都采取了容錯 設計,即硬盤備份(雙機熱備份、磁盤陣列與磁盤鏡像等),但 這些都不是理想的備份方案;比如雙機熱備份中,如果兩臺服務器同時出現(xiàn)故障,那么整 個系統(tǒng)便陷入癱瘓狀態(tài),因此存在的風險還是相當大的;此外, 只把數(shù)據(jù)文件作為備份的目標。有人認為備份只是對數(shù)據(jù)文件的 備份,系統(tǒng)文件

25、與應用程序無需進行備份,因為它們可以通過安裝盤重新進行安裝。事實上,考慮到安裝和調試整個系統(tǒng)的時間可能要持續(xù)好幾天,其中花費的投入是十分不必要的;因此,最有效的備份方式是對整個系統(tǒng)架構進行備份。2.3數(shù)據(jù)庫備份類型(一)按備份形式不同分來分類按照數(shù)據(jù)庫的備份形式進行分類,可以大致分為兩種,第一 種是物理備份,它是直接備份那些錄入在數(shù)據(jù)庫中的一些具體的 書庫文件,而且在備份完成后,根據(jù)文件不同的性質進行分類化 檔。物理備份的本質就是計算機自己主動的對所有文件 進行復 制和粘貼,即使文件全部丟失,數(shù)據(jù)仍然存在計算機中。第二種 是邏輯備份,它是對備份的一種補充,一般適用于增量備份,就 是備份那些在上

26、次備份以后改變的數(shù)據(jù),比物理備份來說要更復 雜一些。如果想要文件更好更完整的備份下來,可以將兩者形式 備份結合使用。完全備份這是大多數(shù)人常用的方式,它可以備份整個數(shù)據(jù)庫,包含用 戶表、系統(tǒng)表、索引、視圖和存儲過程等所有數(shù)據(jù)庫對象。但它 需要花費更多的時間和空間,所以,一般推薦一周做一次完全備 份。事務日志備份事務日志是一個單獨的文件,它記錄數(shù)據(jù)庫的改變,備份的 時候只需要復制自上次備份以來對數(shù)據(jù)庫所做的改變,所以只需 要很少的時間。為了使數(shù)據(jù)庫具有魯棒性(健壯和強壯),推薦 每小時甚至更頻繁的備份事務日志。差異備份也叫增量備份。它是只備份數(shù)據(jù)庫一部分的另一種方法,它 不使用事務日志,相反,它使

27、用整個數(shù)據(jù)庫的一種新映象。它比 最初的完全備份小,因為它只包含自上次完全備份以來所改變的 數(shù)據(jù)庫。它的優(yōu)點是存儲和恢復速度快。推薦每天做一次差異備 份。文件備份數(shù)據(jù)庫可以由硬盤上的許多文件構成。如果這個數(shù)據(jù)庫非常 大,并且一個晚上也不能將它備份完,那么可以使用文件備份每 晚備份數(shù)據(jù)庫的一部分。由于一般情況下數(shù)據(jù)庫不會大到必須使 用多個文件存儲,所以這種備份不是很常用。(二)按備份狀態(tài)不同分類計算機中備份最常見的分類形式就是按照備份狀態(tài)對數(shù)據(jù) 進行備份,它有兩種分類形式:靜態(tài)備份和動態(tài)備份。所謂靜態(tài) 備份就是在文件進行備份的時候,只能做文件備份這一件事情, 不能同時完成別的事,這可以保證文件的完整性。而動態(tài)備份是 和靜態(tài)備份完全相反的一種備份方式,計算機在文件備份時,用 戶可以同時對數(shù)據(jù)庫中的信息進行修改或者編輯。而且計算機能 自動建立一個備份日志,這個備份日志是用來記錄用戶所修改的 數(shù)據(jù)的時間和修改的內容,動態(tài)備份也是所有備份方式中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論