通过NBU将Oracle恢复到异机上... 2

1.1       备份任务检查: 2

1.2       数据库空间检查... 2

1.3       恢复服务器(testdb)软件安装:... 3

1.4    NBU 配置更改:... 3

1.5       数据库恢复初始... 3

1.6       确定数据文件路径:... 4

1.7       实现数据库恢复:... 5

1.7.1   重新创建temporary tablespace. 6

1.7.2   创建listener.ora和tnsnames.ora文件.... 6

通过NBU将Oracle恢复到异机上

本文描述的是使用VERITAS的备份软件,将备份的Oracle数据库数据,恢复到另一台服务器上。

整个恢复过程的时间,与备份数据库的数据量大小相关、与恢复前的准备工作相关,包括如下几个过程:

这里设定:

NBU master Server:  fzjc

原服务器为      :YXDB_A_MEDIA

恢复主机为      :testdb

任务设定如下:

通过NBU master server fzjc,将备份的YXDB_A_MEDIA上的Oracle,恢复到到testdb上。

1.1   备份任务检查:

1.首先 YXDB_A_MEDIA 的Oracle在NBU上备份成功。

打开fzjc 上NBU Console,查看YXDB_A_MEDIA相关Oracle 备份的策略和定时备份任务情况,确定Oracle备份任务执行成功无误。

2.确认备份Master Server能够操作磁带库,能够备份数据到磁带上。

1.2   数据库空间检查

1.为了将数据数据恢复到其他服务器上,必须确定原数据库整个数据库占用磁盘空间大小:

在YXDB_A_MEDIA上以系统管理员身份登录:

A  =  select sum(bytes)/1024/1024 "Total redo size in MB" from v$logfile;

B  =  select sum(bytes)/1024/1024 "Total DB file size in MB" from v$datafile;

C  >  归档日志目录(/arch)空间大小(该空间应尽可能大)

2. 确定testdb上的可用磁盘空间:

(1)NBU 软件安装需要>500M

(2)Oracle 软件安装需要>1000M

可用空间 > A + B + C + 2G

1.3   恢复服务器(testdb)软件安装:

1. 在testdb上创建oracle用户、dba组,该用户的uid、gid必须与YXDB_A_MEDIA上的oracle用户相同。

2.安装与YXDB_A_MEDIA上同版本的Oracle软件(9.2.05),不创建instance,确认$ORACLE_HOME。

3.安装NBU Client 端,在fzjc上建立测试策略,能够备份该客户端上的文件系统数据。

4.安装NBU Oracle Agent,以oracle 用户登陆,执行:/usr/openv/netbackup/bin/oracle_link。

1.4   NBU 配置更改:

1. 在NBU master服务器 fzjc上创建文件 install_path/netbackup/db/altnames/No.Restrictions

2. 在testdb上,在 $ORACLE_HOME/bp.conf 中设置 SERVER=fzjc。

3. 在testdb上,设置环境变量

ORACLE_SID = STGD; export ORACLE_SID

NB_ORA_CLIENT = YXDB_A_MEDIA; export NB_ORA_CLIENT

1.5   数据库恢复初始

1. 拷贝YXDB_A_MEDIA上的$ORACLE_HOME/dbs/initSTGD.ora到testdb服务器上$ORACLE_HOME/dbs/initSTGD.ora

2.修改$ORACLE_HOME/dbs/initSTGD.ora :

(1) control_files = ("/data/oradata/STGD/control01.ctl ")

(2) log_archive_dest="/arch"

(3) sort_area_size=20000000

3. 创建相关目录:

(1) 设置$ORACLE_BASE=/data/oradata

(2) 创建$ORACLE_BASE/STGD/bdump、$ORACLE_BASE/STGD/cdump、$ORACLE_BASE/STGD/udump、/arch目录

4.创建testdb上的数据库启动control
file:

(1) 以sysdb登陆YXDB_A_MEDIA上的oracle(STGD):

SQL>alter database backup
controlefile to ‘/tmp/control01.ctl’;

(2) 拷贝该文件(control01.ctl)到testdb服务器上的
$ORACLE_BASE/STGD/control01.ctl ;

5. 设置oracle数据库口令文件:

在testdb上以oracle用户登陆,

$orapwd file=$ORACLE_HOME/dbs/orapwSTGD
password=oracle

1.6  
确定数据文件路径:

由于原服务器YXDB_A_MEDIA上,所有数据文件都使用裸设备,而在testdb上则使用数据文件(*.dbf),因此需要确定数据文件与裸设备的对应关系;

在testdb上,以oracle用户登陆,以sysdba登陆oracle:

SQL>start mount;

SQL>echo on;

SQL>spool /tmp/dbfile.txt

SQL>select file#,name from v$datafile;

SQL>quit;

1.7  
实现数据库恢复:

在 testdb上,以oracle用户登陆:

$ rman nocatalog target / cmdfile restore.rcv msglog restore.log

其中restore.rcv 参见下文,该文件中的

“set newname for datafile 1 to
'/data/oradata/STGD/system01.dbf';”等修改于1.6中的dbfile.txt。

附一:restore.rcv脚本:

 

#### This file to used rman to restore database

run {

allocate channel ch00 type 'sbt_tape'
parms="ENV=(NB_ORA_SERV=fzjc,NB_ORA_CLIENT=YXDB_A_MEDIA)";

allocate channel ch01 type 'sbt_tape'
parms="ENV=(NB_ORA_SERV=fzjc,NB_ORA_CLIENT=YXDB_A_MEDIA)";

SEND 'NB_ORA_SERV=fzjc,NB_ORA_CLIENT=YXDB_A_MEDIA';

set newname for datafile 1 to
'/data/oradata/STGD/system01.dbf';

set newname for datafile 2 to
'/data/oradata/STGD/undotbs01.dbf';

set newname for datafile 3 to '/data/oradata/STGD/indx01.dbf';

set newname for datafile 4 to
'/data/oradata/STGD/user01.dbf';

set newname for datafile 5 to
'/data/oradata/STGD/tools01.dbf';

set newname for datafile 6 to
'/data/oradata/STGD/yd_data01.dbf';

set newname for datafile 7 to '/data/oradata/STGD/yd_lrob01.dbf';

set newname for datafile 8 to
'/data/oradata/STGD/yd_hstr01.dbf';

set newname for datafile 9 to
'/data/oradata/STGD/undotbs02.dbf';

set newname for datafile 10 to
'/data/oradata/STGD/yd_data02.dbf';

set newname for datafile 11 to
'/data/oradata/STGD/drsys01.dbf';

set newname for datafile 12 to
'/data/oradata/STGD/xdb01.dbf';

set newname for datafile 13 to
'/data/oradata/STGD/yd_data07.dbf';

set newname for datafile 14 to
'/data/oradata/STGD/yd_hstr09.dbf';

set newname for datafile 15 to
'/data/oradata/STGD/yd_hstr10.dbf';

set newname for datafile 16 to
'/data/oradata/STGD/yd_data08.dbf';

set newname for datafile 17 to
'/data/oradata/STGD/yd_hstr02.dbf';

set newname for datafile 18 to
'/data/oradata/STGD/yd_data03.dbf';

set newname for datafile 19 to
'/data/oradata/STGD/undotbs03.dbf';

set newname for datafile 20 to
'/data/oradata/STGD/yd_data04.dbf';

set newname for datafile 21 to
'/data/oradata/STGD/yd_hstr03.dbf';

set newname for datafile 22 to
'/data/oradata/STGD/yd_data05.dbf';

set newname for datafile 23 to
'/data/oradata/STGD/yd_hstr04.dbf';

set newname for datafile 24 to
'/data/oradata/STGD/yd_data06.dbf';

set newname for datafile 25 to
'/data/oradata/STGD/apm.dbf';

set newname for datafile 26 to '/data/oradata/STGD/indx02.dbf';

set newname for datafile 27 to
'/data/oradata/STGD/yd_hstr05.dbf';

set newname for datafile 28 to
'/data/oradata/STGD/yd_hstr06.dbf';

set newname for datafile 29 to
'/data/oradata/STGD/yd_hstr07.dbf';

set newname for datafile 30 to '/data/oradata/STGD/yd_hstr08.dbf';

set until time "to_date('02/13/06
06:00:00','MM/DD/YY HH24:MI:SS')";

restore database;

switch datafile all;

recover database;

sql 'alter database open resetlogs';

}

1.7.1   重新创建temporary tablespace

由于rman备份的时候并不备temporary tablespaces,所以恢复完毕后,要重新创建它们。如:

$sqlplus /nolog

sql>conn /as sysdba

sql>alter tablespace temp

add tempfile ‘/data/oradata/STGD/temp01.dbf’ size 128m;

1.7.2   创建listener.ora和tnsnames.ora文件

为了能让此数据库接受远程访问,则需配置listener。

可以copy一个其他数据库服务器上的

$ORACLE_HOME/network/admin/listener.ora和tnsnames.ora文件到

orarcv的$ORACLE_HOME/network/admin/下,并编辑它们,把里面内容更改一下,如LISTENER改为LISTENER1,port=1521改为1526等等。

然后启动listner:

$lsnrctl start listener1

【转载】NBU异机恢复oracle的更多相关文章

  1. NBU Rman异机恢复Oracle

    前段时间一个亿级分区表,被分割成历史表和业务表,历史表中保留15天以外的数据,每天都会从业务表中的15天外的数据copy到历史表,并删除业务表15天外的数据,逻辑也很简单,但插入历史表的where 条 ...

  2. 使用NBU进行oracle异机恢复

    windows平台的异机恢复,目录不同 1.异机环境准备安装oracle介质安装nbu客户端在异机主机的host文件中添加nbu server主机和原主机信息 2.恢复spfile文件 C:\> ...

  3. 使用不同用户对Oracle数据库进行异机恢复,失败,错误:Backup file not found in NetBackup catalog

    最近做某数据库恢复演练,数据库版本是10.2.0.4,恢复控制文件一直报错,报错如下,经过反复折腾,原来恢复机上oracle用户不是oracle导致(我的是oraclev4),查看源库oracle用户 ...

  4. Hyper-V安装Oracle Linux6_4 Oracle db 12c并使用rman做异机恢复

    本文记录在Windows Server 2012 R2上安装Oracle Enterprise Linux 6.4以及使用RMAN进行进行异机恢复的过程. Windows服务器增加Hyper-V功能 ...

  5. Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复

    Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Con ...

  6. oracle rman异机恢复

      Oracle源主机 Oracle目标主机 主机平台 CentOS6.2(final) CentOs6.2(FInal) 主机名 vick rman IP地址 192.168.1.11 192.16 ...

  7. Oracle 11g 异机恢复参考文档

      原库 目标库 操作系统 CentOS 6.4 CentOS 6.4 主机名 sht-sgmhadoopnn-01 sht-sgmhadoopnn-02 IP 172.16.101.55 172.1 ...

  8. rman恢复方案和oracle异机恢复

    这篇文章主要介绍了rman恢复方案和oracle异机恢复,需要的朋友可以参考下 注:①恢复的前提是已经做好备份②完全恢复数据库是数据库遇到故障,在恢复时候没有丢失任何已经提交事物数据的恢复不完全恢复数 ...

  9. ORACLE 异机恢复

    有时候需要将大的数据库发布到客户现场或转移机器时,不得不考虑在异机上恢复已经调整.测试好的库. dumpdp 全备的方法虽然易用,但在处理对象.索引.空间的时候异常的出错,比如:见有些公司,建表.索引 ...

随机推荐

  1. 【cypress】3. 编写第一个测试

    当环境安装好了之后,就可以着手尝试第一个测试的编写了. 一.新建一个文件 在你的项目下的cypress/integration文件夹中创建一个新文件sample_spec.js,我这里直接在webst ...

  2. OO第四单元与全课程总结

    OO第四单元与全课程总结 一.作业代码架构设计 1.第一次作业 作业类图如下: 具体架构设计: 第一次作业的全部查询工作都是和类图有关,需要解决的主要问题就是如何解析原有UML类图数据的结构,并形成自 ...

  3. 使用MyQR模块生成二维码

    一.介绍 MyQR 模块是 python 的一个外部库,能够将文本或网址转为二维码,扫了之后就能查看文本或跳转到相应网站. 它是一个外部库,需要导入: pip install -i https://p ...

  4. ARM详细指令集

    算术和逻辑指令 ADC : 带进位的加法 (Addition with Carry) ADC{条件}{S} <dest>, <op 1>, <op 2> dest ...

  5. POJ 3621 最优比率生成环

    题意:      让你求出一个最优比率生成环. 思路:      又是一个01分化基础题目,直接在jude的时候找出一个sigma(d[i] * x[i])大于等于0的环就行了,我是用SPFA跑最长路 ...

  6. hdu3449 有依赖的背包问题

    题意:       给你一些物品,每个物品有自己的价值和花费,每个物品都对应一个箱子,每个箱子有价钱,买这个物品必须买相应的箱子,给你一个价钱,问最多可以获得多少价值 <提示:多个物品可能同时对 ...

  7. js--吐血总结最近遇到的变态表单校验---element+原生+jq+easyUI(前端职业生涯见过的最烦的校验)

    最近写了无数各种形式的表单,记录下奇奇怪怪的校验规则~ 一:首先是element自带的rules校验规则: element作为常用框架,自带rules属性简单易懂,官方文档一目了然,不再赘述,应付常用 ...

  8. MSSQL·查看数据库编码格式

    阅文时长 | 0.67分钟 字数统计 | 837.6字符 主要内容 | 1.引言&背景 2.声明与参考资料 『MSSQL·查看数据库编码格式』 编写人 | SCscHero 编写时间 | 20 ...

  9. Mybatis-Plus的应用场景及注入SQL原理分析

    一.背景 1.1 传统Mybatis的弊端 1.1.1 场景描述 假设有两张表:一张商品表.一张订单表,具体表的字段如下: 现有如下需求: 分别根据id查询商品表和订单表所有信息 根据支付状态和通知状 ...

  10. Mybatis-plus在原有的select查询语句中动态追加查询条件

    一.适用场景 1.使用了xml形式的mapper.2.不想在select查询中大量使用<if>标签来判断条件是否存在而加入条件. 二.步骤 1.自定义wrapper继承QueryWrapp ...