【转载】NBU异机恢复oracle
通过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的更多相关文章
- NBU Rman异机恢复Oracle
前段时间一个亿级分区表,被分割成历史表和业务表,历史表中保留15天以外的数据,每天都会从业务表中的15天外的数据copy到历史表,并删除业务表15天外的数据,逻辑也很简单,但插入历史表的where 条 ...
- 使用NBU进行oracle异机恢复
windows平台的异机恢复,目录不同 1.异机环境准备安装oracle介质安装nbu客户端在异机主机的host文件中添加nbu server主机和原主机信息 2.恢复spfile文件 C:\> ...
- 使用不同用户对Oracle数据库进行异机恢复,失败,错误:Backup file not found in NetBackup catalog
最近做某数据库恢复演练,数据库版本是10.2.0.4,恢复控制文件一直报错,报错如下,经过反复折腾,原来恢复机上oracle用户不是oracle导致(我的是oraclev4),查看源库oracle用户 ...
- Hyper-V安装Oracle Linux6_4 Oracle db 12c并使用rman做异机恢复
本文记录在Windows Server 2012 R2上安装Oracle Enterprise Linux 6.4以及使用RMAN进行进行异机恢复的过程. Windows服务器增加Hyper-V功能 ...
- Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复
Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Con ...
- oracle rman异机恢复
Oracle源主机 Oracle目标主机 主机平台 CentOS6.2(final) CentOs6.2(FInal) 主机名 vick rman IP地址 192.168.1.11 192.16 ...
- Oracle 11g 异机恢复参考文档
原库 目标库 操作系统 CentOS 6.4 CentOS 6.4 主机名 sht-sgmhadoopnn-01 sht-sgmhadoopnn-02 IP 172.16.101.55 172.1 ...
- rman恢复方案和oracle异机恢复
这篇文章主要介绍了rman恢复方案和oracle异机恢复,需要的朋友可以参考下 注:①恢复的前提是已经做好备份②完全恢复数据库是数据库遇到故障,在恢复时候没有丢失任何已经提交事物数据的恢复不完全恢复数 ...
- ORACLE 异机恢复
有时候需要将大的数据库发布到客户现场或转移机器时,不得不考虑在异机上恢复已经调整.测试好的库. dumpdp 全备的方法虽然易用,但在处理对象.索引.空间的时候异常的出错,比如:见有些公司,建表.索引 ...
随机推荐
- 1-2 postman工具简介
postman提供了一个多窗口和多选项卡页面用于发送和接受请求,postman努力保持整洁和灵活,提供更多的空间,满足用户的需要.他很简单,能满足大部分接口的测试,性价比特别高.如图所示: 1.侧边 ...
- 【新手/零基础】Hexo+Gitee个人博客搭建教程--详细版
前言 点此转到--精简版 可能很多小伙伴都有搭建一个属于自己的博客的想法.但是经常是无奈于自己匮乏的知识.但是,每个老手都是新手过来的,再困难的事情,只要肯花一点时间都可以办成. 本次教程分为详细版和 ...
- Android平台的so注入--LibInject
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/53890315 大牛古河在看雪论坛分享的Android平台的注入代码,相信很多搞An ...
- POJ3233不错的矩阵(矩阵套矩阵)
题意: 给一个n*n的矩阵A,然后求S=A + A^2 + A^3 + ..+ A^k. 思路: 矩阵快速幂,这个题目挺新颖的,以往的矩阵快速幂都是退出公式,然后构造矩阵,这 ...
- mongoDB常用
登陆{ 本地的话直接mongo,如果是docker直接就这样docker exec -it 2d71a13e3128 mongo 或者直接这样 mongo 127.0.0.1:27017 } 退出是 ...
- c/c++ 指针数组 和 数组指针
看这个标题都要晕了,我们不妨把他拆开来理解,比较容易 指针数组:对象是一个数组,数组元素的类型是指针 指针数组的定义方式: 类型名 *数组名[数组长度]; 如: int *p[8]; 数组指针:对象是 ...
- HashMap 的数据结构
目录 content append content HashMap 的数据结构: 数组 + 链表(Java7 之前包括 Java7) 数组 + 链表 + 红黑树(从 Java8 开始) PS:这里的& ...
- 线程安全(ThreadSafety)
这节讲一下线程安全的例子,以及如何解决线程安全问题. 上节提到了线程安全的问题,说了一个例子,1000个人抢100张票,这节就从此案例着手,下面先看一下代码实现: private static int ...
- Postman(接口自动化测试)
1.Postman 接口测试参数化可能大家都非常的熟悉,但是很多人很难处理参数化后如何断言的问题,特别是当参数中出现中文时,很容易导致在 Runner 页面引入外部文件时导致中文乱码的问题,今天这篇文 ...
- 2-9-9-12分页机制(xp)
10-10-12分页限制 10-10-12分页因为页表PEB只有四个字节所以只能访问2^32 = 4GB物理地址空间,现在的物理内存都大于4GB为了能访问到更多的物理内存2-9-9-12将PEB的大小 ...