通过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. mysql 随机选取一条符合条件的记录

    暂时记录下: SELECT *  FROM `kw_user` AS t1 JOIN ( SELECT ROUND( RAND( ) * ( ( SELECT MAX( id ) FROM `kw_u ...

  2. 使用 mvn install 命令将本地jar包注册到本地maven仓库

    前提: 要安装maven并配置环境变量. windows 系统环境变量配置 新建环境变量:MAVEN_HOME    值为:maven的解压包路径或安装路径. 在path 环境变量中添加:%MAVEN ...

  3. PDO 基础

    为什么要使用PDO PDO是PHP5新加入的一个重大功能,我们的数据库服务器为MySQL,所有的程序代码的数据库操作全是一mysql()或者mysqli()函数来操作,当我们的数据库 需要更换时比如换 ...

  4. LA4636积木艺术

    题意:       有一些1*1*1的单位正方体积木,现在要摆积木,每一块积木有两种方法,要么放在地面上,要么放在别的积木的正上方,现在给你摆好积木的正面图和侧面图,问你最少用了多少块积木. 思路: ...

  5. POJ 2516 基础费用流

    题意       有n个顾客,m个供应商,k种货物,给你顾客对于每种货物的要求个数,和供应商对于每种货物的现有量,以及供应每种货物的时候供应商和顾客之间的运输单价,问你满足所有顾客的前提下的最小运输费 ...

  6. Win64 驱动内核编程-25.X64枚举和隐藏内核模块

    X64枚举和隐藏内核模块 在 WIN64 上枚举内核模块的人方法:使用 ZwQuerySystemInformation 的第 11 号功能和枚举 KLDR_DATA_TABLE_ENTRY 中的 I ...

  7. 自定义Tomcat部署目录

    1.创建配置文件 在Tomcat安装目录中conf-->Catalina-->localhost目录下,创建项目访问请求路径.xml文件 内容如下: <Context path=&q ...

  8. Object划分

    Object划分 1.PO(persistantobject)持久对象 PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包 含任何对数据库的操作. 2.DO(Domain ...

  9. 论文翻译:Conv-TasNet: Surpassing Ideal Time–Frequency Magnitude Masking for Speech Separation

    我醉了呀,当我花一天翻译完后,发现已经网上已经有现成的了,而且翻译的比我好,哎,造孽呀,但是他写的是论文笔记,而我是纯翻译,能给读者更多的思想和理解空间,并且还有参考文献,也不错哈,反正翻译是写给自己 ...

  10. Windows系统下consul的安装、启动、配置

    阅读时长:3分钟 操作系统:Windows10 一.consul的安装 首先在consul.exe文件目录下的地址栏中输入cmd. 接着输入consul指令,敲击回车安装consul. 安装成功后会有 ...