通过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. 1-2 postman工具简介

    postman提供了一个多窗口和多选项卡页面用于发送和接受请求,postman努力保持整洁和灵活,提供更多的空间,满足用户的需要.他很简单,能满足大部分接口的测试,性价比特别高.如图所示:  1.侧边 ...

  2. 【新手/零基础】Hexo+Gitee个人博客搭建教程--详细版

    前言 点此转到--精简版 可能很多小伙伴都有搭建一个属于自己的博客的想法.但是经常是无奈于自己匮乏的知识.但是,每个老手都是新手过来的,再困难的事情,只要肯花一点时间都可以办成. 本次教程分为详细版和 ...

  3. Android平台的so注入--LibInject

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/53890315 大牛古河在看雪论坛分享的Android平台的注入代码,相信很多搞An ...

  4. POJ3233不错的矩阵(矩阵套矩阵)

    题意:        给一个n*n的矩阵A,然后求S=A + A^2 + A^3 + ..+ A^k. 思路:       矩阵快速幂,这个题目挺新颖的,以往的矩阵快速幂都是退出公式,然后构造矩阵,这 ...

  5. mongoDB常用

    登陆{ 本地的话直接mongo,如果是docker直接就这样docker exec -it 2d71a13e3128 mongo 或者直接这样 mongo 127.0.0.1:27017 } 退出是 ...

  6. c/c++ 指针数组 和 数组指针

    看这个标题都要晕了,我们不妨把他拆开来理解,比较容易 指针数组:对象是一个数组,数组元素的类型是指针 指针数组的定义方式: 类型名 *数组名[数组长度]; 如: int *p[8]; 数组指针:对象是 ...

  7. HashMap 的数据结构

    目录 content append content HashMap 的数据结构: 数组 + 链表(Java7 之前包括 Java7) 数组 + 链表 + 红黑树(从 Java8 开始) PS:这里的& ...

  8. 线程安全(ThreadSafety)

    这节讲一下线程安全的例子,以及如何解决线程安全问题. 上节提到了线程安全的问题,说了一个例子,1000个人抢100张票,这节就从此案例着手,下面先看一下代码实现: private static int ...

  9. Postman(接口自动化测试)

    1.Postman 接口测试参数化可能大家都非常的熟悉,但是很多人很难处理参数化后如何断言的问题,特别是当参数中出现中文时,很容易导致在 Runner 页面引入外部文件时导致中文乱码的问题,今天这篇文 ...

  10. 2-9-9-12分页机制(xp)

    10-10-12分页限制 10-10-12分页因为页表PEB只有四个字节所以只能访问2^32 = 4GB物理地址空间,现在的物理内存都大于4GB为了能访问到更多的物理内存2-9-9-12将PEB的大小 ...