<strong id="riedb"><track id="riedb"></track></strong><em id="riedb"><acronym id="riedb"></acronym></em>
<tbody id="riedb"></tbody>
  • <em id="riedb"><acronym id="riedb"></acronym></em>
    <tbody id="riedb"></tbody>

  • <tbody id="riedb"><center id="riedb"></center></tbody>
  • 首頁 > 數據庫 > Oracle > 正文

    有關Oracle數據庫的備份情況

    2020-07-26 14:41:41
    字體:
    來源:轉載
    供稿:網友
    正在看的ORACLE教程是:有關Oracle數據庫的備份情況。一、意義:
    當我們使用一個數據庫時,總希望數據庫的內容是可靠的、正確的,但由于計算機系統的故障(硬件故障、網絡故障、進程
    故障和系統故障)影響數據庫系統的操作,影響數據庫中數據的正確性,甚至破壞數據庫,使數據庫中全部或部分數據丟
    失。因此當發生上述故障后,希望能重新建立一個完整的數據庫,該處理稱為數據庫恢復?;謴妥酉到y是數據庫管理系統
    的一個重要組成部分?;謴吞幚黼S所發生的故障類型所影響的結構而變化。
    二、備份的方法
    ORACLE數據庫有三種標準的備份。導出/導入(EXPORT/IMPORT) 、冷備份、熱備份。
    導出備份是一種邏輯備份,這種方法包括讀取一系列的數據庫日志,并寫入文件中,這些日志的讀取與其所處位置無關。
    冷備份和熱備份是物理備份(也稱低級備份),它涉及到組成數據庫的文件,但不考慮邏輯內容。
    下面我們分別介紹一下這三種備份方法及其特點:
    (一)、導出/導入(EXPORT/IMPORT)
    EXPORT/IMPORT是用來將ORACLE中數據移出/移入數據庫。
    1、EXPORT將數據庫中數據備份成一個二進制系統文件稱為“導出轉儲文件”(EXPORT DUMP FILE),并將重新生成數據庫寫
    入文件中。
    它有三種模式:
    a.用戶模式:導出用戶所有對象以及對象中的數據;
    b.表模式:導出用戶所有表或者指定的表;
    c.整個數據庫:導出數據庫中所有對象。
    它的備份有三種類型:
    a.完全型(COMPLETE EXPORT):備份整個數據庫;
    b.積累型(COMULATIVE ERPORT):備份上一次積累型備份所改變的數據;
    c.增量型(INCREAMENTAL EXPORT):備份上一次備份后改變的數據。
    EXPORT 的命令可以交互式進行,各參數的具體含義見附錄。
    在進行導出備份時我們要考慮一點問題,那就是導出的一致性,在導出過程 中導出每讀一次就讀取一個表,因而盡管導出
    是在一個特點時自己開始的,但不同的表讀取的時間不同,因此,導出開始讀一個表時,此時表中的數據才是導出的數
    據,這樣當大多數表按內部關鍵字和外部關鍵字相互聯系時,在導出過程中這些相關聯表的改變就會導致導出的不一致
    性,要避開這個,我們可以將導出過程安排在不對表操作的時候進行。另外,當ORACLE中RESTRICTEP CONSISTENT 選項就
    可以保證導出數據一致性。

    2、IMPORT導入:
    導入的過程是導出的逆過程,這個命令先讀取導出來的導出轉儲二進制文件,并運行文件,恢復對象用戶和數據。
    IMPORT命令執行的方法和EXPORT方案有關。
    1、如果EXPORT所實施的是完全型方案(FULL)則在IMPORT時所有的數據對象,包括表空間,數據文件,用戶都會在導入時創
    建,但考慮到數據庫中的物理布局,預先創建表空間和用戶是有用的。
    2、如果EXPORT使用的是INCREMENTAL/CUMULATIVE方式,則需要預先設置好表空間、用戶、數據文件。
    (二):冷備份
    冷備份發生在數據庫已經正常關閉的情況下,當正常關閉時會提供給我們一個完整的數據庫。
    數據庫使用的每個文件都被備份下來,這些文件包括:
    ☆所有數據文件
    ☆所有控制文件
    ☆所有聯機REDO LOG 文件
    ☆INIT.ORA文件(可選)
    值得注意的是冷備份必須是數據庫關閉的情況下完成,當數據庫開著的時候,執行數據庫文件系統備份無效。
    作冷備份一般步驟是:
    1:正常關閉要備份的實例(instance);
    2: 備份整個數據庫到一個目錄
    3:啟動數據庫
    1: SQLDBA>connect internal
    SQLDBA>shutdown normal
    2: SQLDBA>! cp <file> <backup directory>

    SQLDBA>!tar cvf /dev/rmt/0 /wwwdg/oracle
    3: SQLDBA>startup

    (三)熱備份(ACHIRELOG)
    數據庫需要二十四小時運行,而且隨時有新的數據加入.數據丟失將影響整個公司.采用archivelog mode物理備份.
    ?設置數據庫為automatic archivelog mode,
    #su - oracle
    %svrmgrl
    svrmgrl>connect internal
    svrmgrl>startup mount
    svrmgrl>alter database archivelog
    svrmgrl>shutdown
    svrmgrl>exit
    %vi initoracle7.ora
    加入log_archive_start = true # if you want automatic archiving
    log_archive_dest = $ORACLE_HOME/dbs/arch
    log_archive_format = log%s.arc
    %dbstart
    %ps -ef|grep arch
    oracle 1743 1 0 15:20:20 ? 0:00 ora_arch_oracle7
    注:oracle database is in automatic archivelog mode

    ?full offline entire database backup, 當數據庫初始完成后 這份備份是將來備份的基礎。它提供了所有與數據庫有關
    的拷貝.
    %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/product/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
    <backup directory>
    %dbstart
    注:以上*.dbf文件為數據文件,*.log文件為日志文件,*.ctl文件為控制文件
    %exit
    %tar uvf /dev/rmt/0 <backup files>
    注:如果為oracle 7.2 ,則copy 相應的 data files,relog files,control files.

    6.3、每天做一次 partial online with archiving backups .
    #su - oracle
    %svrmgrl
    %svrmgrl>connect internal
    %svrmgrl>alter tablespace billsp begin backup
    %svrmgrl>alter tablespace billtmpsp begin backup
    %svrmgrl>alter tablespace billrlbksp begin backup
    %svrmgrl>alter tablespace system begin backup
    %svrmgrl>alter tablespace rbs begin backup
    %svrmgrl>alter tablespace temp begin backup
    %svrmgrl>alter tablespace tools begin backup
    %svrmgrl>alter tablespace users begin backup
    %svrmgrl>host cp all datafile to the backup storage. #文件名如第一步中以.dbf結尾的.
    %svrmgrl>alter tablespace billsp end backup
    %svrmgrl>alter tablespace billtmpsp end backup
    %svrmgrl>alter tablespace billrlbksp end

    [1] [2] [3] 下一頁

    正在看的ORACLE教程是:有關Oracle數據庫的備份情況。backup
    %svrmgrl>alter tablespace system end backup
    %svrmgrl>alter tablespace rbs end backup
    %svrmgrl>alter tablespace temp end backup
    %svrmgrl>alter tablespace tools end backup
    %svrmgrl>alter tablespace users end backup

    做一個sql文件,如上所寫.

    The billing system can recover to the point of failure when the failure occur.

    七、備份文件的恢復:
     7.1恢復文件:
    以下是對"/etc/passwd"文件的恢復
      (、放入正確的磁帶
      (、運行以下命令恢復"/etc/passwd"文件
      # rsh www mt -f /dev/rmt/0 rew
    ( 找到最近的磁帶,向前進帶到最近的"/etc/passwd",比如要找星期三的"/etc/passwd"文件,運行如下命令)
      #rsh www mt -f /dev/rmt/0n fsf 2
      # ufsrestore if www:/dev/rmt/0n
    ufsrestore > ls
    .:
    etc/
    ufsrestore > cd etc
    ufsrestore > ls
    ./etc:
    passwd
    ufsrestore > add passwd
    Warnign :./etc:File exists
    ufsrestore > verbose
    verbose mode on
    ufsrestore > extract
    Extract requested files
    You have not read any volumes yet .
    Unless you know which volume your file(s) are on you should start witch the last volume and work to wards
    the first.
    Specify next volume #:1
    extract file ./etc/passwd
    Add links
    Set directory mode ,ower,and times.
    set owner /mode for '.'?(yn)n
    Directories already exit , set mode anyway?(yn)y
    ufsrestore >quit
      熱備份可以在數據庫打開打情況下進行,一般通過使用Alter命令改變表空間的狀態來開始進行備份的,備份完成后,
    要恢其原來狀態,否則redo log 會錯配,引起數據庫下次啟動時對受影響的表空間進行完全覆蓋。熱備份的要求是:
    1.熱備份工作必需要求數據庫在Archivelog 方式下操作,在SQLDBA狀態下用alter database archivelog|noarchivelog命
    令可改變備份的模式。
    2.熱備份只能在數據庫不使用或使用率低的情況下進行。
    3.熱備份需要大量的檔案空間。
    一般情況,Oracle 以循環的方式寫入Online redo log 文件,當填滿第一個redo log文件后寫第二個,直至最后一個,最
    后一個被填滿后,后臺進程LGWR就覆蓋第一個,在Archivelog方式下,后臺進程ARCH在每一個redo log 文件被覆蓋前,給
    它作一個拷貝,一般,這些文檔的redo log 文件被寫入磁盤或磁帶中。如果磁盤空間夠用,建議使用磁盤,這樣可大大減
    少完成備份所需的時間。
    在作熱備份之前,要將config.ora文件中的log_archive_start 設為true 將log_archive_dest
    規定archive redo log 文件的位置:
    log_archive_dest=/wwwdg/oracle/arch/arch
    log_archive_start=true
    一旦數據庫運行在archivelog狀態下,就可以作備份了。熱備份的命令文件由三部分組成:
    1、數據文件一個表空間一個空間地備份:
    a.設置表空間為備份狀態。
    b.備份表空間的數據文件。
    c.恢復表空間為正常狀態。
    2、備份歸檔要作log 文件:
    a.臨時停止歸檔進程
    b.log下那些在archive redo log目標目錄中的文件
    c.重新啟動archive進程
    d.備份歸檔的redo log 文件
    3、用alter database backup controlfile命令來備份拷貝文件
    在熱備份運行之前log_archive_dest目錄可能已滿,這時就要備份目錄,然后刪除文件,釋放空間,這個過程有如下步
    驟:
    1、暫時停止archive進程。
    2、記錄在log_archive_dest目錄下的文件。
    3、重新啟動archive 進程。
    4、備份archive redo log 文件。
    5、刪除目錄中的文件。
    sqldba lmode=y <<EOF arch1
    archive log stop;
    exit
    EOF arch1
    FILES='ls /wwwdg/oracle/arch/arch*.dbf';
    sqldba lmode=y<<EOF arch2
    connect internal
    archive log start;
    exit
    EOF arch2
    tar -rvf /dev/rmt/0 FILES
    rm -f $FILES

    邏輯備份與物理備份的結合。
    前面介紹了三種備份的方法,在數據庫做備份時,應該將數據這三種備份的特點靈活運用,我們首先比較一下三種方法的
    特性。

    方 法
    類 型
    恢 復 特 性
    EXPORT導出
    邏輯型
    可以將任何數據庫對象恢復到它被導出時的狀態
    黄色片自拍视频网站在线观看不卡无码丨精品精品自在现拍国产2021丨亚洲三级片在线观看在线免费观看丨波多野结衣在线视频一区二区三区
    <strong id="riedb"><track id="riedb"></track></strong><em id="riedb"><acronym id="riedb"></acronym></em>
    <tbody id="riedb"></tbody>
  • <em id="riedb"><acronym id="riedb"></acronym></em>
    <tbody id="riedb"></tbody>

  • <tbody id="riedb"><center id="riedb"></center></tbody>