ORACLE數(shù)據(jù)庫備份_第1頁
ORACLE數(shù)據(jù)庫備份_第2頁
ORACLE數(shù)據(jù)庫備份_第3頁
ORACLE數(shù)據(jù)庫備份_第4頁
ORACLE數(shù)據(jù)庫備份_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、ORACL數(shù)據(jù)庫備份一、意義: 當(dāng)我們使用一個(gè)數(shù)據(jù)庫時(shí), 總希望數(shù)據(jù)庫的內(nèi)容是可靠的、 正確的, 但由于計(jì)算機(jī)系統(tǒng) 的故障 (硬件故障、 網(wǎng)絡(luò)故障、 進(jìn)程故障和系統(tǒng)故障 )影響數(shù)據(jù)庫系統(tǒng)的操作, 影響數(shù)據(jù)庫中 數(shù)據(jù)的正確性, 甚至破壞數(shù)據(jù)庫, 使數(shù)據(jù)庫中全部或部分?jǐn)?shù)據(jù)丟失。 因此當(dāng)發(fā)生上述故障后, 希望能重新建立一個(gè)完整的數(shù)據(jù)庫, 該處理稱為數(shù)據(jù)庫恢復(fù)。 恢復(fù)子系統(tǒng)是數(shù)據(jù)庫管理系統(tǒng) 的一個(gè)重要組成部分。恢復(fù)處理隨所發(fā)生的故障類型所影響的結(jié)構(gòu)而變化。二、備份的方法ORACLE 數(shù)據(jù)庫有三種標(biāo)準(zhǔn)的備份。導(dǎo)出 / 導(dǎo)入 (EXPORT/IMPORT) 、冷備份、熱備份。導(dǎo)出備份是一種邏輯備份, 這種

2、方法包括讀取一系列的數(shù)據(jù)庫日志, 并寫入文件中, 這 些日志的讀取與其所處位置無關(guān)。冷備份和熱備份是物理備份 ( 也稱低級(jí)備份 ) ,它涉及到組成數(shù)據(jù)庫的文件, 但不考慮邏 輯內(nèi)容。下面我們分別介紹一下這三種備份方法及其特點(diǎn):( 一)、導(dǎo)出 / 導(dǎo)入(EXPORT/IMPORT)EXPORT/IMPORT是用來將ORACLE數(shù)據(jù)移出/移入數(shù)據(jù)庫。1 、EXPORT將數(shù)據(jù)庫中數(shù)據(jù)備份成一個(gè)二進(jìn)制系統(tǒng)文件稱為“導(dǎo)出轉(zhuǎn)儲(chǔ)文件”(EXPORTDUMP FILE),并將重新生成數(shù)據(jù)庫寫入文件中。它有三種模式:a. 用戶模式:導(dǎo)出用戶所有對(duì)象以及對(duì)象中的數(shù)據(jù);b. 表模式:導(dǎo)出用戶所有表或者指定的表;c.

3、 整個(gè)數(shù)據(jù)庫:導(dǎo)出數(shù)據(jù)庫中所有對(duì)象。它的備份有三種類型:a. 完全型(COMPLETE EXPORT)備份整個(gè)數(shù)據(jù)庫;b. 積累型(COMULATIVE ERPORT)備份上一次積累型備份所改變的數(shù)據(jù);C. 增量型(INCREAMENTAL EXPORT)備份上一次備份后改變的數(shù)據(jù)。EXPORT 的命令可以交互式進(jìn)行,各參數(shù)的具體含義見附錄。 在進(jìn)行導(dǎo)出備份時(shí)我們要考慮一點(diǎn)問題,那就是導(dǎo)出的一致性,在導(dǎo)出過程中導(dǎo)出每讀一次就讀取一個(gè)表, 因而盡管導(dǎo)出是在一個(gè)特點(diǎn)時(shí)自己開始的, 但不同的表讀取的時(shí)間不 同,因此, 導(dǎo)出開始讀一個(gè)表時(shí),此時(shí)表中的數(shù)據(jù)才是導(dǎo)出的數(shù)據(jù),這樣當(dāng)大多數(shù)表按內(nèi)部 關(guān)鍵字和外

4、部關(guān)鍵字相互聯(lián)系時(shí), 在導(dǎo)出過程中這些相關(guān)聯(lián)表的改變就會(huì)導(dǎo)致導(dǎo)出的不一致 性,要避開這個(gè),我們可以將導(dǎo)出過程安排在不對(duì)表操作的時(shí)候進(jìn)行。另外,當(dāng)ORACLERESTRICTEP CONSISTEN選項(xiàng)就可以保證導(dǎo)出數(shù)據(jù)一致性。2 、IMPORT導(dǎo)入:導(dǎo)入的過程是導(dǎo)出的逆過程, 這個(gè)命令先讀取導(dǎo)出來的導(dǎo)出轉(zhuǎn)儲(chǔ)二進(jìn)制文件, 并運(yùn)行文 件,恢復(fù)對(duì)象用戶和數(shù)據(jù)。IMPORT命令執(zhí)行的方法和 EXPORTS案有關(guān)。1 、如果EXPORT所實(shí)施的是完全型方案(FULL)則在IMPORT時(shí)所有的數(shù)據(jù)對(duì)象,包括表預(yù)先創(chuàng)建表空間空間, 數(shù)據(jù)文件,用戶都會(huì)在導(dǎo)入時(shí)創(chuàng)建,但考慮到數(shù)據(jù)庫中的物理布局, 和用戶是有用的

5、。2 、如果EXPORT使用的是INCREMENTAL/CUMULATI方式,則需要預(yù)先設(shè)置好表空間、 用戶、數(shù)據(jù)文件。( 二 ) :冷備份 冷備份發(fā)生在數(shù)據(jù)庫已經(jīng)正常關(guān)閉的情況下, 當(dāng)正常關(guān)閉時(shí)會(huì)提供給我們一個(gè)完整的數(shù) 據(jù)庫。數(shù)據(jù)庫使用的每個(gè)文件都被備份下來,這些文件包括: 所有數(shù)據(jù)文件所有控制文件所有聯(lián)機(jī)REDO LOG文件 INIT.ORA 文件(可選 )值得注意的是冷備份必須是數(shù)據(jù)庫關(guān)閉的情況下完成, 當(dāng)數(shù)據(jù)庫開著的時(shí)候, 執(zhí)行數(shù)據(jù) 庫文件系統(tǒng)備份無效。作冷備份一般步驟是:1 :正常關(guān)閉要備份的實(shí)例 (instance);2:備份整個(gè)數(shù)據(jù)庫到一個(gè)目錄3 :?jiǎn)?dòng)數(shù)據(jù)庫1 : SQLDBA

6、connect internal SQLDBAshutdown normal2 : SQLDBA! cp 或SQLDBA!tar cvf /dev/rmt/0 /wwwdg/oracle3 : SQLDBAstartup(三)熱備份 (ACHIRELOG) 數(shù)據(jù)庫需要二十四小時(shí)運(yùn)行, 而且隨時(shí)有新的數(shù)據(jù)加入 . 數(shù)據(jù)丟失將影響整個(gè)公司 .采用archivelog mode 物理備份 .*. 設(shè)置數(shù)據(jù)庫為 automatic archivelog mode,#su - oracle%svrmgrl svrmgrlconnect internal svrmgrlstartup mount svrm

7、grlalter database archivelog svrmgrlshutdown svrmgrlexit%vi initoracle7.ora加入 log_archive_start = true # if you want automatic archivinglog_archive_dest = $ORACLE_HOME/dbs/arch log_archive_format = log%s.arc%dbstart%ps -ef|grep archoracle 1743 1 0 15:20:20 ? 0:00 ora_arch_oracle7注: oracle database i

8、s in automatic archivelog mode?full offline entire database backup, 當(dāng)數(shù)據(jù)庫初始完成后 礎(chǔ)。它提供了所有與數(shù)據(jù)庫有關(guān)的拷貝 .%dbshut%cp /oracle/oradata/oracle7/system.dbf/oracle/oradata/oracle7/rbs.dbf/oracle/oradata/oracle7/temp.dbf/oracle/oradata/oracle7/tools.dbf/oracle/oradata/oracle7/users.dbf /oraclecle/app/oracle/produc

9、t/7.3.2/dbs/application.dbf/oracle/app/oracle/product/7.3.2/dbs/apptmpsp.dbf/oracle/app/oracle/product/7.3.2/dbs/apprlbksp.dbf/oracle/oradata/oracle7/redooracle.log/oracle/oradata/oracle7/control1.ctl/oracle/oradata/oracle7/control2.ctl/oracle/oradata/oracle7/control3.ctl%dbstart注:以上 *.dbf 文件為數(shù)據(jù)文件 ,

10、*.log 文件為日志文件 ,*.ctl%exit%tar uvf /dev/rmt/0 注 : 如 果 為 oracle 7.2 , 則 copy 相 files,control files.6.3 、每天做一次 partial online with archiving backups .#su - oracle%svrmgrl%svrmgrlconnect internal%svrmgrlalter tablespace billsp begin backup %svrmgrlalter tablespace billtmpsp begin backup%svrmgrlalter tab

11、lespace billrlbksp begin backup%svrmgrlalter tablespace system begin backup%svrmgrlalter tablespace rbs begin backup%svrmgrlalter tablespace temp begin backup這份備份是將來備份的基文件為控制文件應(yīng) 的 data files,relog%svrmgrlalter tablespace tools begin backup%svrmgrlalter tablespace users begin backup%svrmgrlhost cp al

12、l datafile to the backup storage.# 文件名如第一步中以 .dbf 結(jié)尾的 .%svrmgrlalter tablespace billsp end backup%svrmgrlalter tablespace billtmpsp end backup %svrmgrlalter tablespace billrlbksp end backup%svrmgrlalter tablespace system end backup%svrmgrlalter tablespace rbs end backup%svrmgrlalter tablespace temp

13、end backup %svrmgrlalter tablespace tools end backup%svrmgrlalter tablespace users end backup做一個(gè) sql 文件 , 如上所寫 .The billing system can recover to the point of failure when the failure occur.七、備份文件的恢復(fù):7.1 恢復(fù)文件: 以下是對(duì) /etc/passwd 文件的恢復(fù)( 、放入正確的磁帶( 、運(yùn)行以下命令恢復(fù) /etc/passwd 文件# rsh www mt -f /dev/rmt/0 rew(

14、找到最近的磁帶,向前進(jìn)帶到最近的 /etc/passwd ,比如要找星期三的 /etc/passwd 文件,運(yùn)行如下命令 )#rsh www mt -f /dev/rmt/0n fsf 2# ufsrestore if www:/dev/rmt/0n ufsrestore lsetc/ufsrestore cd etc ufsrestore ls /etc : passwd ufsrestore add passwd Warnign : /etc : File exists ufsrestore verbose verbose mode on ufsrestore extract Extrac

15、t requested files You have not read any volumes yet Unless you know which volume your file(s) are on you should startwitch the last volume and work to wards the first Specify next volume # : 1extract file /etc/passwdAdd linksSet directory mode ,ower,and times set owner /mode for ?(yn)nDirectories al

16、ready exit , set mode anyway?(yn)yufsrestore quit熱備份可以在數(shù)據(jù)庫打開打情況下進(jìn)行,一般通過使用 Alter 命令改變表空間 的狀態(tài)來開始進(jìn)行備份的,備份完成后,要恢其原來狀態(tài),否則 redo log 會(huì)錯(cuò)配 ,引起數(shù)據(jù)庫下次啟動(dòng)時(shí)對(duì)受影響的表空間進(jìn)行完全覆蓋。熱備份的要求是:1. 熱備份工作必需要求數(shù)據(jù)庫在Archivelog 方式下操作,在SQLDBA狀態(tài)下用alter database archivelog|noarchivelog命令可改變備份的模式。2. 熱備份只能在數(shù)據(jù)庫不使用或使用率低的情況下進(jìn)行。3. 熱備份需要大量的檔案空間。

17、一般情況, Oracle 以循環(huán)的方式寫入 Online redo log 文件,當(dāng)填滿第一個(gè)redo log文件后寫第二個(gè),直至最后一個(gè),最后一個(gè)被填滿后,后臺(tái)進(jìn)程LGWR覆蓋第一個(gè),在 Archivelog 方式下,后臺(tái)進(jìn)程 ARCH在每一個(gè)redo log文件被覆蓋前,給它作一個(gè)拷貝,一般,這些文檔的 redo log 文件被寫入磁盤或磁帶中。如 果磁盤空間夠用,建議使用磁盤,這樣可大大減少完成備份所需的時(shí)間。在作熱備份之前, 要將 config.ora 文件中的 log_archive_start 設(shè)為 true 將 log_archive_dest規(guī)定 archive redo lo

18、g 文件的位置:log_archive_dest=/wwwdg/oracle/arch/archlog_archive_start=true一旦數(shù)據(jù)庫運(yùn)行在 archivelog 狀態(tài)下,就可以作備份了。熱備份的命令文件由三部分組成:1 、數(shù)據(jù)文件一個(gè)表空間一個(gè)空間地備份:a. 設(shè)置表空間為備份狀態(tài)。b. 備份表空間的數(shù)據(jù)文件。c. 恢復(fù)表空間為正常狀態(tài)。2 、備份歸檔要作 log 文件:a. 臨時(shí)停止歸檔進(jìn)程b.log 下那些在 archive redo log 目標(biāo)目錄中的文件c. 重新啟動(dòng) archive 進(jìn)程d. 備份歸檔的 redo log 文件3 、用 alter database

19、 backup controlfile命令來備份拷貝文件在熱備份運(yùn)行之前 log_archive_dest 目錄可能已滿,這時(shí)就要備份目錄,然 后刪除文件,釋放空間,這個(gè)過程有如下步驟:1 、暫時(shí)停止 archive 進(jìn)程。2 、記錄在 log_archive_dest 目錄下的文件。3 、重新啟動(dòng) archive 進(jìn)程。4 、備份 archive redo log 文件。5 、刪除目錄中的文件。sqldba lmode=y EOF arch1archive log stop;exitEOF arch1FILES=ls /wwwdg/oracle/arch/arch*.dbf;sqldba l

20、mode=yconnect internalsvrmgrlstartup mount pfile=filename exclusive?svrmgrlalter database recover; 注:將自動(dòng)恢復(fù)數(shù)據(jù)到 the point of failure;? svrmgrlalter database open;? 當(dāng) archive log 文件過多時(shí),在 做過部分備份后,可將 current log sequence 之前的 log*.arc 刪除 .#su - oracle%svrmgrl svrmgrlconnect internal; svrmgrlarchive log li

21、st;# 此處標(biāo)有 current log sequence.假設(shè)為 360 。Svrmgrlexit$cd /billdg/oracle/app/oracle/product/7.3.2/dbs/arch$ rm # 將 log360.arc 之前的文件如 log359.arc,log358.arc 刪除。當(dāng)數(shù)據(jù)庫比較小時(shí),處理業(yè)務(wù)也小時(shí),冷備份導(dǎo)出就可以了。如果只對(duì)一兩個(gè)表備份導(dǎo)出就夠了。一般來說一個(gè)好 , 備份最終執(zhí)行總包括邏輯和物理,導(dǎo)出確認(rèn)數(shù)據(jù)庫在邏輯的正確性而物理備份確保物理。 另外,在進(jìn)行備份時(shí)需要一些存儲(chǔ)介質(zhì),對(duì)于這些介質(zhì)應(yīng)該對(duì)其作好管理1 :根據(jù)備份的內(nèi)容,日期將介質(zhì)統(tǒng)一編號(hào)

22、, 以免備份和恢復(fù)時(shí)弄錯(cuò)介質(zhì), 造成原有的備份 丟失。2 :介質(zhì)應(yīng)存放在與計(jì)算機(jī)設(shè)備不同的地點(diǎn),以免機(jī)房發(fā)生意外時(shí),備份與計(jì)算機(jī)設(shè)備一同損壞。附錄:tar 命令tar option arguments filename.option:c: 創(chuàng)建一個(gè)由命令行指定的新的 tarfilet: 列出 tarfile 中的內(nèi)容x: 打開 tarfile;f: 使用其后的 filename 或 /dev/rmt/0|1v: 列出被恢復(fù)的文件名;p: 恢復(fù)文件example:#tar cvf /dev/rmt/0 /oracle備份 /root 下的所有內(nèi)容#tar tvf /dev/rmt/0列出磁帶上的

23、所有內(nèi)容#tar xvf /dev/rmt/0 /oracle將磁帶上的 /oracle 目錄中的內(nèi)容恢復(fù)到當(dāng)前目錄中導(dǎo)出選項(xiàng) 關(guān)鍵字USERID BUFFEERFILECOMPRESS內(nèi)容 運(yùn)行導(dǎo)出命令的帳號(hào)的用戶名 / 口令。 用來取數(shù)據(jù)行的緩沖區(qū)的大小。導(dǎo)出轉(zhuǎn)儲(chǔ)文件的名字導(dǎo) 出是否應(yīng)該壓縮有碎片的 段成一個(gè)范圍, 這將會(huì)影響 STORAGE 子句,GRANTSINDEXESROWS導(dǎo)出時(shí)否要導(dǎo)出數(shù)據(jù)庫對(duì)象上的授權(quán)是否要導(dǎo)出表上的索引是否應(yīng)導(dǎo)出行。如它為 N,那么在導(dǎo)出文件中僅生成數(shù)據(jù)庫對(duì)象的DDLCONSSTRAINTS是否導(dǎo)出表舊的約定條件FULLOWNER如設(shè)為 Y,那么將執(zhí)行一個(gè)整

24、個(gè)數(shù)據(jù)庫導(dǎo)出操作要導(dǎo)出的一系列數(shù)據(jù)庫帳號(hào),然后執(zhí)行這些帳號(hào)的 USER導(dǎo)出操作TABLES要導(dǎo)出的一系列表;執(zhí)行這些表的TABLE導(dǎo)出操作RECORDLENGT轉(zhuǎn)儲(chǔ)導(dǎo)出文件日志的長(zhǎng)度(以字節(jié)為單位),通常都使用缺省,除非要在兩個(gè)INCTYPE不同操作系統(tǒng)中傳遞導(dǎo)出文件正在執(zhí)行的導(dǎo)出操作的類型 (有效值有” COMPLETE缺省值),CUMULATIVERECORD和“ IVCREMENTA”L)在 增 量導(dǎo) 出 類 型 中 的 一 個(gè) 標(biāo) 記, 標(biāo) 明 是 否 將 日 志 存 儲(chǔ)到 數(shù) 據(jù) 字 典 中日志導(dǎo)出的表中PARFILE要傳遞給導(dǎo)出的參數(shù)文件的名字。這個(gè)文件將包含所有參數(shù)的入口項(xiàng)ANA

25、LYZE CONSISTENTLOGMLS MLS_LABEL_ 導(dǎo)入選擇項(xiàng)USERIDBUFFEERFILESHOWEGORE標(biāo)明是否將移對(duì)象的統(tǒng)計(jì)信息寫入導(dǎo)出轉(zhuǎn)儲(chǔ)文件中 標(biāo)明是否保留所有導(dǎo)出對(duì)象的讀取一致復(fù)制。 導(dǎo)出日志將要寫入的文件的名字 標(biāo)明是否要導(dǎo)出 MLS 標(biāo)號(hào) 規(guī)定了 MLS標(biāo)號(hào)的格式運(yùn)行導(dǎo)入命令的帳號(hào)的用戶名 / 口令。用來取數(shù)據(jù)行的緩沖區(qū)的大小。 導(dǎo)入轉(zhuǎn)儲(chǔ)文件的名字 規(guī)定文件內(nèi)容是否被顯示,而不是被執(zhí)行。標(biāo)明在執(zhí)行 CREATE命令時(shí),是否忽略遇到的錯(cuò)誤。如果正 在導(dǎo)入的對(duì)象已經(jīng)存在時(shí),應(yīng)使用這個(gè)參數(shù)。FULLFROMUSER如設(shè)為 Y,那么將執(zhí)行一個(gè)整個(gè)數(shù)據(jù)庫導(dǎo)入操作在FULL=N的情況下,才有參數(shù)。它是一系列的數(shù)據(jù)庫帳號(hào),其 對(duì)象應(yīng)從導(dǎo)出轉(zhuǎn)儲(chǔ)文件中讀取。TOUSER一系列數(shù)據(jù)庫帳號(hào),導(dǎo)出轉(zhuǎn)儲(chǔ)文件扣的對(duì)象將要導(dǎo)入這些帳號(hào)。GRANTSINDEXESROWS導(dǎo)入時(shí)否要導(dǎo)入數(shù)據(jù)庫對(duì)象上的授權(quán) 是否要導(dǎo)入表上的索引DDLFULL如設(shè)為 Y,那么將執(zhí)行一個(gè)整個(gè)數(shù)據(jù)庫導(dǎo)出操作是否應(yīng)導(dǎo)入行。如它為N ,那么在導(dǎo)入文件中執(zhí)行數(shù)據(jù)庫對(duì)象的TABLES要導(dǎo)入的一系列表RECORDLENGT轉(zhuǎn)儲(chǔ)導(dǎo)入文件日志的長(zhǎng)度(以字節(jié)為單位),通常都使用缺省,除非要在兩

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論