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級增量備份能作為增量備份的基礎,而全備份不能作為增量備份的基礎