作者:無(wú)從考證 來(lái)源:中國軟件 發(fā)布時(shí)間:2005-8-23 21:00:21 發(fā)布人:admin
null
增大字體
null
備份類(lèi)型
備份方法
示例
數據文件
操作系統命令或工具
C:\COPY datafile1.ora datafile.bak
歸檔重做日志文件
操作系統命令或工具
C:\COPY log_01_23.arc log_01_23.bak
控制文件
SQL命令
SQL>ALTER DATABASE BACKUP CONTROLFILE TO confile.bak;
初始化參數文件
SQL命令
SQL>CREATE PFILE=SIDinit.ora FROM SPFILE;
網(wǎng)絡(luò )配置與口令文件
操作系統命令
C:\COPY tnsnames.ora tnsnames.bak
數據庫邏輯對象(表、索引、存儲過(guò)程等)
Export工具
C:\EXPORT system/manager TABLE
=hr.employees file=emp.dmp
如果數據庫運行在不歸檔模式下,可以對數據庫進(jìn)行不一致的完全備份,或者對某個(gè)表空間或數據文件進(jìn)行單獨的備份。
如果數據庫運行在不歸檔模式下,只能在關(guān)閉狀態(tài)下對數據庫進(jìn)行一致的完全備份
一、 表空間或數據文件的脫機備份
如果數據庫運行在歸檔模式下,可以在打開(kāi)狀態(tài)下對數據庫中處于脫機狀態(tài)的表空間或數據文件進(jìn)行備份。在備份期間數據庫中其它的表空間或數據文件仍然可以被用戶(hù)使用。
SQL>ALTER TABLESPACE users OFFLINE NORMAL;
C:\COPY E:\oracle\oradata\users01.dbf F:\backup\users01.bak
SQL>ALTER TABLESPACE users ONLINE;
SQL>ALTER SYSTEM ARCHIVE LOG CURRENT;
二、 表空間或數據文件的聯(lián)機備份
如果數據庫運行在歸檔模式下,可以在打開(kāi)狀態(tài)下對數據庫中處于聯(lián)機狀態(tài)的表空間或數據文件進(jìn)行備份。在備份期間這些表空間或數據文件仍然可以被用戶(hù)使用。
SQL>ALTER TABLESPACE users BEGIN BACKUP;
C:\COPY E:\oracle\oradata\users01.dbf F:\backup\users01.bak
SQL>ALTER TABLESPACE users END BACKUP;
SQL>ALTER SYSTEM ARCHIVE LOG CURRENT;
三、 處理備份故障
如果在備份過(guò)程中發(fā)生故障,導致備份突然中斷,那么在下一次啟動(dòng)數據庫時(shí)備份表空間的數據文件將會(huì )仍然處于備份模式下,因此ORACLE會(huì )要求進(jìn)行數據庫恢復。
1、 利用ALTER DATABASE END BACKUP語(yǔ)句退出備份模式
SQL>STARTUP MOUNT
SQL>SELECT * FROM V$BACKUP WHERE STATUS=’ACTIVE’
(查詢(xún)哪些數據文件處于備份模式)
SQL>ALTER DATABASE END BACKUP;
SQL>ALTER DATABASE OPEN;
2、 利用RECOVER命令退出備份模式
SQL>STARTUP MOUNT
SQL>RECOVER DATABASE
SQL>ALTER DATABASE OPEN;
四、 控制文件備份為二進(jìn)制文件
SQL>ALTER DATABASE BACKUP CONTROLFILE TO
‘E:\backup\cfile.bak’ REUSE;
五、 控制文件備份到跟蹤文件中
SQL>ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
(數據庫處于加載狀態(tài)時(shí),利用上面語(yǔ)句可以將控制文件備份到跟蹤文件中)