【转载】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 全备的方法虽然易用,但在处理对象.索引.空间的时候异常的出错,比如:见有些公司,建表.索引 ...
随机推荐
- 基于MATLAB的手写公式识别(1)
基于MATLAB的手写公式识别 reason:课程要求以及对MATLAB强大生命力的探索欲望: plan date:2021/3/28-2021/4/12 plan: 进行材料搜集和思路整理: 在已知 ...
- 为什么传统软件厂商都想转型做Saas?
欢迎关注微信公众号:sap_gui (ERP咨询顾问之家) 早些年,我工作笔记用的最多的是微软的OneNote,这东西好用不说,不仅能够存在云端,也能存放在本地.可惜到了Office2019之后,On ...
- Thinkphp5 日期与时间戳相互转换
日期转换为时间戳 $date="2013-10-01 12:23:14"; dump(strtotime($date)); //=>1380601394 时间戳 转换为日期 ...
- hdu1960 最小路径覆盖
题意: 给你明天的出租车订单,订单中包含每个人的起点和终点坐标,还有时间,如果一辆出租车想接一个乘客必须在每个订单前1分钟到达,也就是小于等于time-1,问你完成所有订单要最少多少量出租 ...
- POJ2752KMP逆序处理
题意: 给你一个串,问你都哪些位置即使前缀又是后缀. 思路: 可以用KMP来做,尝试过很多种方法,想把两个串接起来然后..失败,后来又想可以倒着匹配,就是把整个串倒过来..失败,说 ...
- web php wrong nginx config
web php wrong nginx config 目录 web php wrong nginx config 题目描述 解题过程 信息收集 robots.txt hint.php Hack.php ...
- Spring Cloud Alibaba(7)---docker-compose搭建nacos1.4.0集群
docker-compose搭建nacos1.4.0集群 有关Nacos之前写过四篇文章. Spring Cloud Alibaba(3)---Nacos概述 Spring Cloud Alibaba ...
- 17道APP测试面试题分享带参考答案
一.Android四大组件 Android四大基本组件:Activity.BroadcastReceiver广播接收器.ContentProvider内容提供者.Service服务. Activity ...
- (一)RabbitMQ安装与基本配置
[博主使用的环境是阿里云ecs服务器,操作系统为centos] 安装erlang环境 RabbitMQ底层是Erlang语言,因此要先安装erlang环境,就像你要运行Java程序就必须先安装JRE/ ...
- 基于 el-form 封装一个依赖 json 动态渲染的表单控件
nf-form 表单控件的功能 基于 el-form 封装了一个表单控件,包括表单的子控件. 既然要封装,那么就要完善一些,把能想到的功能都要实现出来,不想留遗憾. 毕竟UI库提供的功能都很强大了,不 ...