隨筆-200  評論-148  文章-15  trackbacks-0
          ORACLE數據庫有兩類備份方法。第一類為物理備份,該方法實現數據庫的完整恢復,但 數據庫必須運行在歸擋模式下(業務數據庫在非歸擋模式下運行),且需要極大的外部 存儲設備,例如磁帶庫;第二類備份方式為邏輯備份,業務數據庫采用此種方式,此方 法不需要數據庫運行在歸擋模式下,不但備份簡單,而且可以不需要外部存儲設備。 數據庫邏輯備份方法 ORACLE數據庫的邏輯備份分為三種模式:表備份、用戶備份和完全備份。 表模式 備份某個用戶模式下指定的對象(表)。業務數據庫通常采用這種備份方式。 若備份到本地文件,使用如下命令: exp icdmain/icd rows=y indexes=n compress=n buffer=65536 feedback=100000 volsize=0 file=exp_icdmain_csd_yyyymmdd.dmp log=exp_icdmain_csd_yyyymmdd.log tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo 若直接備份到磁帶設備,使用如下命令: exp icdmain/icd rows=y indexes=n compress=n buffer=65536 feedback=100000 volsize=0 file=/dev/rmt0 log=exp_icdmain_csd_yyyymmdd.log tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo 注:在磁盤空間允許的情況下,應先備份到本地服務器,然后再拷貝到磁帶。出于速度 方面的考慮,盡量不要直接備份到磁帶設備。 用戶模式 備份某個用戶模式下的所有對象。業務數據庫通常采用這種備份方式。 若備份到本地文件,使用如下命令: exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536 feedback=100000 volsize=0 file=exp_icdmain_yyyymmdd.dmp log=exp_icdmain_yyyymmdd.log 若直接備份到磁帶設備,使用如下命令: exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536 feedback=100000 volsize=0 file=/dev/rmt0 log=exp_icdmain_yyyymmdd.log 注:如果磁盤有空間,建議備份到磁盤,然后再拷貝到磁帶。如果數據庫數據量較小, 可采用這種辦法備份。 完全模式 備份完整的數據庫。業務數據庫不采用這種備份方式。備份命令為: exp icdmain/icd rows=y indexes=n compress=n buffer=65536 feedback=100000 volsize=0 full=y file=exp_fulldb_yyyymmdd.dmp(磁帶設備則為/dev/rmt0) log=exp_fulldb_yyyymmdd.log 對于數據庫備份,建議采用增量備份,即只備份上一次備份以來更改的數據。增量備份 命令: exp icdmain/icd rows=y indexes=n compress=n buffer=65536 feedback=100000 volsize=0 full=y inctype=incremental file=exp_fulldb_yyyymmdd.dmp(磁帶設備則為/dev/rmt0) log=exp_fulldb_yyyymmdd.log 注:關于增量備份必須滿足下列條件: 1. 只對完整數據庫備份有效,且第一次需要full=y參數,以后需要inctype=increment al參數。 2. 用戶必須有EXP_FULL_DATABASE的系統角色。 3. 話務量較小時方可采用數據庫備份。 4. 如果磁盤有空間,建議備份到磁盤,然后再備份到磁帶。 業務數據庫備份方法及周期 用EXP進行備份前,先在SYS用戶下運行CATEXP.SQL文件(如果以前已運行該文件,則不 要執行這個腳本)。 沒有特殊說明,不允許在客戶端執行備份命令。 備份命令參照表模式下的備份命令。 從磁盤文件備份到磁帶 如果首先備份到本地磁盤文件,則需要轉儲到磁帶設備上。 1. 若需查看主機上配置的磁帶設備,使用如下命令: lsdev -Cc tape 顯示的結果如下例所示: rmt0 Available 30-58-00-2,0 SCSI 4mm Tape Drive rmt1 Defined  30-58-00-0,0 SCSI 4mm Tape Drive 標明Available的設備是可用的磁帶設備。 2. 若需查看磁帶存儲的內容,使用如下命令: tar -tvf /dev/rmt0 顯示的結果如下例所示: -rw-r--r-- 300 400 8089600 Jan 11 14:33:57 2001 exp_icdmain_20010111.dmp 如果顯示類似如下內容,則表示該磁帶存儲的備份數據是從數據庫直接備份到磁帶上, 而非從本地磁盤轉儲到磁帶的備份文件,因此操作系統無法識別。 tar: 0511-193 An error occurred while reading from the media. There is an input or output error. 或 tar: 0511-169 A directory checksum error on media; -267331077 not equal to 2 5626. 3. 對于新磁帶或無需保留現存數據的磁帶,使用如下命令: tar -cvf /dev/rmt0 exp_icdmain_yyyymmdd.dmp 注:A. 該命令將無條件覆蓋磁帶上的現存數據。   B. 文件名不允許包含路徑信息,如:/backup/exp_icdmain_yyyymmdd.dmp。 4. 對于需要保留現存數據的磁帶,使用如下命令: tar -rvf /dev/rmt0 exp_icdmain_yyyymmdd.dmp 注:該命令將文件exp_icdmain_yyyymmdd.dmp追加到磁帶的末端,不會覆蓋現存的數據 。 特別強調:如果備份時是從數據庫直接備份到磁帶上,則不可再向該磁帶上追加復制任 何其他文件,否則該備份數據失效。 5. 若需將轉儲到磁帶上的備份文件復制到本地硬盤,使用如下命令: A. 將磁帶上的全部文件復制到本地硬盤的當前目錄 tar -xvf /dev/rmt0 B. 將磁帶上的指定文件復制到本地硬盤的當前目錄 tar -xvf /dev/rmt0 exp_icdmain_yyyymmdd.dmp 備份時間安排 由于備份時對系統I/O有較大影響,所以,建議在晚上11點以后進行備份工作。 業務數據庫Oracle版本的恢復 恢復方案需根據備份方案確定。由于業務數據庫采用表備份和用戶備份相結合的方案, 所以業務數據庫的恢復需根據實際情況采用表恢復和用戶恢復相結合的方案。 恢復方案 數據庫的邏輯恢復分為表恢復、用戶恢復、完全恢復三種模式。 表模式 此方式將根據按照表模式備份的數據進行恢復。 A. 恢復備份數據的全部內容 若從本地文件恢復,使用如下命令: imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=exp_icdmain_cs d_yyyymmdd.dmp log=imp_icdmain_csd_yyyymmdd.log 若從磁帶設備恢復,使用如下命令: imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=/dev/rmt0 log=imp_icdmain_csd_yyyymmdd.log B. 恢復備份數據中的指定表 若從本地文件恢復,使用如下命令: imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=exp_icdmain_cs d_yyyymmdd.dmp log=imp_icdmain_csd_yyyymmdd.log tables=commoninformation,serviceinfo 若從磁帶設備恢復,使用如下命令: imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=/dev/rmt0 log=imp_icdmain_csd_yyyymmdd.log tables=commoninformation,serviceinfo 用戶模式 此方式將根據按照用戶模式備份的數據進行恢復。 A. 恢復備份數據的全部內容 若從本地文件恢復,使用如下命令: imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=exp_icdmain_yy yymmdd.dmp log=imp_icdmain_yyyymmdd.log 若從磁帶設備恢復,使用如下命令: imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=/dev/rmt0 log=imp_icdmain_yyyymmdd.log B. 恢復備份數據中的指定表 若從本地文件恢復,使用如下命令: imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=exp_icdmain_yy yymmdd.dmp log=imp_icdmain_yyyymmdd.log tables=commoninformation,serviceinfo 若從磁帶設備恢復,使用如下命令: imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=/dev/rmt0 log=imp_icdmain_yyyymmdd.log tables=commoninformation,serviceinfo 完全模式 如果備份方式為完全模式,采用下列恢復方法: 若從本地文件恢復,使用如下命令: imp system/manager rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=y volsize=0 full=y file=exp_icdmain_yyyymmdd.dmp log=imp_icdmain_yyyymmdd.log 若從磁帶設備恢復,使用如下命令: imp system/manager rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=y volsize=0 full=y file=/dev/rmt0 log=imp_icdmain_yyyymmdd.log 參數說明 1. ignore參數 Oracle在恢復數據的過程中,當恢復某個表時,該表已經存在, 就要根據ignore參數的設置來決定如何操作。 若ignore=y,Oracle不執行CREATE TABLE語句,直接將數據 插入到表中,如果插入的記錄違背了約束條件,比如主鍵約束, 則出錯的記錄不會插入,但合法的記錄會添加到表中。 若ignore=n,Oracle不執行CREATE TABLE語句,同時也不會 將數據插入到表中,而是忽略該表的錯誤,繼續恢復下一個表。 2. indexes參數 在恢復數據的過程中,若indexes=n,則表上的索引不會被恢復 ,但是主鍵對應的唯一索引將無條件恢復,這是為了保證數據 的完整性。 字符集轉換 對于單字節字符集(例如US7ASCII),恢復時,數據庫自動轉 換為該會話的字符集(NLS_LANG參數);對于多字節字符集 (例如ZHS16CGB231280),恢復時,應盡量使字符集相同 (避免轉換),如果要轉換,目標數據庫的字符集應是輸出數 據庫字符集的超集。 恢復方法 業務數據庫采用表恢復方案。在用IMP進行恢復前,先在SYS 用戶下運行CATEXP.SQL文件(如果以前已運行該文件,則 不要執行這個腳本),然后執行下列命令: IMP ICDMAIN/ICD FILE=文件名 LOG=LOG文件名 ROWS=Y COMMIT=Y BUFFER=Y IGNORE=Y TABLES=表名 注:要恢復的表名參照備份的表名   ?;謴褪窃谠砘A上累加數據   。沒有特殊說明,不允許在客戶端執行恢復命令 將一個數據庫的某用戶的所有表導到另外數據庫的一個用戶下面的例子   exp userid=system/manager owner=username1 file=expfile.dmp imp userid=system/manager fromuser=username1 touser=username2 ignore=y file=expfile.dmp
          posted on 2006-06-13 17:17 無聲 閱讀(550) 評論(0)  編輯  收藏 所屬分類: Oracle

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          道可道非常道,名可名非常名
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(5)

          我參與的團隊

          隨筆分類(174)

          隨筆檔案(200)

          文章分類(20)

          文章檔案(15)

          收藏夾

          開源網站

          朋友博客

          最新隨筆

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 克拉玛依市| 湖北省| 平江县| 吕梁市| 张家界市| 泌阳县| 吐鲁番市| 平乡县| 通化县| 抚顺市| 池州市| 吉安市| 加查县| 嘉定区| 泰和县| 屏边| 黔西县| 保定市| 陆河县| 东港市| 耿马| 漳浦县| 静宁县| 隆回县| 泾源县| 兰考县| 潞城市| 五华县| 崇信县| 定州市| 重庆市| 敖汉旗| 九龙县| 定结县| 紫云| 黎城县| 上虞市| 蕲春县| 武鸣县| 武穴市| 济阳县|