根据RMAN的一个全备份进行异机恢复

php中文网
发布: 2016-06-07 17:00:43
原创
1023人浏览过

根据rman的一个全备份进行异机恢复一. Target 库准备工作:备份dbrun { allocate channel ch1 device type disk maxpiecesize=10

Linux公社

首页 → 数据库技术

背景:

阅读新闻

根据rman的一个全备份进行异机恢复

[日期:2011-04-25] 来源:Linux社区  作者:huiyang23 [字体:]

根据rman的一个全备份进行异机恢复

一. Target 库准备工作:

备份db

run {

 allocate channel ch1 device type disk maxpiecesize=10g;

 sql 'alter system archive log current';

 change archivelog all crosscheck;

 backup full database tag=ora10gdbfullbk

  format '/u01/backup/%d_db_%t_%s_%p'

  plus archivelog format '/u01/backup/%d_arch_%t_%s_%p' delete all input;

 backup current controlfile

  format '/u01/backup/%d_ctlfile_%t_%s_%p';

 release channel ch1;

  }

 查看备份文件

 -bash-3.1$ ll /u01/backup

total 850468

-rw-r--r-- 1 root root      1277 Apr 20 21:53 initora10g.ora

-rw-r--r-- 1 root root   8484864 Apr 21 04:05 ORA10G_arch_749016313_41_1

-rw-r--r-- 1 root root    386560 Apr 21 04:11 ORA10G_arch_749016700_43_1

-rw-r--r-- 1 root root   7438336 Apr 21 04:11 ORA10G_ctlfile_749016703_44_1

-rw-r--r-- 1 root root 853688320 Apr 21 04:11 ORA10G_db_749016331_42_1

二. Auxiliary库准备工作:

1.创建口令文件

$ orapwd file=/u01/app/Oracle/product/10.2.0/db_1/dbs/orapwhy2 password=oracle

2.创建相关的目录

$ mkdir oradata

$ pwd

/u01/oradata

3.拷贝target库的pfile和备份的db到auxiliary库。

4、使用pfile将auxiliary库启动到nomount状态

SQL> startup nomount pfile=/u01/app/oracle/product/10.2.0/db_1/dbs/orapwhy2;

5、恢复控制文件

$ export ORACLE_SID=hy2

$ rman target /

RMAN>restore controlfile from '/u01/backup/ORA10G_ctlfile_749016703_44_1';

6、将db启动到mount状态

RMAN> alter database mount;

7、restore db

7.1恢复目录不同的情况:

RMAN>

run

 {

set newname for datafile 1 to "/u01/oradata/system01.dbf";

set newname for datafile 2 to "/u01/oradata/sysaux01.dbf";

set newname for datafile 3 to "/u01/oradata/undotbs01.dbf";

set newname for datafile 4 to "/u01/oradata/users01.dbf";

restore database;

switch datafile all;

}

7.2恢复目录相同

RMAN>restore database;

8、recover db

RMAN> recover database;

$ export ORACLE_SID=ora10g

9、用open resetlogs?打开数据库

SQL> alter database open resetlogs;

10、mount数据库 用NID命令修改DBID和DBNAME

SQL> shutdown immediate

SQL> startup mount;

$nid target=sys/password dbname=hy2

SQL> alter system set db_name=hy2 scope=spfile;

SQL> shutdown immediate

SQL> startup

SQL> alter database open resetlogs;

验证:

SQL> select name,dbid from v$database;

NAME            DBID

--------- ----------

HY2       2874673008

linux

  • 0
  • Oracle 构造与已知表结构相同的表问题

    MySQL 的Rename Table语句

    相关资讯       Oracle教程 

    图片资讯      

    本文评论   查看全部评论 (0)

    评论声明

    最新资讯

    本周热门

    Linux公社简介 - 广告服务 - 网站地图 - 帮助信息 - 联系我们
    本站(LinuxIDC)所刊载文章不代表同意其说法或描述,,仅为提供更多信息,也不构成任何建议。


    Copyright © 2006-2011 Linux公社 All rights reserved 浙ICP备06018118号

    最佳 Windows 性能的顶级免费优化软件
    最佳 Windows 性能的顶级免费优化软件

    每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

    下载
    来源:php中文网
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    最新问题
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习
    PHP中文网抖音号
    发现有趣的

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号