暂无图片
暂无图片
10
暂无图片
暂无图片
暂无图片

Veritas Netbackup(NBU)备份Oracle数据库到虚拟带库实战,值得你一看!

原创 szrsu 2024-11-14
1582

上一篇文章介绍了如何搭建一个虚拟带库环境(详见还在苦于没有真实的物理带库可以让你实操?这么好用的虚拟带库,你不去试试可惜了!),本篇文章就为你介绍一下如何使用NBU软件(Veritas Netbackup)备份Oracle数据库到这个虚拟带库上。

本次使用NBU8.1软件来进行安装配置,分为三部分来进行介绍:服务端安装配置、客户端安装配置及调用Oracle备份。

NBU8.1服务端安装

NBU8.1下载地址:

https://www.veritas.com/support/zh_CN/downloads/detail.REL487033#item2

将NBU服务端跟虚拟带库都装在同一台,方便识别虚拟带库。

系统配置

关闭防火墙:

systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

关闭 selinux:

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

创建用户和组:

## root 用户下执行
mkdir /usr/openv -p
groupadd nbwebgrp
useradd -g nbwebgrp -c 'NetBackup Web Services account' -d /usr/openv/wmc nbwebsvc

配置内核参数:

## root 用户下执行
cat /proc/sys/kernel/sem
echo 300   307200   32   1024 > /proc/sys/kernel/sem
sysctl -a | grep kernel.sem

echo "kernel.sem = 300  307200  32  1024">> /etc/sysctl.conf
cat /etc/sysctl.conf | grep kernel.sem
sysctl -p

配置 ulimit:

ulimit -f unlimited
ulimit -n 8000

配置环境变量:

cat<<EOF>>/root/.bash_profile
export NBU_HOME=/usr/openv/netbackup
export PATH=\$NBU_HOME/bin:\$PATH
export PS1="[\`whoami\`@\`hostname\`:"'\w]# '
EOF

执行安装

解压安装包:

[root@ora19c:~]# cd /media/
[root@ora19c:/media]# ls
NetBackup_8.1.1_LinuxR_x86_64.tar.gz
[root@ora19c:/media]# tar -xf NetBackup_8.1.1_LinuxR_x86_64.tar.gz 

执行安装:

[root@ora19c:/media]# cd NetBackup_8.1.1_LinuxR_x86_64
[root@ora19c:/media/NetBackup_8.1.1_LinuxR_x86_64]# ls
Doc  install  LICENSE  linuxR_x86
[root@ora19c:/media/NetBackup_8.1.1_LinuxR_x86_64]# ./install 

安装过程中的选项:
Do you wish to continue? [y,n] (y) y
Is this host the master server? [y,n] (y) y
Are you currently performing a disaster recovery of a master server? [y,n] (n) n
Do you want to install NetBackup and Media Manager files? [y,n] (y) y
Enter license key: <<<<<<<<<<<<<此处输入license
Do you want to add additional license keys now? [y,n] (y) n
NetBackup server name of this machine? [y,n] (y) y
Do you want to add any media servers now? [y,n] (n) n
Do you want to start the job-related NetBackup daemons
so backups and restores can be initiated? [y,n] (y) y
Enter the OpsCenter server (default: NONE): 

File /usr/openv/tmp/install_trace.128389 contains a trace of this install.
That file can be deleted after you are sure the install was successful.

按照以上选项执行之后,整个过程就安装完成了。

NBU 服务端成功安装之后,还需要初始化设置,否则无法使用,下面介绍一下如何初始化 NBU 服务端。

管理界面

管理界面需要图形化使用,可以通过 Windows 安装管理软件,也可以在服务端图形化界面下,执行以下命令调出管理界面:

/usr/openv/netbackup/bin/jnbSA

image.png

创建Token

创建客户端的Token,后续安装NBU Client时需要用到

在NetBackup客户端,Security Management ==> Certificate Management ==>Token Management ==>鼠标右键 ==> New Token ,如下如所示。
image.png
image.png
image.png

添加磁带存储

接下来配置NBU,识别添加磁带存储设备

添加配置存储设备

image.png

image.png
选择对应的主机添加存储设备

image.pngimage-20241111234015928

扫描设备发现8个驱动器和2个机械手臂

image.png

image.png

image.png

image.png

image.png

image.png

image.png

首先清点磁带,然后选择"Update volume configuration"

image.png

点击“start",更新配置。
image.png

至此,NBU磁带设备全部添加完成识别,需要用的时候,可以新建不同的磁带Pool分配使用。

image.png

NBU 客户端安装

将客户端安装在已存在Oracle数据库的服务器上,如将客户端安装在另外一台数据库10.10.10.44。

配置hosts

注意:NBU Master Server服务端和客户端都需要配置

# vi /etc/hosts
###nbu
10.10.10.150    ora19c
10.10.10.44     11gbbed

解压安装包

[root@11gbbed:/media]# tar -xf NetBackup_8.1.1_CLIENTS2.tar.gz

执行安装

在安装过程中,需要使用 Token(前面安装服务端时创建的),可在 NBU 管理界面获取

image.pngimage-20241112144949684

[root@11gbbed:/media]# cd NetBackup_8.1.1_CLIENTS2
[root@11gbbed:/media/NetBackup_8.1.1_CLIENTS2]# 
[root@11gbbed:/media/NetBackup_8.1.1_CLIENTS2]# ./install 

安装过程中的选项:
Do you wish to continue? [y,n] (y) y
Do you want to install the NetBackup client software for this client? [y,n] (y) 
Enter the name of the NetBackup master server : ora19c
Would you like to use "11gbbed" as the configured
name of the NetBackup client? [y,n] (y) y
Is this correct? [y,n] y
Enter the authorization token for ora19c or q to skip: 
<<<<此处输入token

Installing VRTSpddea.rpm ...
Installation of VRTSpddea.rpm was successful. Check /tmp/install_VRTSpddea.rpm_trace.2679 for details.
Installing VRTSnbcfg.rpm ...
Installation of VRTSnbcfg.rpm was successful. Check /tmp/install_VRTSnbcfg.rpm_trace.2679 for details.


File /usr/openv/tmp/install_trace.2211 contains a trace of this install.
That file can be deleted after you are sure the install was successful.

检查解析是否正常

[root@11gbbed:/media/NetBackup_8.1.1_CLIENTS2]# /usr/openv/netbackup/bin/bpclntcmd -hn ora19c
host ora19c: ora19c at 10.10.10.150
aliases:     ora19c     10.10.10.150
[root@11gbbed:/media/NetBackup_8.1.1_CLIENTS2]# /usr/openv/netbackup/bin/bpclntcmd -hn 11gbbed
host 11gbbed: 11gbbed at 10.10.10.44
host 11gbbed: 11gbbed at 10.10.10.44
aliases:     11gbbed     10.10.10.44
[root@11gbbed:/media/NetBackup_8.1.1_CLIENTS2]# /usr/openv/netbackup/bin/bpclntcmd -pn
expecting response from server ora19c
11gbbed *NULL* 10.10.10.44 47093

NBU调用Oracle备份

将Oracle RMAN与NetBackup链接

如果客户端是 Oracle 数据库,就需要执行链接 libobk.so 文件,否则无法用于备份恢复。

在客户端Oracle用户下,将UNIX平台上将Oracle RMAN与NetBackup链接,链接方式有2种:

1)自动将Ora cle RMAN与NetBackup链接

// 运行/usr/openv/netbackup/bin/中的oracle_link脚本

// 此脚本确定Oracle的版本级别,然后将Oracle链接到NetBackup API库,此脚本将输出写入/tmp/mak-trace.<pid>。要更改跟踪文件的位置,请更改oracle_link脚本中的MAKE_TRACE变量

// 注:如果进行的是升级安装,则重新启动Oracle数据库实例

[root@11gbbed:/media/NetBackup_8.1.1_CLIENTS2]# su - oracle
[oracle@11gbbed:~]$ 
[oracle@11gbbed:~]$ 
[oracle@11gbbed:~]$ cd /usr/openv/netbackup/bin/
[oracle@11gbbed:/usr/openv/netbackup/bin]$ ./oracle_link 
Tue Nov 12 15:07:42 CST 2024
All Oracle instances should be shutdown before running this script.

Please log into the Unix system as the Oracle owner for running this script

Do you want to continue? (y/n) [n] y


LIBOBK path: /usr/openv/netbackup/bin
ORACLE_HOME: /u01/app/oracle/product/11.2.0/db
Oracle version: 11.2.0.4.0
Platform type: x86_64
Linking LIBOBK:
ln -s /usr/openv/netbackup/bin/libobk.so64 /u01/app/oracle/product/11.2.0/db/lib/libobk.so
Done

Please check the trace file located in /tmp/make_trace.4953 
to make sure the linking process was successful.

2)手动链接

如 19c 数据库不被该脚本支持自动链接,那就手动执行链接

// 键入下面的cd命令以更改目录:
cd $ORACLE_HOME/lib
// 键入下面的ls命令,确定是否存在 Oracle库:
ls -l libobk.so
// (视情况而定)使用mv命令将 Oracle库移到另一位置。如果步骤 2 中的输出表明存在libobk.so,请执行此步骤。
// 例如:
mv libobk.so libobk.so.orig
// 键入下面的ln命令以创建新链接:
ln -s /usr/openv/netbackup/bin/libobk.so64 libobk.so
// 如果您遇到问题从而无法重新链接 Oracle与 NetBackup API 库,可以回滚所执行的操作。
// 输入以下命令:
cd $ORACLE_HOME/lib64
mv libobk.so.orig libobk.so

--19c自动链接报错如下:
[oracle@ora19c:/usr/openv/netbackup/bin]$ ./oracle_link 
Tue Nov 12 16:02:31 CST 2024
All Oracle instances should be shutdown before running this script.

Please log into the Unix system as the Oracle owner for running this script

Do you want to continue? (y/n) [n] y


LIBOBK path: /usr/openv/netbackup/bin
ORACLE_HOME: /u01/app/oracle/product/19.3.0/db_1
Oracle version: 19.0.0.0.0
This version of Oracle is not supported in this script

Please check the trace file located in /tmp/make_trace.52341 
to make sure the linking process was successful.

--改用手动链接
[oracle@ora19c:/usr/openv/netbackup/bin]$ cd $ORACLE_HOME/lib
[oracle@ora19c:/u01/app/oracle/product/19.3.0/db_1/lib]$ ls -l /u01/app/oracle/product/19.3.0/db/lib/libobk.so
ls: cannot access /u01/app/oracle/product/19.3.0/db/lib/libobk.so: No such file or directory

[oracle@ora19c:/u01/app/oracle/product/19.3.0/db_1/lib]$ ln -s /usr/openv/netbackup/bin/libobk.so64 libobk.so
[oracle@ora19c:/u01/app/oracle/product/19.3.0/db_1/lib]$ ls -l libobk.so
lrwxrwxrwx 1 oracle oinstall 36 Nov 12 16:06 libobk.so -> /usr/openv/netbackup/bin/libobk.so64

创建备份策略

新开一个窗口,提取配置好备份脚本,后面需要用到

# cd /usr/openv/netbackup/ext/db_ext/oracle/samples/rman
# cp hot_database_backup.sh /usr/openv/netbackup/ext/db_ext/oracle/

####修改脚本相应环境变量
[root@11gbbed:/usr/openv/netbackup/ext/db_ext/oracle/samples/rman]# cd /usr/openv/netbackup/ext/db_ext/oracle/
[root@11gbbed:/usr/openv/netbackup/ext/db_ext/oracle]# ls
hot_database_backup.sh  samples
[root@11gbbed:/usr/openv/netbackup/ext/db_ext/oracle]# vi hot_database_backup.sh 
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db

ORACLE_SID=dbbbed

连接服务端管理界面,创建备份策略:

[root@ora19c:~]# /usr/openv/netbackup/bin/jnbSA

​	Starting administration console version 8.1.1.
​	The log file for this execution instance is
​	/usr/openv/netbackup/logs/user_ops/nbjlogs/jbp.root.jnbSA.53495.log

image.pngimage-20241112205636930

输入主机的密码,进行登录。

image.png

创建一个备份策略
image.png

image.png

image.png

image.png
输入客户端的主机名,选择自动识别客户端的操作系统。
image.png
image.png
image.png
image.png

注意上面:Policy type这个地方如果没有oracle选项,可能是你的序列号没有包含oracle的授权,需要增加支持oracle的序列号。

手动调用备份

右击 要调用的备份策略,选择"Manual Backup…"

image.png
image.png

查看是否成功:
image.png

在/usr/openv/netbackup/ext/db_ext/oracle目录下hot_database_backup.sh.out ,可以看到备份的日志:

[oracle@11gbbed:/usr/openv/netbackup/ext/db_ext/oracle]$ pwd
/usr/openv/netbackup/ext/db_ext/oracle
[oracle@11gbbed:/usr/openv/netbackup/ext/db_ext/oracle]$ tail -f hot_database_backup.sh.out 

released channel: ch00

RMAN> 

Recovery Manager complete.

==== /usr/openv/netbackup/ext/db_ext/oracle/hot_database_backup.sh ended successfully on Tue Nov 12 21:03:52 CST 2024 ==== stdout
==== /usr/openv/netbackup/ext/db_ext/oracle/hot_database_backup.sh ended successfully on Tue Nov 12 21:03:52 CST 2024 ==== stderr

可以看到备份成功了。

使用bplist命令查看备份后的文件名称:

[oracle@11gbbed:/usr/openv/netbackup/bin]$ ./bplist -C 11gbbed -t 4 -R -l /
-rw-rw---- oracle    oinstall     10223616 Nov 12 21:03 /cntrl_117_1_1184879024
-rw-rw---- oracle    oinstall       262144 Nov 12 21:03 /al_116_1_1184878998
-rw-rw---- oracle    oinstall    127401984 Nov 12 21:03 /al_115_1_1184878995
-rw-rw---- oracle    oinstall    163840000 Nov 12 21:03 /al_114_1_1184878992
-rw-rw---- oracle    oinstall      3145728 Nov 12 21:03 /al_112_1_1184878985
-rw-rw---- oracle    oinstall     82837504 Nov 12 21:03 /al_113_1_1184878985
-rw-rw---- oracle    oinstall       262144 Nov 12 21:02 /bk_111_1_1184878976
-rw-rw---- oracle    oinstall     10223616 Nov 12 21:02 /bk_110_1_1184878972
-rw-rw---- oracle    oinstall    732954624 Nov 12 21:02 /bk_108_1_1184878947
-rw-rw---- oracle    oinstall    532676608 Nov 12 21:02 /bk_109_1_1184878947

好了,本篇文章介绍到这,下一篇文章讲讲如何从这个NBU恢复数据,敬请期待!

喜欢这篇文章的人还喜欢:
openGauss 一主一备 从5.0 LTS 版本升级至 6.0 LTS 版本实战
openGauss 6.0 主备切换 switchover和failover 实操

最后修改时间:2024-11-15 10:06:57
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论