如果数据库运行在不归档模式下,可以对数据库进行不一致的完全备份,或者对某个表空间或数据文件进行单独的备份。
如果数据库运行在不归档模式下,只能在关闭状态下对数据库进行一致的完全备份
一、表空间或数据文件的脱机备份
如果数据库运行在归档模式下,可以在打开状态下对数据库中处于脱机状态的表空间或数据文件进行备份。在备份期间数据库中其它的表空间或数据文件仍然可以被用户使用。
SQLALTER
TABLESPACE
users
OFFLINE
NORMAL;
C:\COPY
E:\oracle\oradata\users01.dbf
F:\backup\users01.bak
SQLALTER
TABLESPACE
users
ONLINE;
SQLALTER
SYSTEM
ARCHIVE
LOG
CURRENT;
二、表空间或数据文件的联机备份
如果数据库运行在归档模式下,可以在打开状态下对数据库中处于联机状态的表空间或数据文件进行备份。在备份期间这些表空间或数据文件仍然可以被用户使用。
SQLALTER
TABLESPACE
users
BEGIN
BACKUP;
C:\COPY
E:\oracle\oradata\users01.dbf
F:\backup\users01.bak
SQLALTER
TABLESPACE
users
END
BACKUP;
SQLALTER
SYSTEM
ARCHIVE
LOG
CURRENT;
三、处理备份故障
如果在备份过程中发生故障,导致备份突然中断,那么在下一次启动数据库时备份表空间的数据文件将会仍然处于备份模式下,因此ORACLE会要求进行数据库恢复。
1、利用ALTER
DATABASE
END
BACKUP语句退出备份模式
SQLSTARTUP
MOUNT
SQLSELECT * FROM V$BACKUP WHERE STATUS=’ACTIVE’
(查询哪些数据文件处于备份模式)
SQLALTER
DATABASE
END BACKUP;
SQLALTER
DATABASE
OPEN;
2、利用RECOVER命令退出备份模式
SQLSTARTUP
MOUNT
SQLRECOVER
DATABASE
SQLALTER
DATABASE
OPEN;
四、控制文件备份为二进制文件
SQLALTER
DATABASE
BACKUP
CONTROLFILE
TO
‘E:\backup\cfile.bak’
REUSE;
五、控制文件备份到跟踪文件中
SQLALTER
DATABASE
BACKUP
CONTROLFILE
TO
TRACE;
(数据库处于加载状态时,利用上面语句可以将控制文件备份到跟踪文件中)