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

发表于:2007-07-13来源:作者:点击数: 标签:
备份类型 备份方法 示例 数据文件 操作系统命令或工具 C:\COPY datafile1.ora datafile.bak 归档重做日志文件 操作系统命令或工具 C:\COPY log_01_23.arc log_01_23.bak 控制文件 SQL 命令 SQLALTER DATABASE BACKUP CONTROLFILE TO confile.bak; 初始化参数

备份类型

备份方法

示例

数据文件

操作系统命令或工具

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;

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

原文转自:http://www.ltesting.net