最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

NetBackup 恢复手册

来源:动视网 责编:小OO 时间:2025-09-24 11:16:07
文档

NetBackup 恢复手册

StrategicServicesforStorageandStorageManagementXX基金NetBackup恢复手册PRESENTEDBY:VERITASEnterpriseConsultingServices1600PlymouthStreetMountainView,CA9404322Feb2004目录1.文件本机恢复测试32.本地恢复操作系统测试53.文件异机恢复测试.oracle数据库文件毁坏恢复测试85.oracle数据库控制文件毁坏恢复测试176.SQLdataba
推荐度:
导读StrategicServicesforStorageandStorageManagementXX基金NetBackup恢复手册PRESENTEDBY:VERITASEnterpriseConsultingServices1600PlymouthStreetMountainView,CA9404322Feb2004目录1.文件本机恢复测试32.本地恢复操作系统测试53.文件异机恢复测试.oracle数据库文件毁坏恢复测试85.oracle数据库控制文件毁坏恢复测试176.SQLdataba
Strategic Services for Storage and Storage Management

XX基金

NetBackup恢复手册

PRESENTED BY:

VERITAS Enterprise Consulting Services

1600 Plymouth Street

Mountain View, CA 94043

22 Feb 2004

目录

1.文件本机恢复测试    3

2.本地恢复操作系统测试    5

3.文件异机恢复测试    6

4.oracle 数据库文件毁坏恢复测试    8

5.oracle数据库控制文件毁坏恢复测试    17

6.SQL database恢复测试    19

7.BMR AIX恢复测试    20

8.BMR Windows恢复测试    22

9.Vault的全备份恢复测试    24

10.Vault的全备份和增量备份恢复测试    26

1.文件本机恢复测试

对每台安装NetBackup Client的机器都进行一次备份和恢复测试,备份一个小目录,恢复到本机

a.准备工作

为每台安装了NetBackup  Client的机器建立一个备份/usr/openv的测试备份策略,备份都通过网络写到shwp0007上的带库中,挑选若干盘磁带放在test_pool中。

确认该机器/tmp目录下有400MB以上的空间。

确认网络正常

确认NetBackup Master server正常运行

b.测试方法

立刻启动备份策略,确认备份进程正常mount磁带,写磁带并以状态0结束

在恢复GUI中找到刚才备份的数据,恢复该目录到/tmp目录下,在UNIX下用chkum比较两个二进制文件的校验值。直接用vi(或diff)来比较两个文本文件是否一致。

c.清理工作

删除建立的测试备份策略,删除test_pool,删除/tmp下恢复出的数据

d.出错处理方法

根据NetBackup Trouble shooting文档资料对错误状态进行分析,纠正错误配置后重新进行测试

测试结果:

主机名passfail

2.本地恢复操作系统测试

对测试机进行一次全备份和恢复测试,备份全部操作系统,恢复到本机

a.准备工作

为这台测试机建立一个备份ALL_LOCAL_DRIVES和system_state:/的测试备份策略,备份都通过网络写到shwp0007上的带库中,挑选若干盘磁带放在test_pool中。

确认网络正常

确认NetBackup Master server正常运行

b.测试方法

立刻启动备份策略,确认备份进程正常mount磁带,写磁带并以状态0结束

在恢复GUI中找到刚才备份的数据,恢复覆盖整个操作系统。

c.清理工作

删除建立的测试备份策略,删除test_pool

d.出错处理方法

根据NetBackup Trouble shooting文档资料对错误状态进行分析,纠正错误配置后重新进行测试

测试结果:

主机名passfail

3.文件异机恢复测试

对每台安装NetBackup Client的机器都进行一次备份和恢复测试,备份一个小目录,恢复到shwp0007本机

a.准备工作

为每台安装了NetBackup  Client的机器建立一个备份/usr/openv的测试备份策略,备份都通过网络写到shwp0007的带库中,挑选若干盘磁带放在test_pool中。

确认该机器/tmp目录下有400MB以上的空间。

确认网络正常

确认NetBackup Master server正常运行

b.测试方法

在jfkdb2中的/usr/openv/netbackup/db目录下建altnames目录,然后创建空文件No.Restrictions.

立刻启动备份策略,确认备份进程正常mount磁带,写磁带并以状态0结束

在恢复GUI中找到刚才备份的数据,恢复该目录到jfkdb2的/tmp目录下,在UNIX下用chkum比较两个二进制文件的校验值。直接用vi(或diff)来比较两个文本文件是否一致。

c.清理工作

删除建立的测试备份策略,删除test_pool,删除jfkdb2的/tmp下恢复出的数据

d.出错处理方法

根据NetBackup Trouble shooting文档资料对错误状态进行分析,纠正错误配置后重新进行测试

测试结果:

主机名passfail

4.oracle 数据库文件毁坏恢复测试

在测试机上对Oracle数据库进行一次备份和恢复测试,备份全数据库,恢复数据库

a.准备工作

1.为测试机安装Oracle数据库

2.为测试机安装NetBackup客户端和数据库agent,link该测试数据库

3.为该测试机建立一个备份数据库的测试备份策略,挑选磁带放在test_pool中。配置rman备份脚本

4.确认网络正常

5.确认NetBackup Master server正常运行

b.测试方法

1.在数据库中创建一张表,写些数据

2.立刻启动备份策略,确认备份进程正常mount磁带,写磁带并以状态0结束,查看rman脚本的日志确认备份成功

3.关闭数据库

>shutdown immediate

4.将当前的几个datafile的裸设备dd掉

5.将数据库置于mount状态

>startup mount

6.通过手工执行rman恢复数据,查看刚才的表中数据还在

c.清理工作

删除建立的测试备份策略,删除test_pool

d.出错处理方法

根据NetBackup Trouble shooting文档资料和查阅oracle Metalink对错误状态进行分析,纠正错误配置后重新进行测试

RMAN备份脚本

#

# ---------------------------------------------------------------------------

# hot_database_backup.sh

# ---------------------------------------------------------------------------

# This script uses Recovery Manager to take a hot (inconsistent) database

# backup. A hot backup is inconsistent because portions of the database are

# being modified and written to the disk while the backup is progressing.

# You must run your database in ARCHIVELOG mode to make hot backups. It is

# assumed that this script will be executed by user root. In order for RMAN

# to work properly we switch user (su -) to the oracle dba account before

# execution. If this script runs under a user account that has Oracle dba

# privilege, it will be executed using this user’s account.

# ---------------------------------------------------------------------------

# ---------------------------------------------------------------------------

# Determine the user which is executing this script.

# ---------------------------------------------------------------------------

CUSER=‘id |cut -d"(" -f2 | cut -d ")" -f1‘

# ---------------------------------------------------------------------------

# Put output in .out. Change as desired.

# Note: output directory requires write permission.

# ---------------------------------------------------------------------------

RMAN_LOG_FILE=${0}.out

# ---------------------------------------------------------------------------

# You may want to delete the output file so that backup information does

# not accumulate. If not, delete the following lines.

# ---------------------------------------------------------------------------

if [ -f "$RMAN_LOG_FILE" ]

then

rm -f "$RMAN_LOG_FILE"

fi

# -----------------------------------------------------------------

# Initialize the log file.

# -----------------------------------------------------------------

echo >> $RMAN_LOG_FILE

chmod 666 $RMAN_LOG_FILE

# ---------------------------------------------------------------------------

# Log the start of this script.

# ---------------------------------------------------------------------------

echo Script $0 >> $RMAN_LOG_FILE

echo ==== started on ‘date‘ ==== >> $RMAN_LOG_FILE

echo >> $RMAN_LOG_FILE

# ---------------------------------------------------------------------------

# Replace /db/oracle/product/ora81, below, with the Oracle home path.

# ---------------------------------------------------------------------------

ORACLE_HOME=/db/oracle/product/ora81

export ORACLE_HOME

# ---------------------------------------------------------------------------

# Replace ora81, below, with the Oracle SID of the target database.

# ---------------------------------------------------------------------------

ORACLE_SID=ora81

export ORACLE_SID

# ---------------------------------------------------------------------------

# Replace ora81, below, with the Oracle DBA user id (account).

# ---------------------------------------------------------------------------

ORACLE_USER=ora81

# ---------------------------------------------------------------------------

# Set the target connect string.

# Replace "sys/manager", below, with the target connect string.

# ---------------------------------------------------------------------------

TARGET_CONNECT_STR=sys/manager

# ---------------------------------------------------------------------------

# Set the Oracle Recovery Manager name.

# ---------------------------------------------------------------------------

RMAN=$ORACLE_HOME/bin/rman

# ---------------------------------------------------------------------------

# Print out the value of the variables set by this script.

# ---------------------------------------------------------------------------

echo >> $RMAN_LOG_FILE

echo "RMAN: $RMAN" >> $RMAN_LOG_FILE

echo "ORACLE_SID: $ORACLE_SID" >> $RMAN_LOG_FILE

echo "ORACLE_USER: $ORACLE_USER" >> $RMAN_LOG_FILE

echo "ORACLE_HOME: $ORACLE_HOME" >> $RMAN_LOG_FILE

# ---------------------------------------------------------------------------

# Print out the value of the variables set by bphdb.

# ---------------------------------------------------------------------------

echo >> $RMAN_LOG_FILE

echo "NB_ORA_FULL: $NB_ORA_FULL" >> $RMAN_LOG_FILE

echo "NB_ORA_INCR: $NB_ORA_INCR" >> $RMAN_LOG_FILE

echo "NB_ORA_CINC: $NB_ORA_CINC" >> $RMAN_LOG_FILE

echo "NB_ORA_SERV: $NB_ORA_SERV" >> $RMAN_LOG_FILE

echo "NB_ORA_POLICY: $NB_ORA_POLICY" >> $RMAN_LOG_FILE

# ---------------------------------------------------------------------------

# NOTE: This script assumes that the database is properly opened. If desired,

# this would be the place to verify that.

# ---------------------------------------------------------------------------

echo >> $RMAN_LOG_FILE

# ---------------------------------------------------------------------------

# If this script is executed from a NetBackup schedule, NetBackup

# sets an NB_ORA environment variable based on the schedule type.

# The NB_ORA variable is then used to dynamically set BACKUP_TYPE

# For example, when:

# schedule type is BACKUP_TYPE is

# ---------------- --------------

# Automatic Full INCREMENTAL LEVEL=0

# Automatic Differential Incremental INCREMENTAL LEVEL=1

# Automatic Cumulative Incremental INCREMENTAL LEVEL=1 CUMULATIVE

#

# For user initiated backups, BACKUP_TYPE defaults to incremental

# level 0 (full). To change the default for a user initiated

# backup to incremental or incremental cumulative, uncomment

# one of the following two lines.

# BACKUP_TYPE="INCREMENTAL LEVEL=1"

# BACKUP_TYPE="INCREMENTAL LEVEL=1 CUMULATIVE"

#

# Note that we use incremental level 0 to specify full backups.

# That is because, although they are identical in content, only

# the incremental level 0 backup can have incremental backups of

# level > 0 applied to it.

# ---------------------------------------------------------------------------

if [ "$NB_ORA_FULL" = "1" ]

then

echo "Full backup requested" >> $RMAN_LOG_FILE

BACKUP_TYPE="INCREMENTAL LEVEL=0"

elif [ "$NB_ORA_INCR" = "1" ]

then

echo "Differential incremental backup requested" >> $RMAN_LOG_FILE

BACKUP_TYPE="INCREMENTAL LEVEL=1"

elif [ "$NB_ORA_CINC" = "1" ]

then

echo "Cumulative incremental backup requested" >> $RMAN_LOG_FILE

BACKUP_TYPE="INCREMENTAL LEVEL=1 CUMULATIVE"

elif [ "$BACKUP_TYPE" = "" ]

then

echo "Default - Full backup requested" >> $RMAN_LOG_FILE

BACKUP_TYPE="INCREMENTAL LEVEL=0"

fi

# ---------------------------------------------------------------------------

# Call Recovery Manager to initiate the backup. This example does not use a

# Recovery Catalog. If you choose to use one, replace the option ’nocatalog’

# from the rman command line below with the

# ’rcvcat /@’ statement.

#

# Note: Any environment variables needed at run time by RMAN

# must be set and exported within the switch user (su) command.

# ---------------------------------------------------------------------------

# Backs up the whole database. This backup is part of the incremental

# strategy (this means it can have incremental backups of levels > 0

# applied to it).

#

# We do not need to explicitly request the control file to be included

# in this backup, as it is automatically included each time file 1 of

# the system tablespace is backed up (the inference: as it is a whole

# database backup, file 1 of the system tablespace will be backed up,

# hence the controlfile will also be included automatically).

#

# Typically, a level 0 backup would be done at least once a week.

#

# The scenario assumes:

# o you are backing your database up to two tape drives

# o you want each backup set to include a maximum of 5 files

# o you wish to include offline datafiles, and read-only tablespaces,

# in the backup

# o you want the backup to continue if any files are inaccessible.

# o you are not using a Recovery Catalog

# o you are explicitly backing up the control file. Since you are

# specifying nocatalog, the controlfile backup that occurs

# automatically as the result of backing up the system file is

# not sufficient; it will not contain records for the backup that

# is currently in progress.

# o you want to archive the current log, back up all the

# archive logs using two channels, putting a maximum of 20 logs

# in a backup set, and deleting them once the backup is complete.

#

# Note that the format string is constructed to guarantee uniqueness and

# to enhance NetBackup for Oracle backup and restore performance.

#

# ---------------------------------------------------------------------------

CMD_STR="

ORACLE_HOME=$ORACLE_HOME

export ORACLE_HOME

ORACLE_SID=$ORACLE_SID

export ORACLE_SID

$RMAN target $TARGET_CONNECT_STR rcvcat rmandb/rmandb@rmandb << EOF

RUN {

ALLOCATE CHANNEL ch00 TYPE ’SBT_TAPE’;

ALLOCATE CHANNEL ch01 TYPE ’SBT_TAPE’;

BACKUP

$BACKUP_TYPE

SKIP INACCESSIBLE

TAG hot_db_bk_level0

FILESPERSET 5

# recommended format

FORMAT ’bk_%s_%p_%t’

DATABASE;

sql ’alter system archive log current’;

RELEASE CHANNEL ch00;

RELEASE CHANNEL ch01;

# backup all archive logs

ALLOCATE CHANNEL ch00 TYPE ’SBT_TAPE’;

ALLOCATE CHANNEL ch01 TYPE ’SBT_TAPE’;

BACKUP

filesperset 20

FORMAT ’al_%s_%p_%t’

ARCHIVELOG ALL DELETE INPUT;

RELEASE CHANNEL ch00;

RELEASE CHANNEL ch01;

#

# Note: During the process of backing up the database, RMAN also backs up the

# control file. This version of the control file does not contain the

# information about the current backup because "nocatalog" has been specified.

# Too include the information about the current backup, the control file should

# be backed up as the last step of the RMAN section. This step would not be

# necessary if we were using a recovery catalog.

#

ALLOCATE CHANNEL ch00 TYPE ’SBT_TAPE’;

BACKUP

# recommended format

FORMAT ’cntrl_%s_%p_%t’

CURRENT CONTROLFILE;

RELEASE CHANNEL ch00;

}

EOF

"

# Initiate the command string

if [ "$CUSER" = "root" ]

then

su - $ORACLE_USER -c "$CMD_STR" >> $RMAN_LOG_FILE

RSTAT=$?

else

/usr/bin/sh -c "$CMD_STR" >> $RMAN_LOG_FILE

RSTAT=$?

fi

# ---------------------------------------------------------------------------

# Log the completion of this script.

# ---------------------------------------------------------------------------

if [ "$RSTAT" = "0" ]

then

LOGMSG="ended successfully"

else

LOGMSG="ended in error"

fi

echo >> $RMAN_LOG_FILE

echo Script $0 >> $RMAN_LOG_FILE

echo ==== $LOGMSG on ‘date‘ ==== >> $RMAN_LOG_FILE

echo >> $RMAN_LOG_FILE

exit $RSTAT

RMAN恢复命令

rman target sys/manager nocatalog

>run{

>allocate channel ch00 type ‘sbt_tape’;

>restore database;

>recover database;

>release channel ch00;

>}

测试结果

主机名passfail

5.oracle数据库控制文件毁坏恢复测试

在测试机上对Oracle数据库进行一次备份和恢复测试,备份全数据库,恢复控制文件

a.准备工作

1.为测试机安装Oracle数据库

2.为测试机安装NetBackup客户端和数据库agent,link该测试数据库

3.为该测试机建立一个备份数据库的测试备份策略,挑选磁带放在test_pool中。配置rman备份脚本

4.确认网络正常

5.确认NetBackup Master server正常运行

b.测试方法

1.立刻启动备份策略,确认备份进程正常mount磁带,写磁带并以状态0结束,查看rman脚本的日志确认备份成功

2.关闭数据库

>shutdown immediate

3.将当前的控制文件改名

4.将数据库置于nomount状态

>startup nomount

5.通过手工执行rman恢复控制文件

6.确认数据库open(ALTER DATABASE OPEN RESETLOGS)没有问题

c.清理工作

删除建立的测试备份策略,删除test_pool

d.出错处理方法

根据NetBackup Trouble shooting文档资料和查阅oracle Metalink对错误状态进行分析,纠正错误配置后重新进行测试

RMAN恢复命令

rman target / nocatalog

rman>run{

rman>ALLOCATE CHANNEL d1 DEVICE TYPE sbt;

rman>RESTORE CONTROLFILE;

rman>MOUNT DATABASE;

rman>restore database;

rman>recover database;

rman>release channel d1;

rman>}

测试结果

主机名passfail

6.SQL database恢复测试

在测试机上对SQL数据库进行一次备份和恢复测试,备份全数据库

a.准备工作

1.为测试机安装SQL数据库

2.为测试机安装NetBackup客户端和数据库agent,配置测试数据库的备份

3.为该测试机建立一个备份数据库的测试备份策略,挑选磁带放在test_pool中。配置bch备份脚本

4.确认网络正常

5.确认NetBackup Master server正常运行

b.测试方法

1.立刻启动备份策略,确认备份进程正常mount磁带,写磁带并以状态0结束

2.删除一个database

3.恢复这个database

4.删除master库

5.重建master库并恢复所有database

c.清理工作

删除建立的测试备份策略,删除test_pool

d.出错处理方法

根据NetBackup Trouble shooting文档资料对错误状态进行分析,纠正错误配置后重新进行测试

7.BMR AIX恢复测试

主要是测试BMR能够完整地恢复AIX系统

1.在测试机安装BMR client

安装BMR客户端

在AIX上运行

# installp -acXd  BareMetal.client

2.对BMR客户端打patch

上传BMR的patch到/tmp目录

#$BMRDIR/bmrpatchclient -f

3.配置BMR客户端

运行/usr/lpp/BareMetal/bmrsetupclient

a. Enter BMR server’s hostname:

输入BMR server的主机名

b. Enter the BMR server port number [8362]:

输入BMR server的通信端口号

c. 如果NetBackup的 bpstart_notify不存在,就会出现如下提示:

The BMR command bmrsavecfg must be run before each backup of

this system.

The NetBackup client will run a bpstart_notify script from

/usr/openv/netbackup/bin.

Automatically generate bpstart_notify script? [y]

回答y

4.创建NetBackup备份OS的备份策略

该策略必须在属性一页选择”True Image Recover”和”with move detection”选项

5.测试方法

方法1:在BMR的WEB 图形界面上选中测试客户端,选择AIX为boot image,选择”prepare to restore”,选择只恢复系统卷(rootvg)

将AIX操作系统启动,按F1或F5根据提示修改网关,BMR服务器,端口等信息,选择OK后开始恢复。恢复过程中可以通过BMR server上的/var/bmr/logs/来监控恢复过程

恢复完后自动重起,系统就恢复正常

方法2:在BMR的WEB 图形界面上选中测试客户端,选择AIXCD为boot image,选择”prepare to restore”,选择只恢复系统卷(rootvg)

将生成的启动光盘塞入光驱

将AIX操作系统启动, 按F1或F5根据提示启动到光盘启动

选择OK后开始恢复。恢复过程中可以通过BMR server上的/var/bmr/logs/来监控恢复过程

恢复完后自动重起,系统就恢复正常

8.BMR Windows恢复测试

主要是测试BMR能够完整地恢复Windows系统

1.在Windows上安装BMR client

安装BMR客户端

2.对BMR客户端打patch

上传BMR的patch到c:\ep目录

使用图形界面打patch

3.配置BMR客户端

使用图形界面配置客户端

4.创建NetBackup备份OS的备份策略

该策略必须在属性一页选择”True Image Recover”和”with move detection”选项

5.测试方法

方法1:在BMR的WEB 图形界面上选中Windows客户端,选择WIN boot image为boot image,选择”prepare to restore”

将生成好的customized软盘插入,启动系统,根据提示恢复系统

恢复完后自动重起,系统就恢复正常

方法2:在BMR的WEB 图形界面上选中Windows客户端,选择WIN CD boot image为boot image,选择”prepare to restore”

将生成好的customized media boot软盘和光盘插入,启动系统,根据提示恢复系统

恢复完后自动重起,系统就恢复正常

方法3:在BMR的WEB 图形界面上选中Windows客户端,选择WIN boot image为boot image,选择”prepare to restore”

将生成好的generic软盘插入,启动系统,根据提示恢复系统

恢复完后自动重起,系统就恢复正常

9.Vault的全备份恢复测试

对测试机进行一次备份和vault操作,然后进行恢复测试,备份一个小目录,恢复到本机

a.准备工作

为测试机建立一个备份/usr/openv的测试备份策略,备份都通过网络写到shwp0007上的带库中,挑选若干盘磁带放在test_pool中。

确认该机器/tmp目录下有400MB以上的空间。

确认网络正常

确认NetBackup Master server正常运行

b.测试方法

立刻启动备份策略,确认备份进程正常mount磁带,写磁带并以状态0结束

建立vault备份策略将磁带复制后弹出

使用bpchangeprimary将拿出的磁带设置为primary

在恢复GUI中找到刚才备份的数据,恢复该目录到/tmp目录下,会提示需要的磁带,将磁带放入后进行恢复

c.清理工作

删除建立的测试备份策略,删除test_pool,删除/tmp下恢复出的数据

d.出错处理方法

根据NetBackup Trouble shooting文档资料对错误状态进行分析,纠正错误配置后重新进行测试

测试结果:

主机名passfail

10.Vault的全备份和增量备份恢复测试

对测试机的oracle数据库进行一次全备份和vault操作,再进行增量备份和vault操作,然后进行恢复测试,备份一个小目录,恢复到本机

a.准备工作

为测试机的数据库建立全备份和增量备份的测试备份策略,备份都通过网络写到shwp0007上的带库中,挑选若干盘磁带放在test_pool中。

确认网络正常

确认NetBackup Master server正常运行

b.测试方法

立刻启动全备份的备份策略,确认备份进程正常mount磁带,写磁带并以状态0结束

建立vault备份策略将磁带复制后弹出

再启动增量备份的备份策略,确认备份进程正常mount磁带,写磁带并以状态0结束

建立vault备份策略将磁带复制后弹出

使用bpchangeprimary将拿出的磁带设置为primary

恢复时可以看到在使用拿出的磁带

c.清理工作

删除建立的测试备份策略,删除test_pool,删除/tmp下恢复出的数据

d.出错处理方法

根据NetBackup Trouble shooting文档资料对错误状态进行分析,纠正错误配置后重新进行测试

测试结果:

主机名passfail

文档

NetBackup 恢复手册

StrategicServicesforStorageandStorageManagementXX基金NetBackup恢复手册PRESENTEDBY:VERITASEnterpriseConsultingServices1600PlymouthStreetMountainView,CA9404322Feb2004目录1.文件本机恢复测试32.本地恢复操作系统测试53.文件异机恢复测试.oracle数据库文件毁坏恢复测试85.oracle数据库控制文件毁坏恢复测试176.SQLdataba
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top