<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    簡單的oracle備份恢復批處理文件

    寫個簡單的批處理文件備份恢復:
    備份:
    @echo off           ???????????? 不顯示命令行
        
    echo 開始備份表.....      ???????????????? 打印信息               
    D:??????????????????????????????????????????????????????????????????????DOS切換到D:?盤
    cd oracle\ora92\bin      ??????????????????? 切換到cd oracle\ora92\bin目錄
    exp 用戶名/密碼@數據庫 file=d:\config_bak.dmp tables=(table1,table2)????? 備份表一表二到d:\config_bak.dmp
    echo 備份完畢!

    恢復:
    @echo off           
        
    echo 開始恢復表.....                     
    D:
    cd oracle\ora92\bin
    imp 用戶名/密碼@數據庫 file=d:\config_bak.dmp tables=(table1,table2) ?ignore=y??
    sqlplus /nolog @oraStartup.sql>>oraStartup.log 調用sql文件
    pause???????????????????????????????????????????????????????????????? 執行完sql文件以后暫停,看信息
    echo 恢復完畢!

    編寫oraStartup.sql
    conn 用戶名/密碼@數據庫 as sysdba
    select * from table1;
    quit;
          

          


     執行環境:可以在SQLPLUS.EXE或者DOS(命令行)中執行,
      DOS中可以執行時由于 在oracle 8i 中? 安裝目錄\ora81\BIN被設置為全局路徑,
      該目錄下有EXP.EXE與IMP.EXE文件被用來執行導入導出。
      oracle用java編寫,我想SQLPLUS.EXE、EXP.EXE、IMP.EXE這倆個文件是被包裝后的類文件。
      SQLPLUS.EXE調用EXP.EXE、IMP.EXE他們所包裹的類,完成導入導出功能。

      下面介紹的是導入導出的實例,向導入導出看實例基本上就可以完成,因為導入導出很簡單。
      數據導出:
      1 將數據庫TEST完全導出,用戶名system 密碼manager 導出到D:\daochu.dmp中
      exp system/manager@TEST file=d:\daochu.dmp full=y
      2 將數據庫中system用戶與sys用戶的表導出
      exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
      3 將數據庫中的表table1 、table2導出
      exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
      4 將數據庫中的表table1中的字段filed1以"00"打頭的數據導出
      exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
      
      上面是常用的導出,對于壓縮我不太在意,用winzip把dmp文件可以很好的壓縮。
      不過在上面命令后面 加上 compress=y? 就可以了

      數據的導入
      1 將D:\daochu.dmp 中的數據導入 TEST數據庫中。
      imp system/manager@TEST? file=d:\daochu.dmp
      上面可能有點問題,因為有的表已經存在,然后它就報錯,對該表就不進行導入。
      在后面加上 ignore=y 就可以了。
      2 將d:\daochu.dmp中的表table1 導入
      imp system/manager@TEST? file=d:\daochu.dmp? tables=(table1)

    ????????導入
      基本上上面的導入導出夠用了。不少情況我是將表徹底刪除,然后導入。


    Oracle數據庫備份與恢復的三種方法

    Oracle數據庫有三種標準的備份方法,它們分別是導出/導入(EXP/IMP)、熱備份和冷備份。導出備件是一種邏輯備份,冷備份和熱備份是物理備份。

    一、 導出/導入(Export/Import)

    利用Export可將數據從數據庫中提取出來,利用Import則可將提取出來的數據送回到Oracle數據庫中去。

    1、 簡單導出數據(Export)和導入數據(Import)

    Oracle支持三種方式類型的輸出:

    (1)、表方式(T方式),將指定表的數據導出。

    (2)、用戶方式(U方式),將指定用戶的所有對象及數據導出。

    (3)、全庫方式(Full方式),瘵數據庫中的所有對象導出。

    數據導入(Import)的過程是數據導出(Export)的逆過程,分別將數據文件導入數據庫和將數據庫數據導出到數據文件。

    2、 增量導出/導入

    增量導出是一種常用的數據備份方法,它只能對整個數據庫來實施,并且必須作為SYSTEM來導出。在進行此種導出時,系統不要求回答任何問題。導出文件名缺省為export.dmp,如果不希望自己的輸出文件定名為export.dmp,必須在命令行中指出要用的文件名。

    增量導出包括三種類型:

    (1)、“完全”增量導出(Complete)

    即備份三個數據庫,比如:

    																exp system/manager inctype=complete file=040731.dmp
    														

    (2)、“增量型”增量導出

    備份上一次備份后改變的數據,比如:

    																exp system/manager inctype=incremental file=040731.dmp
    														

    (3)、“累積型”增量導出

    累計型導出方式是導出自上次“完全”導出之后數據庫中變化了的信息。比如:

    																exp system/manager inctype=cumulative file=040731.dmp
    														

    數據庫管理員可以排定一個備份日程表,用數據導出的三個不同方式合理高效的完成。

    比如數據庫的被封任務可以做如下安排:

    星期一:完全備份(A)

    星期二:增量導出(B)

    星期三:增量導出(C)

    星期四:增量導出(D)

    星期五:累計導出(E)

    星期六:增量導出(F)

    星期日:增量導出(G)

    如果在星期日,數據庫遭到意外破壞,數據庫管理員可按一下步驟來回復數據庫:

    第一步:用命令CREATE DATABASE重新生成數據庫結構;

    第二步:創建一個足夠大的附加回滾。

    第三步:完全增量導入A:

    																imp system/manager inctype=RESTORE FULL=y FILE=A
    														

    第四步:累計增量導入E:

    																imp system/manager inctype=RESTORE FULL=Y FILE=E
    														

    第五步:最近增量導入F:

    																imp system/manager inctype=RESTORE FULL=Y FILE=F
    														

    二、 冷備份

    冷備份發生在數據庫已經正常關閉的情況下,當正常關閉時會提供給我們一個完整的數據庫。冷備份時將關鍵性文件拷貝到另外的位置的一種說法。對于備份Oracle信息而言,冷備份時最快和最安全的方法。冷備份的優點是:

    1、 是非常快速的備份方法(只需拷文件)

    2、 容易歸檔(簡單拷貝即可)

    3、 容易恢復到某個時間點上(只需將文件再拷貝回去)

    4、 能與歸檔方法相結合,做數據庫“最佳狀態”的恢復。

    5、 低度維護,高度安全。

    但冷備份也有如下不足:

    1、 單獨使用時,只能提供到“某一時間點上”的恢復。

    2、 再實施備份的全過程中,數據庫必須要作備份而不能作其他工作。也就是說,在冷備份過程中,數據庫必須是關閉狀態。

    3、 若磁盤空間有限,只能拷貝到磁帶等其他外部存儲設備上,速度會很慢。

    4、 不能按表或按用戶恢復。

    如果可能的話(主要看效率),應將信息備份到磁盤上,然后啟動數據庫(使用戶可以工作)并將備份的信息拷貝到磁帶上(拷貝的同時,數據庫也可以工作)。冷備份中必須拷貝的文件包括:

    1、 所有數據文件

    2、 所有控制文件

    3、 所有聯機REDO LOG文件

    4、 Init.ora文件(可選)

    值得注意的使冷備份必須在數據庫關閉的情況下進行,當數據庫處于打開狀態時,執行數據庫文件系統備份是無效的。

    下面是作冷備份的完整例子。

    (1) 關閉數據庫

    																sqlplus /nolog 
    sql>;connect /as sysdba 
    sql>;shutdown normal;
    														

    (2) 用拷貝命令備份全部的時間文件、重做日志文件、控制文件、初始化參數文件

    																sql>;cp <file>; <backup directory>;
    														

    (3) 重啟Oracle數據庫

    																sql>;startup
    														

    三、 熱備份

    熱備份是在數據庫運行的情況下,采用archivelog mode方式備份數據庫的方法。所以,如果你有昨天夜里的一個冷備份而且又有今天的熱備份文件,在發生問題時,就可以利用這些資料恢復更多的信息。熱備份要求數據庫在Archivelog方式下操作,并需要大量的檔案空間。一旦數據庫運行在archivelog狀態下,就可以做備份了。熱備份的命令文件由三部分組成:

    1. 數據文件一個表空間一個表空間的備份。

    (1) 設置表空間為備份狀態

    (2) 備份表空間的數據文件

    (3) 回復表空間為正常狀態

    2. 備份歸檔log文件

    (1) 臨時停止歸檔進程

    (2) log下那些在archive rede log目標目錄中的文件

    (3) 重新啟動archive進程

    (4) 備份歸檔的redo log文件

    3. 用alter database bachup controlfile命令來備份控制文件

    熱備份的優點是:

    1. 可在表空間或數據庫文件級備份,備份的時間短。

    2. 備份時數據庫仍可使用。

    3. 可達到秒級恢復(恢復到某一時間點上)。

    4. 可對幾乎所有數據庫實體做恢復

    5. 恢復是快速的,在大多數情況下愛數據庫仍工作時恢復。

    熱備份的不足是:

    1. 不能出錯,否則后果嚴重

    2. 若熱備份不成功,所得結果不可用于時間點的恢復

    3. 因難于維護,所以要特別仔細小心,不允許“以失敗告終”。




    參考資料:http://publish.it168.com/2006/0601/20060601045701.shtml?positioncode=1545
    http://bbs.zol.com.cn/index20061024/index_124_11079.html
    http://community.csdn.net/Expert/TopicView3.asp?id=5276764
    http://bbs.gdei.edu.cn/faster.php?id=t-55261
    http://www.dvbbs.net/tech/data/2006031819272.asp
    http://study.feloo.com/computer/data/Oracle/200509/121026.html

    posted on 2007-01-26 11:54 扭轉乾坤 閱讀(1887) 評論(0)  編輯  收藏 所屬分類: 數據庫類


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


    網站導航:
     
    <2007年1月>
    31123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆分類(31)

    隨筆檔案(30)

    文章分類(32)

    文章檔案(33)

    相冊

    PHP小站-首頁

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 成年女人男人免费视频播放| 三年片在线观看免费大全电影 | 亚洲区视频在线观看| 99re6在线视频精品免费| 久久激情亚洲精品无码?V| 边摸边吃奶边做爽免费视频99| 成年女人永久免费观看片| 蜜桃传媒一区二区亚洲AV| 天天操夜夜操免费视频| 亚洲国产成人AV在线播放| 免费观看一级毛片| 国产偷国产偷亚洲高清人| 免费国产在线观看老王影院| 香蕉视频免费在线| 久久久久亚洲精品中文字幕| 成人无码视频97免费| 亚洲AV区无码字幕中文色| 91精品免费观看| 亚洲乱码在线播放| 日本高清免费不卡视频| 人人爽人人爽人人片A免费 | 亚洲人成网站在线观看播放青青| 免费看黄视频网站| 丰满亚洲大尺度无码无码专线| 免费在线观看视频a| 国产亚洲精品免费视频播放| 亚洲国产精品国自产电影| 国产情侣激情在线视频免费看| 亚洲乱码无人区卡1卡2卡3| 亚洲不卡无码av中文字幕| APP在线免费观看视频| 亚洲精品视频在线播放| 永久免费毛片手机版在线看| 一边摸一边爽一边叫床免费视频 | 亚洲午夜成人精品无码色欲| 全部免费毛片在线| 久久国产精品成人片免费| 亚洲成a人无码亚洲成www牛牛| 久久久久亚洲精品天堂久久久久久 | 免费一级毛片不卡在线播放| 国产免费拔擦拔擦8X高清在线人 |