国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

ORACLE 數據庫的邏輯備份

2024-08-29 13:42:40
字體:
來源:轉載
供稿:網友
 
  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=incremental參數。
  
  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=表名
  
  注:要恢復的表名參照備份的表名
  
  。恢復是在原表基礎上累加數據
  
  。沒有非凡說明,不答應在客戶端執行恢復命令

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 榕江县| 涞源县| 安乡县| 吉林市| 广宁县| 白银市| 福贡县| 南宁市| 洛宁县| 东方市| 清水县| 巫山县| 南乐县| 大关县| 南江县| 襄城县| 长武县| 鹤壁市| 奉化市| 临汾市| 旬邑县| 孝义市| 二连浩特市| 阿巴嘎旗| 两当县| 白朗县| 襄垣县| 正阳县| 开封市| 北宁市| 桃源县| 中阳县| 徐州市| 东台市| 寿阳县| 都江堰市| 肥乡县| 洛宁县| 响水县| 达拉特旗| 宁陵县|