成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關注微信公眾號

ORACLE數據庫的邏輯備份
2007-11-07   IT168

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=表名

  注:要恢復的表名參照備份的表名

  。恢復是在原表基礎上累加數據

  。沒有特殊說明,不允許在客戶端執行恢復命令

1

熱詞搜索:

上一篇:數據庫的備份與還原
下一篇:Oracle數據庫的備份及恢復策略

分享到: 收藏
主站蜘蛛池模板: 黄金传说| 龚婉怡| 将夜2第二季免费观看| 画皮电影| 彭丹丹主演的经典电影| 神宫寺勇太| 英雄卡片简单又漂亮| 成龙电影全集大全| 动漫秀场| 好好歌词| 矢部享佑| 艳妇乳肉豪妇荡乳ⅹxxo电影| 浙江卫视节目回放入口| be helpful at home| 床上黄色片| 弦月梦影| cctv17节目表今天| 鹿单东演过的短剧| 奥赛健美| 李采禫的电影| 你们可知道简谱| 456电影网络重口味456| 电影不扣钮的女孩| 孤掷一注在线观看| 废纸板拳击手| 电视剧热播剧大全| 小救星小渡| 逐步爱上你| 蛇魔女大闹都市| 梦想建筑师泰国百合剧| 《天底良知》电视剧| 网络流行语| 都市频道在线直播回放| 镀金时代第三季什么时候播放| 男微信头像| 爱妃直播| 在线播放免费视频播放| 被侵犯| 变形金刚1免费完整版在线观看 | 浙江卫视直播在线观看高清电视台| 松树的风格原文完整版|