Oracle使用者管理方式下備份資料和複製資料庫
首先要明確的是,Oracle資料庫的備份可以分為邏輯備份和物理備份。
邏輯備份的是通過資料匯出對資料進行備份,主要方式有老式的IMP/EXP和資料泵燈方式。適合變化較少的資料庫,而對於高可用性資料庫,由於這種方式備份的資料只能恢複到備份的時間點,所以並不適用。但由於邏輯備份具有平台無關性,所以更常見的是用來資料移轉及資料移動;
物理備份是通過複製資料檔案、參數檔案等資料庫的物理檔案來進行備份。物理備份可以分為冷備份和熱備份。冷備份需要在關閉資料庫後進行備份,目前在高可用的生產環境中,這種方式使用較少。而熱備份可以在系統啟動並執行情況下通過備份資料檔案及歸檔日誌就可以恢複,因此使用的範圍更廣泛。
熱備份可以分為使用者管理方式下的熱備份(user-managed backup and recovery)和oracle管理(RMAN)的熱備份(Recovery MANager-RMAN),要注意的是,資料庫要進行熱備份必須運行在歸檔模式下。
RMAN 配置歸檔日誌刪除策略
Oracle基礎教程之通過RMAN複製資料庫
RMAN備份策略制定參考內容
RMAN備份學習筆記
OracleDatabase Backup加密 RMAN加密
一、使用者管理方式下的備份:
首先,備份資料檔案:
1)查詢資料檔案有哪些:
SQL> select name from v$datafile;
2)將資料庫置於備份模式下:
SQL> alter database begin backup;
3)備份資料檔案:
SQL> host copy D:\ORACLE\ORCDATA\TIOD\SYSTEM01.DBF C:\oracle\backup;
SQL> host copy D:\ORACLE\ORCDATA\TIOD\SYSAUX01.DBF C:\oracle\backup;
SQL> host copy D:\ORACLE\ORCDATA\TIOD\UNDOTBS01.DBF C:\oracle\backup;
SQL> host copy D:\ORACLE\ORCDATA\TIOD\USERS01.DBF C:\oracle\backup;
SQL> host copy E:\ORACLE\ORCL\ODS\HH_TBS.DBF C:\oracle\backup;
4)結束資料檔案備份並歸檔日誌:
SQL> alter database end backup;
SQL> alter system archive log current;
第二,備份控制檔案,此處使用備份到追蹤檔案的方式:
1)將建立控制檔案的命令資訊記錄到trace檔案中:
SQL> alter database backup controlfile to trace;
2)確定追蹤檔案位置和名稱:
SQL> select a.spid from v$process a,v$session b where a.addr=b.PADDR and b.USERNAME='SYS'
SQL> show parameter user_dump_dest;
追蹤檔案命名為<SID>_ora_<SPID>.trc。
3)開啟vidi_ora_1260.trc,確定建立控制檔案內容;
CREATE CONTROLFILE REUSE DATABASE "TIOD" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'D:\ORACLE\ORCDATA\TIOD\REDO01.LOG' SIZE 50M BLOCKSIZE 512,
GROUP 2 'D:\ORACLE\ORCDATA\TIOD\REDO02.LOG' SIZE 50M BLOCKSIZE 512,
GROUP 3 'D:\ORACLE\ORCDATA\TIOD\REDO03.LOG' SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'D:\ORACLE\ORCDATA\TIOD\SYSTEM01.DBF',
'D:\ORACLE\ORCDATA\TIOD\SYSAUX01.DBF',
'D:\ORACLE\ORCDATA\TIOD\UNDOTBS01.DBF',
'D:\ORACLE\ORCDATA\TIOD\USERS01.DBF',
'E:\ORACLE\ORCL\ODS\HH_TBS.DBF'
CHARACTER SET ZHS16GBK
;
第三、備份歸檔日誌:
確定需要備份的歸檔日誌:
SQL> select name from v$archived_log where dest_id=1 and first_time>=sysdate-1;
使用copy命令備份到備份檔案夾即可。
第四、備份參數檔案:
SQL> CREATE PFILE='C:\oracle\backup\initelse.ora' from spfile;
更多詳情見請繼續閱讀下一頁的精彩內容: