NBU 6.5 + Oracle 10g Windows 备份配置实战:从 tpl 模板到完全还原
简介这份文档资料面向在Windows平台上运维Oracle数据库的IT人员聚焦NetBackupNBU环境下的备份与恢复配置适合具备一定数据库与存储基础的中高级运维工程师参考。资源包共1个doc文件约2.64MB内容以图文步骤形式呈现便于按章节对照实操。文档围绕NBU Master Server、Oracle 10g数据库服务器与Falcon VTL三节点环境展开涵盖主机名与IP映射准备、Master Server安装与存储设备配置、卷池与Catalog备份策略、Oracle企业版安装、NBU Client部署以及完全备份与完全恢复的完整配置流程并给出备份策略模板oracle.tpl的生成与调用方法。已有184人学习可帮助读者快速搭建实验环境、理解备份策略与恢复选项的关键设置并在数据丢失场景下按步骤完成还原验证保障业务连续性。1. 为什么今天还在翻这份 NBU 6.5 Oracle 10g 的 Windows 配置文档上周帮一个做制造业 ERP 的老哥排查备份失败生产库是 Oracle 10g 跑在 Windows Server 2003 上备份软件是 NetBackup 6.5虚拟带库是 Falcon VTL。他问我这环境都老掉牙了网上全是 NBU 10.x 和 Oracle 19c 的教程我这份文档还能用吗我翻完他手里那份《NBU_windows_平台_oracle备份与恢复配置.doc》答案是能用而且比新教程更贴他的现场——因为这份文档从头到尾就是按Master 6.5 on Win2003 Oracle 10g client Falcon VTL on Redhat这套真实拓扑写的主机名、IP、卷池命名、Catalog 冷备策略全是可抄的。它解决的不是怎么装最新版 NBU而是在一套已经跑起来、不能随便升级的老 Windows 环境里把 Oracle 全备和全还原这条链路配通。适合三类人还在维护 Win2003/Win2008 Oracle 10g/11g 的运维需要给老系统补一份可复现的备份配置记录的人以及想搞懂 NBU Oracle 策略里 tpl 模板到底怎么生成的人。下面我按这份文档的实际步骤拆把每一步的参数含义、容易翻车的地方补上。2. 环境拓扑与 NBU Master 安装主机名映射和补丁顺序别搞反2.1 三台机器的角色和 hosts 映射这份文档给的拓扑很清晰三台机器各司其职角色主机名IP系统NBU Master ServerNBU192.168.1.200Windows Server 2003Oracle 数据库客户端Oracle192.168.1.50Windows Server 2003 Oracle 10gFalcon VTLVTL192.168.1.100Redhat Linux 7.3.1第一步不是装软件是在三台机器的 hosts 文件里互相写映射。Windows 下路径是C:\Windows\System32\drivers\etc\hostsLinux 下是/etc/hosts。这一步看着简单但 NBU 的 EMMEnterprise Media Manager在解析存储设备和客户端时强依赖主机名反查如果只写 IP 不写主机名或者三台机器映射不一致后面配置存储向导会卡在无法解析设备。# Windows 三台机器 hosts 文件追加用记事本或 echo 追加 192.168.1.200 NBU 192.168.1.50 Oracle 192.168.1.100 VTL # Linux VTL 上同样追加 echo 192.168.1.200 NBU /etc/hosts echo 192.168.1.50 Oracle /etc/hosts echo 192.168.1.100 VTL /etc/hosts逻辑说明NBU Master 在添加客户端和存储设备时会用主机名做唯一标识IP 只是通信地址。参数上注意主机名大小写要和后面 NBU 里填的完全一致Windows 主机名不区分大小写但 NBU 内部记录区分建议统一用文档里的大写形式。改完 hosts 用ping NBU、ping Oracle、ping VTL三向验证别只测单向。2.2 Master Server 安装与设备驱动补丁安装本身是向导式但有两个点文档特意标了不选和要补这是血泪经验。安装流程运行安装程序选install server software输入 License key 后勾选NetBackup Master Server。关键在下一步——不要勾选 Install LiveUpdate Agent。这个组件会尝试联网检查更新在老内网环境里只会拖慢安装甚至报超时对备份功能没有任何帮助。装完主程序后必须补一个东西设备驱动。安装文件在NetBackup_6.5_Winx86\Addons\NetBackupTapeDeviceDriverInstall.exe。为什么单独补因为 NBU 6.5 主安装包里的磁带设备驱动是通用版Falcon VTL 这类虚拟带库在 Windows 上需要更匹配的驱动才能被正确识别为磁带设备否则存储配置向导里根本看不到 VTL 暴露出来的驱动器。# 补丁安装图形界面命令行仅示意路径 cd NetBackup_6.5_Winx86\Addons NetBackupTapeDeviceDriverInstall.exe逻辑说明这个 exe 会重新扫描并替换磁带设备驱动装完建议重启一次 Master。参数上没什么可调的但要注意安装顺序——先装 Master 主程序再装驱动补丁反过来会导致驱动被主程序覆盖。装完在设备管理器里确认 VTL 映射过来的磁带驱动器没有黄色感叹号。2.3 EMM Server 确认向导里会问 EMM Server 的位置。单 Master 环境下 EMM 就在本机直接确认NBU即可。EMM 是 NBU 管理设备、卷、介质的管理服务Catalog 备份和卷池都归它管。如果这里填错后面创建卷池时会提示找不到 EMM 数据库。确认后继续安装完成。3. Master 端存储配置与卷池oracle10 池和 Catalog 冷备怎么设3.1 存储设备配置向导Master 装完第一件事是让 NBU 认识存储。启动configure storage devices向导它会自动搜索挂载的磁带设备和 VTL 暴露的驱动器。搜索完成后向导会列出发现的设备你需要把驱动器和机械手robot关联起来。这里常见的翻车是VTL 在 Linux 端配置了多个 LUN 映射但 Windows Master 只认到一部分。原因通常是 Windows 的 HBA 驱动或者 VTL 端的 LUN masking 没配对。排查方法是在 Windows 磁盘管理里先确认能看到几个未知设备再回 NBU 向导里比对数量。设备数量对不上后面卷池指派磁带就会缺。3.2 创建 oracle10 卷池并指派磁带卷池Volume Pool是 NBU 里对磁带做逻辑分组的方式。文档要求新建一个名为oracle10的池专门给 Oracle 备份用。这样做的好处是 Oracle 备份的磁带和 Catalog 备份、其他业务备份物理隔离恢复时不会拿错带子。操作路径在 NBU 管理界面进入Media and Device Management→Media→Volume Pools新建池命名oracle10。然后把 VTL 里已经配置好的磁带逻辑卷指派到这个池。指派时注意磁带的介质类型要和 VTL 暴露的类型一致Falcon VTL 一般模拟 LTO 类型选错类型会导致写入时直接报介质不匹配。# 命令行方式查看和指派卷在 Master 的 install_path\NetBackup\bin\admincmd 下 # 查看所有卷 vmquery -w # 把卷从 None 池移到 oracle10 池 vmchange -p oracle10 -m 介质ID逻辑说明vmquery -w列出当前所有卷及所属池vmchange -p改池-m指定介质 ID。参数上介质 ID 就是磁带标签VTL 里通常已经预生成了。批量指派时写个循环脚本比手点快但要注意别把 Catalog 要用的带子也划进 oracle10 池。3.3 Catalog 冷备策略为什么选 offline 且要两份磁带Catalog 是 NBU 自己的数据库记录着哪次备份写到哪盘带子。Catalog 丢了带子里的数据就等于没有索引的黑匣子恢复时根本不知道从哪盘读。所以文档要求单独配 Catalog 备份方式选offline, cold catalog backup。offline 冷备意味着备份 Catalog 时会短暂停止 NBU 的作业调度保证 Catalog 数据一致。相比 online 热备冷备更稳代价是备份窗口内不能跑其他作业。文档还要求指派两份磁带这是后悔药——Catalog 备份本身也可能写失败或磁带损坏两份互为冗余。操作路径configure the catalog backup向导选 offline cold 方式指派至少两盘磁带。备份频率建议跟着 Oracle 全备走比如每周一次全备就每周一次 Catalog 冷备。别把 Catalog 备份和 Oracle 备份塞进同一个卷池混在一起恢复时容易误操作。4. Oracle 客户端安装与 tpl 模板生成备份策略的源头在这4.1 Oracle 10g 企业版安装的两个关键选项文档里 Oracle 安装部分有两个不和统一直接影响后面 NBU 能不能接管备份。安装类型选企业版安装目录和全局数据库名用默认。到指定备份和恢复选项这一步选择不启用自动备份。为什么因为一旦启用 Oracle 自带的自动备份它会和 NBU 的备份作业抢归档日志导致 NBU 备份时找不到完整的归档链恢复时缺日志。备份这件事交给 NBU 统一管Oracle 自己别插手。然后是口令选所有的帐户都使用同一个口令。这不是偷懒是 NBU 的 Oracle 策略在连接数据库执行备份脚本时需要用一套凭据访问多个账户sys、system、sysdba 等口令不统一会导致 RMAN 脚本连接失败。生产环境当然可以更细但这份文档的场景是内网单库统一口令最省事。4.2 NBU Client 安装在 Oracle 这台机器上跑 NBU 安装程序选install client software。填 Master Server 信息时填NBU主机名同样不装 Install LiveUpdate Agent。装完客户端Oracle 这台机器才能被 Master 的策略纳管。客户端装完要验证连通性在 Master 上用bpps -a看进程或者直接在 NBU 管理界面Host Properties→Clients里看 Oracle 是否在线。不在线先查 hosts 和防火墙NBU 默认用 13724PBX和 13720/13782 等端口老 Windows 防火墙经常拦。4.3 客户端生成 oracle.tpl 模板这是整份文档里最容易被跳过、但最关键的一步。NBU 的 Oracle 备份策略不是直接在 Master 上写脚本而是先在客户端用Backup, Archive, and Restore界面生成一个模板文件oracle.tplMaster 策略再引用它。操作流程在 Oracle 客户端运行Backup, Archive, and Restore选要备份的 Oracle 数据库运行备份策略向导。向导里依次设置目标数据库登录方式用之前统一的口令归档日志设置归档路径、是否备份后删除备份方式和初始化文件位置pfile/spfile 路径输入将在 Master 上创建的策略名称保存模板名为oracle.tpl# oracle.tpl 生成后一般位于客户端 NBU 安装目录下 # 典型路径供核对实际以向导输出为准 C:\Program Files\VERITAS\NetBackup\DbExt\Oracle\oracle.tpl逻辑说明这个 tpl 里封装了 RMAN 脚本模板、数据库连接信息、归档日志处理逻辑。Master 策略引用它等于把怎么备这个库的知识放在客户端侧维护。参数上归档日志设置里的备份后删除要谨慎——如果 NBU 备份失败但日志被删了恢复链就断了。稳妥做法是先备份成功再删或者保留最近 N 天。5. Master 策略配置与完全还原从建策略到 Activity Monitor 验证5.1 创建 Oracle 类型备份策略回到 Master创建备份策略。类型选Oracle这是 NBU 专门为 Oracle 提供的策略类型底层会调用客户端的 tpl 模板走 RMAN 通道。策略里要设的几项选择要备份 Oracle 的客户端勾 Oracle 这台选择备份方式全备/增量文档场景是完全备份备份周期和数据保留期限保留期决定磁带什么时候能复用别设太短备份窗口避开业务高峰在backup selections里选客户端生成的oracle.tpl配完先别急着定时手动跑一次测试。手动测试能过才说明 hosts、客户端连通、tpl 路径、Oracle 凭据这一整条链路是通的。5.2 手动测试与常见失败点手动测试在策略上右键Manual Backup。跑起来后去Activity Monitor看作业状态。如果失败按这个顺序查客户端是否在线Host Properties 里看tpl 路径在客户端是否存在、Master 是否能读到Oracle 凭据是否正确、监听是否正常归档日志路径是否有权限文档里写策略备份成功但实际现场第一次跑十有八九会卡在凭据或归档路径上。别慌Activity Monitor 的 job detail 里会给出具体报错行照着改。5.3 完全还原配置还原走的是客户端Backup, Archive, and Restore里的恢复向导。选要恢复的 Oracle 数据库定义恢复操作选项关键在数据库状态选项——选择在还原/恢复前将数据库关闭还原/恢复完成后启动数据库。这一步保证恢复时数据库不在运行状态避免文件被占用导致恢复失败。还要设置数据库初始化文件的路径让 RMAN 恢复后能按正确的 pfile/spfile 启动实例。向导走完选马上运行还原/恢复然后回 Master 的Activity Monitor看 Restore 作业在跑。跑完验证数据——文档说测试数据还原成功实际验证建议查几张关键表的数据量和最新时间戳别只看作业状态是绿色。-- 恢复后验证示例查关键表的行数和最新时间 SELECT COUNT(*) FROM erp_order; SELECT MAX(create_time) FROM erp_order;逻辑说明作业成功只代表文件恢复了不代表数据可用。查行数和时间戳能确认恢复到的时间点是否符合预期。参数上MAX(create_time)能告诉你恢复到了哪个时间点的数据和你的恢复目标比对。6. 避坑与排查这份老文档里没写但现场一定会遇到的五件事6.1 现象存储配置向导搜不到 VTL 驱动器原因Windows Master 的 HBA 驱动和 VTL 端 LUN masking 不匹配或者设备驱动补丁没装。解决先装NetBackupTapeDeviceDriverInstall.exe重启后在设备管理器确认驱动器无感叹号再回向导搜索。还搜不到就查 VTL 端映射了几个 LUN和 Windows 磁盘管理里看到的数量比对。6.2 现象Catalog 备份报介质不可用原因Catalog 备份指定的磁带被划到了 oracle10 池或者磁带类型和 VTL 模拟类型不一致。解决给 Catalog 单独建一个池比如catalog指派类型匹配的磁带别和 Oracle 备份混用。两份磁带要来自不同物理位置或不同 VTL LUN否则同时坏。6.3 现象Oracle 备份作业启动后立刻失败报 RMAN 连接错误原因Oracle 账户口令不统一或者 NBU 客户端服务账户没有访问 Oracle 的权限。解决确认安装时选了所有账户同一口令检查 NBU Client 服务NetBackup Client Service的登录账户是否有 Oracle 目录权限。老 Windows 上服务默认用 Local System可能需要改成 Oracle 安装账户。6.4 现象恢复后数据库起不来报控制文件或日志缺失原因归档日志在备份后被删了或者恢复时没选恢复前关闭数据库。解决检查 tpl 里归档日志的删除策略改成备份成功后延迟删除恢复向导里务必勾选关闭/启动数据库选项。如果日志已经丢了只能恢复到最近一次全备的时间点中间数据找不回。6.5 现象Activity Monitor 里作业一直排队不跑原因备份窗口设置太窄或者存储单元Storage Unit被其他作业占满。解决检查策略的备份窗口是否覆盖当前时间检查存储单元的最大并发作业数。老 NBU 6.5 默认并发数低VTL 性能够的话可以调高但别超过 VTL 实际能承受的驱动器数。7. 把 tpl 模板当版本管理对象一个我坚持了多年的习惯这份文档里oracle.tpl只在客户端生成一次就被 Master 引用了但实际运维中数据库结构、归档路径、保留策略都会变tpl 也需要跟着更新。我踩过的最大一次坑是某次改了归档日志路径只改了 Oracle 参数没重新生成 tpl结果 NBU 备份还在按老路径找归档连续三天备份失败没人发现直到要做恢复演练才暴露。从那以后我每次动 Oracle 归档相关配置都强制走一遍重新生成 tpl → Master 策略重新引用 → 手动测试备份 → 手动测试还原这四步一步不省。具体做法是把 tpl 文件纳入版本管理每次改动前先备份一份带日期的副本# 在 Oracle 客户端备份 tplWindows 下用 copy copy C:\Program Files\VERITAS\NetBackup\DbExt\Oracle\oracle.tpl D:\backup_config\oracle_%date:~0,4%%date:~5,2%%date:~8,2%.tpl逻辑说明%date%取系统日期拼成oracle_20240101.tpl这样的文件名。参数上注意 Windows 日期格式因区域设置而异如果%date:~0,4%取不到年份先用echo %date%看实际格式再调整截取位置。Linux 客户端用cp加date %Y%m%d更省心。验证方法上我一般每季度做一次恢复演练不是真恢复生产库而是在测试库上按这份文档的还原流程走一遍确认 Catalog、磁带、tpl、Oracle 凭据这条链路都活着。演练时重点看两个指标恢复耗时是否在可接受窗口内恢复后的数据时间点是否符合预期。这两个指标比作业状态更能说明备份到底有没有用。还有一个细节这份文档的 Catalog 冷备要求两份磁带我在实际环境里会再加一条——把其中一份 Catalog 备份的磁带定期导出到离线介质。VTL 再稳也是在线设备真遇到 VTL 整体故障两份都在 VTL 里等于没有冗余。离线那份才是最后的后悔药。希望帮到你。本文还有配套的精品资源点击获取