ORACLE用户自定义备份与恢复笔记

** 用户自定义的数据库备份 **

**

** 备份类型 **

|

** 备份方法 **

|

** 示例 **

---|---|---

数据文件

|

操作系统命令或工具

|

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;

网络配置与口令文件

|

操作系统命令

|

C:\COPY tnsnames.ora tnsnames.bak

数据库逻辑对象(表、索引、存储过程等)

|

Export 工具

|

C:\EXPORT system/manager TABLE

=hr.employees file=emp.dmp

**

如果数据库运行在不归档模式下,可以对数据库进行不一致的完全备份,或者对某个表空间或数据文件进行单独的备份。

如果数据库运行在不归档模式下,只能在关闭状态下对数据库进行一致的完全备份

** 一、 ** ** 表空间或数据文件的脱机备份 **

如果数据库运行在 归档模式 下,可以在打开状态下对数据库中处于脱机状态的表空间或数据文件进行备份。在备份期间数据库中其它的表空间或数据文件仍然可以被用户使用。

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;

** 二、 ** ** 表空间或数据文件的联机备份 **

如果数据库运行在 归档模式 下,可以在打开状态下对数据库中处于联机状态的表空间或数据文件进行备份。在备份期间这些表空间或数据文件仍然可以被用户使用。

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;

** 三、 ** ** 处理备份故障 **

如果在备份过程中发生故障,导致备份突然中断,那么在下一次启动数据库时备份表空间的数据文件将会仍然处于备份模式下,因此 ORACLE 会要求进行数据库恢复。

1、 利用 ALTER DATABASE END BACKUP 语句退出备份模式

SQL>STARTUP MOUNT

SQL>SELECT * FROM V$BACKUP WHERE STATUS=’ACTIVE’

( 查询哪些数据文件处于备份模式 )

SQL>ALTER DATABASE END BACKUP;

SQL>ALTER DATABASE OPEN;

2、 利用 RECOVER 命令退出备份模式

SQL>STARTUP MOUNT

SQL>RECOVER DATABASE

SQL>ALTER DATABASE OPEN;

** 四、 ** ** 控制文件备份为二进制文件 **

SQL>ALTER DATABASE BACKUP CONTROLFILE TO

‘E:\backup\cfile.bak’ REUSE;

** 五、 ** ** 控制文件备份到跟踪文件中 **

SQL>ALTER DATABASE BACKUP CONTROLFILE TO TRACE;

(数据库处于加载状态时,利用上面语句可以将控制文件备份到跟踪文件中)

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus