/ 中存储网

NBU 7.0 Oracle for AIX安装配置手册

2016-02-19 13:05:34 来源:中存储网

NBU 7.0 Oracle for AIX安装配置手册,详细介绍了NBU 7.0 AIX客户端安装配置,包括Oracle的备份配置。

一、NBU 7.0 AIX客户端安装配置

1、先设置客户端的hosts文件,包括备份服务器的hosts也要对应双向解析。

#[root@p550b:/]#more /etc/hosts

127.0.0.1               loopback localhost      # loopback (lo0) name/address

10.10.10.1   p550a_boot1   p550a

20.20.20.1   p550a_boot2

172.16.1.7   p550a_per

10.10.10.2   p550b_boot1   p550b

20.20.20.2   p550b_boot2

172.16.1.8   p550b_per

172.16.1.9   ora_svr

=====NBU backup server=====

172.16.1.242  hpdl380-backup 

2、#放入NBU 7.0 For AIX光盘,在系统挂载安装盘

[root@p550a:/dev]#mount -v cdrfs -o ro /dev/cd0 /mnt

挂载ISO镜像

#loopmount -i /tmp/nbu/NB_7.0_AIX64.ISO -m /mnt -o  "-V cdrfs -o ro"

3、执行安装,并选择2客户端安装,提示选择Y继续

 [root@p550a:/mnt]#./install

然后根据提示输入备份服务器的名称hpdl380-backup(一定要为备份服务器名,不建议用IP), 提示选择Y继续

选择后则开始安装软件如下:

安装结束后选择3退出

#p#副标题#e#

4、修改客户端NBU配置参数

[root@p550b:/usr/openv/netbackup]#vi bp.conf

修改双机HACMP系统一台P550的/usr/openv/netbackup/bp.conf配置文件信息

SERVER = hpdl380-backup

CLIENT_NAME = p550a

改为

SERVER = hpdl380-backup

CLIENT_NAME = ora_svr

REQUIRED_INTERFACE = ora_svr

5、修改客户端oracle数据库为归档模式

[root@p550b:/usr/openv/netbackup]#su - oracle

[oracle@p550b:/home/oracle]$sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.4.0 - Production on Fri Feb 25 15:48:48 2011

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            /oracle/product/10.2.0/dbs/arch

Oldest online log sequence     255

Next log sequence to archive   257

Current log sequence           257

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount;

ORACLE instance started.

Total System Global Area 1610612736 bytes

Fixed Size                  2084400 bytes

Variable Size             436208080 bytes

Database Buffers         1157627904 bytes

Redo Buffers               14692352 bytes

Database mounted.

SQL> alter database archivelog;

Database altered.

SQL> alter system set log_archive_dest_1='location=/archlog' scope=spfile;

System altered.

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

Total System Global Area 1610612736 bytes

Fixed Size                  2084400 bytes

Variable Size             436208080 bytes

Database Buffers         1157627904 bytes

Redo Buffers               14692352 bytes

Database mounted.

Database opened.

SQL> archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            /archlog

Oldest online log sequence     255

Next log sequence to archive   257

Current log sequence           257

SQL> create pfile from spfile;

File created.

至此oracle数据库归档开启完成;

6、oracle用户执行备份软件NBU和oracle数据库连接库程序oracle_link

[root@p550b:/]#su - oracle

[oracle@p550b:/home/oracle]$cd /usr/openv/netbackup/bin

[oracle@p550b:/usr/openv/netbackup/bin]$./oracle_link

提示选择Y继续

至此NBU的oracle数据库客户端安装完成;#p#副标题#e# 

二、NBU 7.0 AIX客户端脚本配置

1、  先创建相关目录和文件

[root@p550b:/]#cd /usr/openv

[root@p550b:/usr/openv]#mkdir controlfile

[root@p550b:/usr/openv]#mkdir orascripts

[root@p550b:/usr/openv]#cd controlfile

[root@p550b:/usr/openv/controlfile]#touch control.ora

[root@p550b:/usr/openv/controlfile]#cd ..

[root@p550b:/usr/openv]#cd orascripts

[root@p550b:/usr/openv/orascripts]#touch aix_ora_full.sh

2、  相关目录和文件赋予属主和权限

[root@p550b:/usr/openv/orascripts]#cd ..

[root@p550b:/usr/openv]#ls -l

total 72

drwxr-xr-x    2 root     system          256 Feb 25 16:03 controlfile

drwxr-xr-x    5 root     bin            4096 Feb 25 15:40 java

drwxr-xr-x    7 root     bin            8192 Feb 25 15:37 lib

drwxr-xr-x    5 root     system          256 Feb 25 15:40 logs

drwxr-xr-x    2 root     bin             256 Jan 05 2010  msg

drwxr-xr-x    8 root     bin            4096 Feb 25 15:40 netbackup

drwxr-xr-x    2 root     system          256 Feb 25 16:04 orascripts

-r--r--r--    1 root     bin            5435 Feb 25 15:40 regid.1992-11.com.symantec,Enterprise_netbackup-7.0.0.0_1.swidtag

drwxr-xr-x    2 root     bin            4096 Jan 05 2010  resources

drwxr-xr-x    2 root     bin             256 Jan 05 2010  share

-r--r--r--    1 root     bin            5435 Jan 05 2010  swidtag.xml

drwxr-xr-x    2 root     bin             256 Feb 25 15:43 tmp

drwxr-xr-x    5 root     bin             256 Feb 25 15:37 var

[root@p550b:/usr/openv]#chown -R oracle:dba controlfile

[root@p550b:/usr/openv]#chmod -R 777 controlfile

[root@p550b:/usr/openv]#chown -R oracle:dba orascripts

[root@p550b:/usr/openv]#chmod -R 777 orascripts

[root@p550b:/usr/openv]#ls -l

total 72

drwxrwxrwx    2 oracle   dba             256 Feb 25 16:03 controlfile

drwxr-xr-x    5 root     bin            4096 Feb 25 15:40 java

drwxr-xr-x    7 root     bin            8192 Feb 25 15:37 lib

drwxr-xr-x    5 root     system          256 Feb 25 15:40 logs

drwxr-xr-x    2 root     bin             256 Jan 05 2010  msg

drwxr-xr-x    8 root     bin            4096 Feb 25 15:40 netbackup

drwxrwxrwx    2 oracle   dba             256 Feb 25 16:04 orascripts

-r--r--r--    1 root     bin            5435 Feb 25 15:40 regid.1992-11.com.symantec,Enterprise_netbackup-7.0.0.0_1.swidtag

drwxr-xr-x    2 root     bin            4096 Jan 05 2010  resources

drwxr-xr-x    2 root     bin             256 Jan 05 2010  share

-r--r--r--    1 root     bin            5435 Jan 05 2010  swidtag.xml

drwxr-xr-x    2 root     bin             256 Feb 25 15:43 tmp

drwxr-xr-x    5 root     bin             256 Feb 25 15:37 var#p#副标题#e#

3、  编辑NBU备份数据库的Rman脚本aix_ora_full.sh

[root@p550b:/usr/openv/orascripts]#vi aix_ora_full.sh

粘贴如下内容(完全备份oracle数据库和归档日志,并删除备份好的归档日志,注意修改实例名oracle_sid和oracle_home和实际环境一致)

=================================================================

#!/bin/sh

# $Header: hot_database_backup.sh,v 1.9 2002/02/06 16:48:56 lstrub Stab $

#

#bcpyrght

#***************************************************************************

#* $VRTScprght: Copyright 1993 - 2002 VERITAS Software Corporation, All Rights Reserved $ *

#***************************************************************************

#ecpyrght

#

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

#                       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 <this file name>.out. Change as desired.

# Note: output directory requires write permission.

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

RMAN_LOG_FILE=${0}.`date +%Y%m%d%H%M%S`.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=/oracle/product/10.2.0

export ORACLE_HOME

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

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

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

ORACLE_SID=orclyw

export ORACLE_SID

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

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

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

ORACLE_USER=oracle

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

# Set the target connect string.

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

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

TARGET_CONNECT_STR= /

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

# 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 <userid>/<passwd>@<tns alias>' 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.

#

#

#  NOTE WHEN USING TNS ALIAS: When connecting to a database

#  using a TNS alias, you must use a send command or a parms operand to

#  specify environment variables.  In other words, when accessing a database

#  through a listener, the environment variables set at the system level are not

#  visible when RMAN is running.  For more information on the environment

#  variables, please refer to the NetBackup for Oracle Admin. Guide.

#

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

CMD_STR="

ORACLE_HOME=$ORACLE_HOME

export ORACLE_HOME

ORACLE_SID=$ORACLE_SID

export ORACLE_SID

$RMAN target / nocatalog msglog $RMAN_LOG_FILE append << EOF

RUN {

ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';

SEND 'NB_ORA_POLICY=aix_ora_full';

BACKUP

    $BACKUP_TYPE

    SKIP INACCESSIBLE

    TAG hot_db_bk_level0

    FILESPERSET 30

    # recommended format

    FORMAT 'bk_%s_%p_%t'

    DATABASE;

    sql 'alter system archive log current';

RELEASE CHANNEL ch00;

# backup all archive logs

ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';

SEND 'NB_ORA_POLICY=aix_ora_full';

BACKUP

   filesperset 20

   FORMAT 'al_%s_%p_%t'

   ARCHIVELOG ALL DELETE INPUT;

RELEASE CHANNEL ch00;

#

# 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;

ALLOCATE CHANNEL ch00 TYPE DISK ;

COPY

    CURRENT CONTROLFILE to '/usr/openv/controlfile/control.ora';

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"

/usr/openv/netbackup/bin/bpbackup -p oracle_control_file -s user -t 0 /usr/openv/controlfile/control.ora

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

==================================================================

[root@p550b:/usr/openv/orascripts]#ls -l

total 32

-rwxrwxrwx    1 oracle   dba           11764 Feb 25 16:12 aix_ora_full.sh

至此NBU的oracle数据库客户端脚本设置完成;#p#副标题#e# 

三、NBU 7.0 Catalog目录库备份设置

NBU安装后需要设置一个catalog目录备份作业,已保证NBU备份内部数据库损坏可以还原。

1、先创建好三个存储单元,catalog、NBUdiskcontrol、NBUdiskoracle

新建策略,并使用备份向导,策略名称为catalog

选择策略类型为NBU-Catalog

选择完全备份

默认完全备份执行间隔一周,如下图

默认启动时间段全选

在本地其他目录选择个灾难恢复位置,相当于异地再保存一份,可以为本地或异地位置

本例为本地磁盘E:NBUdiskcatalogrecovery

邮件选择否,如下图

下一步点击完成即可,如下图

至此NBU的catalog目录库备份设置完成;#p#副标题#e#

四、NBU 7.0 oracle for aix备份作业设置

NBU备份客户端需要设置两个策略,一个备份oracle的控制文件oracle_control_file

另一个为oracle的全库备份aix_ora_full

1、在备份服务器上新建一个为策略名oracle_control_file,(选择类型为standard)

(选择类型为standard)

并且里面日程表名称为user,为用户备份模式,和脚本 -s user 对应就可以了

 启动时段为全部时间段

输入客户端为虚拟节点名称ora_svr,并选择对应操作系统版本

选择刚创建的control.ora文件,位置/usr/openv/controlfile/control.ora

确定选择后如图

2、在备份服务器上新建一个为策略名aix_ora_full,(选择类型为oracle)

日程表名称也为aix_ora_full,保留一个月

启动时间段为每天20:00开始备份,到早上6:00为备份时间窗口

日历计划选择全置,相当于每天的晚上20:00开始做一个完全备份

设置好后如下图,Default-Application-Backup为默认有的,不用设置,只要根据备份数据保留周期,修改保留周期即可。

客户端还是输入虚拟节点名称ora_svr,并选择对应操作系统版本

备份内容为另外创建好的数据库全备脚本aix_ora_full.sh即可。

可以手工备份发起测试。

至此NBU备份oracle for aix作业策略设置完成;