oracle數據庫備份
1. 文件查看
數據文件、控制文件、日志文件查看如下:
select file#, status, enabled, name from V$datafile;--查看數據文件
select * from v$controlfile;--控制文件
select * from v$logfile;--日志文件
2. 三種備份方法
1)導入/導出(import/export)
1.支持類型: table, user, tablespace, full database
2. 導入導出例子:
exp system/manager@TEST file=d:\export.dmp full=y--將數據庫TEST完全導出(全庫備份),用戶名system 密碼manager 導出到D:\daochu.dmp中 exp system/manager@TEST file=d:\export.dmp owner=(system,sys)--將system和sys的表導出 exp aichannel/aichannel@TEST file= d:export.dmp tables= (tab1,tab2)--將tab1表和tab2表導出 imp system/manager@TEST file=d:\export.dmp tables=(tab1,tab2);--將export.dmp中tab1表和tab2表導入 imp system/manager@TEST file=d:\export.dmp; |
3. 注意:若用戶權限不夠時需要修改權限
--先以system/manager登錄
--授予權限
grant exp_full_database, imp_full_database to username;
2)冷備份(非歸檔模式)
1. 步驟:shutdown數據庫---> copy文件---> start數據庫
2. 例子:
connect tigger/sccot as sysdba; shutdown immediate; cp d:/test*.dbf d:export --cp 文件 目標文件夾 數據文件 cp d:/test*.ctl d:export --控制文件 cp d:/test*.log d:export --日志文件 startup; |
3)熱備份(歸檔模式)
1. 說明:前提條件是數據庫運行在歸檔模式(oracle數據庫安裝默認運行在非歸檔模式)
2. 將數據庫轉換為歸檔模式如下:(注意數據庫必須已裝載到此實例并且不在任何實例中打開)
--需先關閉數據庫并加載數據庫
shutdown immediate; startup mount;--(startup nomount 啟動實例;startup mount 啟動實例加載數據庫; startup 啟動實例加載數據庫打開數據庫) alter database archivelog;--數據庫必須已裝載到此實例并且不在任何實例中打開 |
3. 歸檔相關操作
archive log list;--查看是否出于歸檔模式; alter system set log_archive_start =true scope =spfile; --啟用主動歸檔 select name from v$archived_log; --查詢歸檔日志 alter system set log_achive_start=false scope=spfile;--將數據庫切換為歸檔模式 archive log stop; archive log start; |
4. 熱備份具體步驟如下:
shutdown immediate; startup mount; alter database archivelog; alter database open; alter tablespace users begin backup; --設置備份模式; host copy d:\oracle\*.dbf d:\export;--拷貝 alter tablespace users end backup ;--結束備份狀態 alter system switch logfile--切換日志,使用當前日志歸檔 |
5. 不足之處:不能出錯
6. 優點:備份時數據庫仍然可以使用,備份時間短
3.RMAN備份和恢復工具(rocovery manager)
1)說明:
1.RMAN是 ORACLE提供的一個備份與恢復的工具,可以用來執行完全或不完全的數據庫恢復。
2.RMAN不能用于備份初始化參數文件和口令文件。
3. 與傳統工具相比,RMAN具有獨特的優勢:跳過未使用的數據塊。當備份一個RMAN備份集時,RMAN不會備份從未被寫入的數據塊,而傳統的方式無法獲知那些是未被使用的數據塊。
4. RMAN可以進行增量備份(增量備份是針對于上一次備份(無論是哪種備份):備份上一次備份后,所有發生變化的文件)
2)例子:
--準備工作:
connect tiger/sccot;
startup mount
alter database archivelog
alter database open
--查看備份相關信息
list backupset;
--備份全庫
backup database;
--備份表空間
backup tablespace tp1;
--備份全庫刪除舊的歸檔日志
backup databse plus archivelog delete input;--備份全庫及控制文件、服務器參數文件與所有歸檔的重做日志,并刪除舊的歸檔日志
--備份表空間刪除舊的歸檔日志
backup tablespace system plus archivelog delete input;
--備份歸檔日志
backup archivelog all delete input;
--查看備份信息
list of backup sets;
--0增量備份(等于全備份)
backup incremental level=0(level 0) database;
--1級增量備份
backup incremental level 1 database;
注意:0級增量備份和完全備份唯一的區別,0級增量備份能作為增量備份的基礎,而全備份不能作為增量備份的基礎
posted on 2014-05-08 16:47 順其自然EVO 閱讀(210) 評論(0) 編輯 收藏 所屬分類: 數據庫