oracle資料備份

tolywang發表於2010-03-04


---RMAN備份
1.設定歸檔模式
        sql>sqlplus /nolog  --進入SQLPLUS
        sql>connsys/sys@my.orclas sysdba   --用DBA許可權登入.
        sql>shutdown immediate --關閉資料庫
        sql>startup mount  --啟動例項並載入資料庫,但並不開啟資料庫
        sql>alter database archivelog --更改資料庫位歸檔模式
        sql>alter database open --開啟資料庫
        sql>alter system archive log start --啟動自動歸檔
        sql>exit; --退出
        select name,log_mode from v$database;--檢視資料歸檔的模式
2.rman備份
       1.非catalog全域性備份。
         *因為是非catalog方式備份,所以結果都儲存到控制檔案中。
        rman>rmantarget=rman/nocatalog@my.orcl
        rman>list backupset --看備份資訊
        rman>backup database --全備份資料庫
             backup database plus archivelog delete input;
             --備份全庫控制檔案,及引數檔案和所有歸檔的重做日誌。並刪除舊的歸檔日誌。
             backup tablespace system plus archivelog delete input;
            (備份指定表空間及歸檔的重做日誌,並刪除舊的歸檔日誌)
             backup archivelog all delete input
        rman>list backupset --看看備份後的資訊
        --根據上面生成的資訊,檢視相應的目錄
        rman>show all --檢視ran相應的引數     
       2.非catalog0級備份。
        rman> backup incremental level 0 database
              和全域性備份的區別:以後的後續增量備份不能在全備份上進行,可以再0級增量備份上進行;
       3.非catalog1級備份
        rman>backup incremental level 1 database;
              和0級備份相比,時間比較長,但是如果資料庫資料沒有多大的改動,資料檔案應該還很小。
        注:如果備份是失敗,則會產生backupset垃圾,用change backupset 3 delete刪除,
        3是backupset的 編號。
       4.驗證備份。
        ramn>validate backupset 3;

2 exp/imp工具
資料匯出:
1 將資料庫orcl 完全匯出,使用者名稱system 密碼manager 匯出到d:bak中
  log=d:bak full=y
2 將資料庫中system使用者與sys使用者的表匯出
    log=d:bak  wner=(system,sys)
3 將資料庫中的表inner_notify、notify_staff_relat匯出
   = d:datanewsmgnt
   log=d:bak tables=(inner_notify,notify_staff_relat)
4 將資料庫中的表table1中的欄位filed1以"00"打頭的資料匯出
  log=d:bak tables=(table1)
  query=" where filed1 like '00%'"
5 full,這個用於匯出整個資料庫,在rows=n一起使用時,可以匯出整個資料庫的結構。
  log=d:bak full=y rows=n compress=y direct=y

資料匯入:
 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-628942/,如需轉載,請註明出處,否則將追究法律責任。

相關文章