亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關(guān)注微信公眾號(hào)

數(shù)據(jù)泵備份之外的一些“副作用”
2009-06-04   IT專(zhuān)家網(wǎng)

     數(shù)據(jù)泵是Oracle最近幾個(gè)版本中才引進(jìn)的一項(xiàng)技術(shù),其主要用來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行邏輯備份與恢復(fù)。其主要包括expdp與imppd兩個(gè)實(shí)用程序。數(shù)據(jù)庫(kù)傳統(tǒng)的備份基本上都是物理備份,包括聯(lián)機(jī)備份與脫機(jī)備份等等。但是數(shù)據(jù)泵在Oracle數(shù)據(jù)庫(kù)中為其實(shí)現(xiàn)了邏輯備份。

  邏輯備份簡(jiǎn)單的說(shuō),就是將數(shù)據(jù)庫(kù)中的數(shù)據(jù)導(dǎo)出到一個(gè)轉(zhuǎn)儲(chǔ)文件中保存。邏輯備份比物理備份具有更大的靈活性。如根據(jù)需要,數(shù)據(jù)庫(kù)管理員可以備份一個(gè)表空間中的數(shù)據(jù),也可以備份一個(gè)方案對(duì)象、甚至只是某些特定表中的數(shù)據(jù)。在還原的時(shí)候,也可以針對(duì)不同的轉(zhuǎn)儲(chǔ)文件來(lái)恢復(fù)相關(guān)的數(shù)據(jù)。可見(jiàn),數(shù)據(jù)泵提供的邏輯備份要比物理備份靈活的多。不過(guò)筆者今天要談的不是數(shù)據(jù)泵邏輯備份的靈活性,而是要談?wù)勍ㄟ^(guò)數(shù)據(jù)泵對(duì)數(shù)據(jù)庫(kù)進(jìn)行導(dǎo)入導(dǎo)出的幾個(gè)很有用的“副作用”。在這些副作用的幫助下,數(shù)據(jù)庫(kù)管理員可以節(jié)省大量的工作。

  副作用一:消除磁盤(pán)碎片。

  在數(shù)據(jù)庫(kù)使用過(guò)程中,難免為對(duì)保存在其中的數(shù)據(jù)進(jìn)行刪刪減減。這些操作難免會(huì)在硬盤(pán)中造成比較多的硬盤(pán)碎片。如果在這臺(tái)服務(wù)器中還部署了其他的應(yīng)用服務(wù),那么碎片會(huì)更多。而這些硬盤(pán)碎片會(huì)在很大程度上影響數(shù)據(jù)庫(kù)的運(yùn)行性能。此時(shí)盡量消除硬盤(pán)碎片也是提高數(shù)據(jù)庫(kù)性能的一個(gè)很好的方法。

  在Windows等操作系統(tǒng)中也有碎片整理工具。但是這個(gè)操作系統(tǒng)提供的工具并能夠有效消除數(shù)據(jù)庫(kù)中的存儲(chǔ)碎片。因?yàn)閿?shù)據(jù)庫(kù)中的存儲(chǔ)碎片是由于數(shù)據(jù)塊大小、存儲(chǔ)結(jié)構(gòu)、不合理的數(shù)據(jù)類(lèi)型等等多個(gè)方面所造成的。而操作系統(tǒng)與數(shù)據(jù)庫(kù)系統(tǒng)畢竟是兩個(gè)不同的應(yīng)用系統(tǒng),為此通過(guò)操作系統(tǒng)提供的硬盤(pán)碎片處理程序往往很難消除數(shù)據(jù)庫(kù)系統(tǒng)中的磁盤(pán)碎片。那么在數(shù)據(jù)庫(kù)中該如何解決這個(gè)磁盤(pán)碎片問(wèn)題呢?

  在以前版本的數(shù)據(jù)庫(kù)中,數(shù)據(jù)庫(kù)管理員可能對(duì)此只能夠干瞪眼。不過(guò)在Oracle 10G以后的數(shù)據(jù)庫(kù)中,借助數(shù)據(jù)泵的作用,就可以輕松的解決這個(gè)問(wèn)題。如利用數(shù)據(jù)泵實(shí)用程序,先將數(shù)據(jù)庫(kù)中的數(shù)據(jù)全部導(dǎo)出,然后再進(jìn)行恢復(fù)。在恢復(fù)的過(guò)程中,Oracle數(shù)據(jù)庫(kù)系統(tǒng)會(huì)重新組織表的存儲(chǔ)結(jié)構(gòu),減少表中的連接,并有效的消除磁盤(pán)碎片。從而可以在很大程度上提高數(shù)據(jù)庫(kù)的性能。特別是對(duì)于那些變動(dòng)性比較大的Oracke數(shù)據(jù)庫(kù),最好定時(shí)的利用數(shù)據(jù)泵工具進(jìn)行導(dǎo)入導(dǎo)出的工作。這有利于其提高數(shù)據(jù)庫(kù)的性能。不過(guò)在使用數(shù)據(jù)泵導(dǎo)入導(dǎo)出數(shù)據(jù)的時(shí)候,最好能夠選擇企業(yè)用戶(hù)不用數(shù)據(jù)庫(kù)的時(shí)候。雖然這個(gè)導(dǎo)入導(dǎo)出花不了多少時(shí)間(以各存儲(chǔ)10G左右的數(shù)據(jù)庫(kù)為例,大概20分鐘可以完成整個(gè)導(dǎo)入導(dǎo)出工作)。但是如果在這個(gè)中間用戶(hù)對(duì)數(shù)據(jù)庫(kù)進(jìn)行了修改,那么這個(gè)修改的數(shù)據(jù)就可能會(huì)丟失。所以在進(jìn)行這項(xiàng)工作的時(shí)候,能夠斷開(kāi)用戶(hù)與數(shù)據(jù)庫(kù)的連接是最好的。

  副作用二:可以在不同的操作系統(tǒng)之間進(jìn)行數(shù)據(jù)遷移。

  有時(shí)候企業(yè)可能需要在不同的操作系統(tǒng)之間進(jìn)行數(shù)據(jù)庫(kù)的遷移。如筆者前段時(shí)間,就負(fù)責(zé)過(guò)類(lèi)似的項(xiàng)目。企業(yè)原先是在微軟的操作系統(tǒng)上部署Oracle數(shù)據(jù)庫(kù)系統(tǒng)的。不過(guò)那時(shí)候企業(yè)采用的是盜版的操作系統(tǒng)。由于微軟盜版打擊力度逐漸增強(qiáng),企業(yè)擔(dān)心總有一天會(huì)波及到他們;同時(shí)這個(gè)服務(wù)器系統(tǒng)穩(wěn)定性也不是很高,時(shí)不時(shí)的會(huì)跟企業(yè)用戶(hù)鬧點(diǎn)小矛盾。為此企業(yè)準(zhǔn)備乘早向Linux操作系統(tǒng)轉(zhuǎn)移。其首要的目標(biāo)就是把現(xiàn)在的一些服務(wù)器部署在Linux操作系統(tǒng)上。所以需要把Oracle數(shù)據(jù)庫(kù)從Windows操作系統(tǒng)向Linux操作系統(tǒng)轉(zhuǎn)移。

  要實(shí)現(xiàn)這個(gè)轉(zhuǎn)移在以前的數(shù)據(jù)庫(kù)版本中可能比較難。但是在10G等以后的數(shù)據(jù)庫(kù)版本中就變得很簡(jiǎn)單了。因?yàn)閿?shù)據(jù)泵備份與恢復(fù)工具可以將數(shù)據(jù)庫(kù)中的數(shù)據(jù)存儲(chǔ)在一個(gè)轉(zhuǎn)儲(chǔ)文件中。而這個(gè)轉(zhuǎn)儲(chǔ)文件是一個(gè)二進(jìn)制形式的文件,不受操作系統(tǒng)的影響。為此在Windows操作系統(tǒng)平臺(tái)中,利用數(shù)據(jù)泵工具把數(shù)據(jù)導(dǎo)出保存在轉(zhuǎn)儲(chǔ)文件(二進(jìn)制文件)中。然后再在Linux操作系統(tǒng)上安裝好Oracle數(shù)據(jù)庫(kù)系統(tǒng),再利用數(shù)據(jù)泵工具把存儲(chǔ)在轉(zhuǎn)儲(chǔ)文件中的數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫(kù)中即可。由于利用二進(jìn)制文件來(lái)存儲(chǔ)數(shù)據(jù),為此不會(huì)因?yàn)椴僮飨到y(tǒng)平臺(tái)而出現(xiàn)不能夠?qū)氲那闆r。這主要是因?yàn)槎M(jìn)制的文件中不會(huì)包含操作系統(tǒng)的信息。所以在不同的操作系統(tǒng)平臺(tái)上的Oracle數(shù)據(jù)庫(kù)之間可以直接導(dǎo)入導(dǎo)出數(shù)據(jù)。可見(jiàn),數(shù)據(jù)泵對(duì)于在不同操作系統(tǒng)平臺(tái)之間進(jìn)行數(shù)據(jù)庫(kù)遷移是非常有用的。

  副作用三:用來(lái)進(jìn)行數(shù)據(jù)庫(kù)的升級(jí)。

  筆者前段時(shí)間遇到過(guò)一個(gè)項(xiàng)目,要將Oracle數(shù)據(jù)庫(kù)從10G升級(jí)到11G。在這個(gè)升級(jí)的過(guò)程中,數(shù)據(jù)庫(kù)本身的升級(jí)難度并不是很大。主要的問(wèn)題是如何將數(shù)據(jù)進(jìn)行升級(jí)。因?yàn)閮蓚€(gè)不同版本的數(shù)據(jù)庫(kù)系統(tǒng),新版本會(huì)對(duì)舊版本的數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行一些必要的改善。即使其兼容性再好,如果直接利用聯(lián)機(jī)備份或者脫機(jī)備份得到的備份文件進(jìn)行恢復(fù)的話,仍然是不行的。即使其能夠恢復(fù)成功,但是在恢復(fù)的過(guò)程中會(huì)提示一些警告或者出錯(cuò)信息。這些內(nèi)容會(huì)影響到以后數(shù)據(jù)庫(kù)運(yùn)行的穩(wěn)定性。為此在數(shù)據(jù)庫(kù)進(jìn)行升級(jí)的過(guò)程中,利用備份文件來(lái)進(jìn)行恢復(fù)數(shù)據(jù)并不是理想的方法。

     筆者最認(rèn)為最理想的方法是將數(shù)據(jù)表一張張的導(dǎo)入。不過(guò)由于Oracle數(shù)據(jù)庫(kù)的內(nèi)容比較多,這個(gè)導(dǎo)起來(lái)比較麻煩。筆者以前在進(jìn)行數(shù)據(jù)庫(kù)升級(jí)時(shí),就寫(xiě)過(guò)一個(gè)腳本語(yǔ)句。即使在腳本語(yǔ)句的幫助下,也很難一步到位完成不同版本之間的數(shù)據(jù)遷移工作。而這次從10G升級(jí)到11G的時(shí)候,筆者直接采用數(shù)據(jù)泵工具,就順利完成了數(shù)據(jù)的遷移工作。其實(shí)操作很簡(jiǎn)單。將低版本數(shù)據(jù)庫(kù)中的數(shù)據(jù)利用數(shù)據(jù)泵工具全部導(dǎo)出保存在轉(zhuǎn)儲(chǔ)文件中,然后再利用數(shù)據(jù)泵工具將數(shù)據(jù)導(dǎo)入導(dǎo)高版本的數(shù)據(jù)庫(kù)中。在導(dǎo)入的過(guò)程中,數(shù)據(jù)泵實(shí)用工具會(huì)對(duì)某些內(nèi)容進(jìn)行自動(dòng)的調(diào)整,以符合新版本新特性的需要。最用的是,在數(shù)據(jù)泵工具的幫助下,可以實(shí)現(xiàn)一次性導(dǎo)出與導(dǎo)入,這可以讓數(shù)據(jù)庫(kù)管理員省下不少的心。

  另外,數(shù)據(jù)泵不僅可以幫助數(shù)據(jù)庫(kù)管理員將數(shù)據(jù)庫(kù)從低版本升級(jí)到高版本中。如果有需要將數(shù)據(jù)庫(kù)的內(nèi)容遷移到低版本中,則數(shù)據(jù)泵也可以幫助管理員完成這方面的任務(wù)。不過(guò)此時(shí)數(shù)據(jù)泵還需要其他一些輔助工具的幫助才行。

  副作用四:在不同方案之間實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)移。#p#分頁(yè)標(biāo)題#e#

  有時(shí)候數(shù)據(jù)庫(kù)管理員可能需要在不同的方案之間實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)移。如在數(shù)據(jù)庫(kù)中有兩個(gè)方案A與B。其中方案A是企業(yè)正在使用的方案;而方案B是一個(gè)測(cè)試方案。有時(shí)候設(shè)計(jì)開(kāi)發(fā)了一個(gè)新功能,需要在方案B下先進(jìn)行測(cè)試。不過(guò)為了保證測(cè)試方案的準(zhǔn)確性,需要把方案B中的數(shù)據(jù)保持最新,即跟方案A中的數(shù)據(jù)進(jìn)行同步。此時(shí)數(shù)據(jù)庫(kù)管理員就需要把方案A中的數(shù)據(jù)轉(zhuǎn)移到方案B中。

  此時(shí)數(shù)據(jù)庫(kù)管理員可以利用數(shù)據(jù)泵實(shí)用工具將方案A中的數(shù)據(jù)導(dǎo)出到轉(zhuǎn)儲(chǔ)文件中。然后再將這個(gè)轉(zhuǎn)儲(chǔ)文件中的內(nèi)容通過(guò)數(shù)據(jù)泵實(shí)用工具導(dǎo)入導(dǎo)方案B中。從而完成在不同的數(shù)據(jù)庫(kù)對(duì)象之間進(jìn)行數(shù)據(jù)遷移的任務(wù)。此時(shí)數(shù)據(jù)恢復(fù)(其實(shí)準(zhǔn)確的說(shuō),應(yīng)該是數(shù)據(jù)導(dǎo)入,而不是數(shù)據(jù)恢復(fù)),不會(huì)因?yàn)榉桨该煌芙^恢復(fù)。

  可見(jiàn)在數(shù)據(jù)泵工具的幫助下,在不同方案對(duì)象之間進(jìn)行數(shù)據(jù)的遷移變得非常的簡(jiǎn)單。所以數(shù)據(jù)庫(kù)管理員以后在進(jìn)行測(cè)試的時(shí)候,要保持測(cè)試方案對(duì)象與被測(cè)試對(duì)象的數(shù)據(jù)同步不再是難事。

  總之,數(shù)據(jù)泵實(shí)用工具是Oracle 10G 11G兩個(gè)數(shù)據(jù)庫(kù)版中很實(shí)用的一個(gè)管理工具之一。其不僅可以用來(lái)完成傳統(tǒng)的數(shù)據(jù)備份需要,而且其衍生出來(lái)的那些“副作用”,還可以幫助我們管理員做好日常的維護(hù)工作。從某種方面來(lái)說(shuō),這些副作用可能比其本身數(shù)據(jù)備份功能還要來(lái)的重要,對(duì)我們管理員更加有吸引力。充分利用這些副作用,可以大幅度的減少我們數(shù)據(jù)庫(kù)日常維護(hù)的工作量。

熱詞搜索:

上一篇:MySQL數(shù)據(jù)庫(kù)在Linux下二進(jìn)制日志恢復(fù)方法
下一篇:來(lái)自SSH的兩個(gè)新的數(shù)據(jù)安全解決方案

分享到: 收藏