【转载】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 全备的方法虽然易用,但在处理对象.索引.空间的时候异常的出错,比如:见有些公司,建表.索引 ...
随机推荐
- 计算机网络-已知IP地址和子网掩码,求广播地址
首先说结论--广播地址=该IP所在的下一跳-1 例题: 已知IP地址是192.72.20.111,子网掩码是255.255.255.224,求广播地址 要知道下一跳就需要先求出网段间隔,网段间隔=25 ...
- 官宣 MAUI 在.NET Preview 3的最新进展
我们在.NET 6 Preview 3中交付了.NET多平台应用UI的移动和桌面开发的最新进展.此版本添加了Windows平台和WinUI 3,改进了基本应用程序和启动构建器,添加了原生生命周期事件, ...
- 1.7.6- 浏览器审查HTML标签元素
或者F12
- vue 回顾
①.组件的注册 全局注册: // 注册 Vue.component('my-component', { template: '<div>A custom component!</di ...
- 【Spring】 Spring如何解决循环依赖的问题?
https://mp.weixin.qq.com/s/FtbzTMxHgzL0G1R2pSlh-A 通常来说,如果问Spring内部如何解决循环依赖,一定是单默认的单例Bean中,属性互相引用的场景. ...
- hdu1568斐波那契前4位
题意: 就是求斐波那契数,但是只要求输出前四位,(n<=100000000). 思路: 这个要用到斐波那契的公式和一些log的规律,直接打看着很乱,直接在网上偷张图片吧: ...
- Windows中的工作组和域
目录 工作组 工作组的访问 工作组的优缺点 域 域结构 域的原理 部署域架构 如何加入域 域中主机的登录 SRV出错及解决办法 SRV记录注册不成功的可能原因 禁用域中的账户 将计算机退出域 工作组 ...
- Windows核心编程 第四章 进程(上)
第4章 进 程 本章介绍系统如何管理所有正在运行的应用程序.首先讲述什么是进程,以及系统如何创建进程内核对象,以便管理每个进程.然后将说明如何使用相关的内核对象来对进程进行操作.接着,要介绍进 ...
- Learning Memory-guided Normality代码学习笔记
Learning Memory-guided Normality代码学习笔记 记忆模块核心 Memory部分的核心在于以下定义Memory类的部分. class Memory(nn.Module): ...
- MSSQL·查询存储过程中的关键字
阅文时长 | 0.22分钟 字数统计 | 408字符 主要内容 | 1.引言&背景 2.声明与参考资料 『MSSQL·查询存储过程中的关键字』 编写人 | SCscHero 编写时间 | 20 ...