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 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)熱備份(歸檔模式)
2. 将資料庫轉換為歸檔模式如下:(注意資料庫必須已裝載到此執行個體并且不在任何執行個體中打開)
--需先關閉資料庫并加載資料庫
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. 熱備份具體步驟如下:
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級增量備份能作為增量備份的基礎,而全備份不能作為增量備份的基礎
最新内容請見作者的github頁:http://qaseven.github.io/