使用Rman实现oracle数据库的备份还原

打开Rman
方法1:开始菜单--运行--“输入”rman,回车,打开rman命令行提示窗口,输入:connect target;连接上数据库,接下来就可以进行操作了。
方法2:开始菜单--运行--“输入” rman target username/userpwd@ Orcl  ,(红色字体表示数据库实例名 回车,打开的rman命令行窗口,已经连接上数据库了,接下来就可以直接进行操作了
备份数据库

 在命令行模式下,输入以下命令:

backup as copy database;

//此命令表示对数据库进行完全备份,默认情况下数据库处在“非归档模式”下。在执行上面的

//命令时,会出现下面的错误“无法按 noarchivelog 模式备份或复制文件”,针对这个错误,可以按下面的方式解决。

开始菜单--运行--“输入” sqlplus / as sysdba,回车,以管理员的身份连接数据库,依次执行以下命令:

shutdown immediate  //关闭数据库

startup mount            //启动数据库到“装载”状态

alter database archivelog //修改数据库为“归档模式”

alter database open        //打开数据库

然后,再回到Rman。执行backup操作

backup database;

此时出现了另一个错误:ora-19809:超出了恢复文件数的限制

ora-19804:无法回收 52428800 字节磁盘空间 从<2147483648限制中>
解决办法1:通过Sqlplus以管理员的身份连接Oracle数据库,执行下面的命令:
show parameter db_recovery_file_dest_size;         //默认是2G
alter system set db_recovery_file_dest_size=4G;  //增大空间后,备份成功。
解决办法2:改变备份路径
backup database format 'd:/oracle/backup/%U.dbf' 
plus archivelog format 'd:/oracle/backup/%U.arc';
备份压缩功能
可以选择在备份命令里显示指定压缩选项:
BACKUP AS  COMPRESSED  BACKUPSET DATABASE PLUS ARCHIVELOG;
--仅对1,5文件压缩备份
BACKUP AS COMPRESSED BACKUPSET DATAFILE 1,5;
也可以配置RMAN指定压缩选项:
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET;
--备份压缩到指定路径
backup as  Compressed  backupset database format 'd:/oracle/backup/%U.dbf' 
plus archivelog format 'd:/oracle/backup/%U.arc';

还原数据库

在Rman命令行下,执行

Restore database;      //恢复文件

Startup;                       //启动数据库

会出现这样一个错误:ora-01113:文件 需要介质 恢复

这是因为Restore只是恢复物理的数据文件,归档日志,控制文件,数据库文件并没有衔接起来

这时需要用Recover 命令来做到这一点,执行下面的命令:

Recover database;

然后

Startup;

OK,一切又恢复了原样

 

 

连接Sqlplus的方法:

方法1:开始菜单--运行--Sqlplus,回车,然后按照提示输入用户名和密码即可。

方法2:开始菜单--运行--Sqlplus  username/userpwd@orcl

以管理员身份连接Sqlplus

 

方法1:开始菜单--运行--Sqlplus / as sysdba,回车

方法2:开始菜单--运行--Sqlplus sys/syspwd,回车。syspwd表示用户sys的密码

查询数据库的归档状态

 

 要查询数据库的归档状态,必须以SYSDBA的身份连接数据库,在Sqlplus环境下,输入:

Archive log list;

一些常用命令

 

使用RMAN进行备份和恢复的常用命令
  
  ===================
  连接到目标数据库(不用恢复目录数据库) 
  rman target / nocatalog
  
  显示rman配置
  RMAN> show all;
  
  
  ====================
  报告目标数据库的物理结构
  RMAN> report schema;
  
  报告陈旧备份
  RMAN> report obsolete;
  
  报告不可恢复的数据文件
  RMAN> report unrecoverable;
  
  列出备份信息
  RMAN> list backup;
  
  RMAN> list backup of database;
  
  RMAN> list backup of tablespace table_name;
  
  RMAN> list backup of controlfile;
  
  RMAN> list backup of spfile;
  
  RMAN> list backupset id;
  
  ========================
  校验备份信息:
  RMAN> crosscheck backup;
  
  RMAN> crosscheck backup of database;
  
  RMAN> crosscheck backup of tablespace system;
  
  RMAN> crosscheck backup of controlfile;
  
  RMAN> crosscheck backup of spfile;
  
  
  ========================
  删除备份
  RMAN> delete obsolete; -- 删除陈旧备份
  
  RMAN> delete expired backup; 
  
  RMAN> delete backupset id;
  
  RMAN> delete backup; -- 删除所有备份
  
  
  =========================
  改变备份集的状态
  RMAN> change backupset id unavailable; -- available
  改为长期备份
  RMAN> change backupset id keep forever logs;
  
  RMAN> change backupset id keep until time 'sysdate+60' logs;
  
  RMAN> change backupset id nokeep;

你可能感兴趣的:(oracle)