【转载】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 全备的方法虽然易用,但在处理对象.索引.空间的时候异常的出错,比如:见有些公司,建表.索引 ...
随机推荐
- PHP大牛笔记收藏
PHP大牛笔记收藏 Do not use PHP references 未完,待续
- php 不定参数的传递
相关函数 func_get_args func_num_args <?php function more_args(){ $args = func_get_args(); for($i=0;$i ...
- Thinkphp之PHPExcel类库函数的官方读取的几个例子
1.使用 PHPExcel_IOFactory 读取文件 $objPHPExcel = PHPExcel_IOFactory::load($inputFileName); 2.使用一个特定的读取类,读 ...
- 从苏宁电器到卡巴斯基(后传)第05篇:聊聊我对WannaCry产生的感慨
这几天看到网上对WannaCry勒索病毒讨论得沸沸扬扬,不免有些感触. 其实该病毒的这次爆发,完全可以类比N年前"熊猫烧香"爆发的情况.也就是国内杀软纷纷歇菜,让本来就没什么技术含 ...
- Intel汇编语言程序设计学习-第三章 汇编语言基础-上
汇编语言基础 3.1 汇编语言的基本元素 有人说汇编难,有人说汇编简单,我个人不做评价,下面是一个简单的实例(部分代码): main PROC mov eax,5 ;5送EAX寄存器 add ...
- 分子动力学模拟软件VMD的安装与使用
技术背景 在分子动力学模拟过程中会遇到一些拓扑结构非常复杂的分子模型,所谓的复杂不仅仅是包含众多的原子,还有各种原子之间的成键关系与成键类型等.这时候就非常能够体现一个好的可视化软件的重要性了,这里我 ...
- 深入浅出带你玩转sqlilabs(五)-布尔/延时盲注与二次注入
SQL测试-基于布尔,延时盲注 布尔,延时注入常用到的判断语句 regexp regexp '^xiaodi[a-z]' 匹配xiaodi及xiaodi...等 if if(条件,5,0) 条件成立 ...
- thinkphp 中区块block和模板继承extend用法举例
1.介绍 模板继承其实并不难理解,就好比类的继承一样,模板也可以定义一个基础模板(或者是布局),并且其中定义相关的区块(block),然后继承(extend)该基础模板的子模板中就可以对基础模板中定义 ...
- Python数模笔记-Sklearn(2)样本聚类分析
1.分类的分类 分类的分类?没错,分类也有不同的种类,而且在数学建模.机器学习领域常常被混淆. 首先我们谈谈有监督学习(Supervised learning)和无监督学习(Unsupervised ...
- Java线程的6种状态
6种状态分别是: NEW.RUNNABLE.TERMINATED.WAITING.TIMED_WAITING.BLOCKED NEW:线程创建完毕 RUNNABLE:线程运行中,又分为READY + ...