【转载】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 全备的方法虽然易用,但在处理对象.索引.空间的时候异常的出错,比如:见有些公司,建表.索引 ...
随机推荐
- mysql 随机选取一条符合条件的记录
暂时记录下: SELECT * FROM `kw_user` AS t1 JOIN ( SELECT ROUND( RAND( ) * ( ( SELECT MAX( id ) FROM `kw_u ...
- 使用 mvn install 命令将本地jar包注册到本地maven仓库
前提: 要安装maven并配置环境变量. windows 系统环境变量配置 新建环境变量:MAVEN_HOME 值为:maven的解压包路径或安装路径. 在path 环境变量中添加:%MAVEN ...
- PDO 基础
为什么要使用PDO PDO是PHP5新加入的一个重大功能,我们的数据库服务器为MySQL,所有的程序代码的数据库操作全是一mysql()或者mysqli()函数来操作,当我们的数据库 需要更换时比如换 ...
- LA4636积木艺术
题意: 有一些1*1*1的单位正方体积木,现在要摆积木,每一块积木有两种方法,要么放在地面上,要么放在别的积木的正上方,现在给你摆好积木的正面图和侧面图,问你最少用了多少块积木. 思路: ...
- POJ 2516 基础费用流
题意 有n个顾客,m个供应商,k种货物,给你顾客对于每种货物的要求个数,和供应商对于每种货物的现有量,以及供应每种货物的时候供应商和顾客之间的运输单价,问你满足所有顾客的前提下的最小运输费 ...
- Win64 驱动内核编程-25.X64枚举和隐藏内核模块
X64枚举和隐藏内核模块 在 WIN64 上枚举内核模块的人方法:使用 ZwQuerySystemInformation 的第 11 号功能和枚举 KLDR_DATA_TABLE_ENTRY 中的 I ...
- 自定义Tomcat部署目录
1.创建配置文件 在Tomcat安装目录中conf-->Catalina-->localhost目录下,创建项目访问请求路径.xml文件 内容如下: <Context path=&q ...
- Object划分
Object划分 1.PO(persistantobject)持久对象 PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包 含任何对数据库的操作. 2.DO(Domain ...
- 论文翻译:Conv-TasNet: Surpassing Ideal Time–Frequency Magnitude Masking for Speech Separation
我醉了呀,当我花一天翻译完后,发现已经网上已经有现成的了,而且翻译的比我好,哎,造孽呀,但是他写的是论文笔记,而我是纯翻译,能给读者更多的思想和理解空间,并且还有参考文献,也不错哈,反正翻译是写给自己 ...
- Windows系统下consul的安装、启动、配置
阅读时长:3分钟 操作系统:Windows10 一.consul的安装 首先在consul.exe文件目录下的地址栏中输入cmd. 接着输入consul指令,敲击回车安装consul. 安装成功后会有 ...