RMAN备份还原

来源:互联网 发布:opencv用什么编程 编辑:程序博客网 时间:2024/05/15 16:23

一.确认数据库是否运行在归档模式下
1.以用户sys的身份登录数据库。
  sqlplus sys/system@wisgrpt as sysdba
2.查看数据库的归档状态。
  SQL>archive log list;

  若Database log mode为ArchiveMode模式,则以下步骤不需要执行,
  若Database log mode为No ArchiveMode模式,则以下步骤需要执行。

3.干净的关闭数据库
  SQL>shutdown immediate;

4.启动数据库到mount状态
  SQL>startup mount;

5.设置归档路径
  SQL>alter system set log_archive_dest_1=’LOCATION=$ORACLE_BASE/oradata’ scope=both;

6.把数据库切换到归档模式
  SQL>alter database archivelog;

7.打开数据库
  SQL>alter database open;

二.备份
1.以用户oracle的身份登录操作系统
2.以用户sys的身份登录数据库,手动归档日志文件。
  sqlplus sys/system@wisgrpt as sysdba
  SQL>alter system archive log all;
  SQL>alter system archive log current;
3.进入执行RMAN命令的目录
  cd $ORACLE_HOME/bin
4.启动RMAN,登录目标数据库
  rman target sys/system@wisgrpt
5.运行下面的脚本备份整个数据库
  RMAN>spool log to '$ORACLE_BASE/oradata/log_fulldatabase.txt';
  RMAN>run{
          allocate channel c1 type disk MAXPIECESIZE 2G;
          backup
          full
          database
          format '$ORACLE_BASE/oradata/bkfulldb_%s_%p_%t' diskratio=0;
          release channel c1;
          }
  RMAN>spool log off;

bkfulldb_*是备份生成文件的文件名
log_fulldatabase.txt是备份生成日志的文件名
$ORACLE_BASE/oradata/是备份生成文件和备份生成日志的路径
     
6.运行下面的脚本备份归档日志文件
  RMAN>spool log to '$ORACLE_BASE/oradata/log_archivelog.txt';
  RMAN>run{
          allocate channel t1 type disk;
          bakcup
          archivelog all
          format '$ORACLE_BASE/oradata/bkarchivelog_%U';
          release channel t1;
          }
  RMAN>spool log off;

原创粉丝点击