Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3385986
  • 博文数量: 631
  • 博客积分: 10716
  • 博客等级: 上将
  • 技术积分: 8397
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-01 22:35
文章分类

全部博文(631)

文章存档

2020年(2)

2019年(22)

2018年(4)

2017年(37)

2016年(22)

2015年(1)

2013年(12)

2012年(20)

2011年(19)

2010年(20)

2009年(282)

2008年(190)

分类: 系统运维

2013-07-13 20:49:09

1.环境描述
    单机安装 tsm server , tsm client , tdp for oracle 和 oracle 10g, 实现在本地备份oracle。

2. 系统配置规划
2.1 服务器说明
服务器    IP地址    操作系统    角色
Bo.work    127.0.0.1    Fedora 10    备份服务器
数据库服务器
备份客户端

2.2 数据库服务器情况表
服务器名    ORACL版本    SID
Bo.work    ORACLE 10.2.0.1    sid1

2.3 TSM 部署说明
角色    服务器    备注
Tsm server    Bo.work    TSM 备份服务器
Tsm client    Bo.work    TSM 备份客户端
TSM TDP for oracle    Bo.work    Oracle 备份程序

2.4 TSM 服务器配置
TSM服务器环境
TSM服务器名称    TSM_BO
TSM服务器密码    tsm
TSMIP地址(hladdress)    127.0.0.1
TSM通信端口 (lladdress)    1500
管理员admin密码    admin
软件安装路径    /opt/tivoli/tsm/Server

2.5 备份设备
设备类
设备类名    Library    Driver    设备类型    Path
cls_dsk    FILELIB    FILELIB1    FILE    /backup/
cls_dsk    FILELIB    FILELIB2    FILE    /backup/

顺序卷
设备类名    库    设备类型    卷名    容量大小
cls_dsk    FILELIB    FILE    /backup/vol01.dsm    200M
cls_dsk    FILELIB    FILE    /backup/vol02.dsm    200M
cls_dsk    FILELIB    FILE    /backup/vol03.dsm    200M
cls_dsk    FILELIB    FILE    /backup/vol04.dsm    200M
cls_dsk    FILELIB    FILE    /backup/vol05.dsm    200M

2.6 备份池
存储池名称    所属设备类    ACCESS    COLLOCATE    最大临时卷数
MAXSCRATCH    
REUSEDELAY    
DATAFORMAT
stgpool    Cls_dsk    READWRITE    NO    20    0    NATIVE

2.7 顺序卷分配
存储池名称    当前定义卷
stgpool    /backup/vol01.dsm
    /backup/vol02.dsm
    /backup/vol03.dsm
    /backup/vol04.dsm
    /backup/vol05.dsm

2.8 备份域
节点名    策略域    策略集    管理类    副本组    目的存储池    备份模式
ora_node    ora_dm    ora_policy    oramgmt    standard    stgpool    绝对

2.9 复制组设置
复制组    目的存储池    verexist    verdelete    retextra    retonly    备份模式
mode
copygroup    stgpool    1    0    0    0    absolute

2.10 备份调度策略
调度节点    调度任务    策略域    调度周期    调度时间    执行脚本
Ora_node    full_backup    oradomain    每周日    23:00    /backup/full_backup.sh
Ora_node    Log_backup    oradomain    每天    12:30    /backup/log_backup.sh
Ora_node    Del_backup    oradomain    每天    06:00    /backup/del_backup.sh

2.11 TSM节点定义
节点名    密码    策略域    backdel    compress
ora_node    ora_node    fsdomain    yes    yes

2.12 TSM节点调度策略
调度节点    调度任务    策略域
ora_node    full_backup    fsdomain
ora_node    Log_backup    fsdomain
ora_node    Del_backup    fsdomain

3. 实验步聚
3.1 软件安装
3.1.1 TSM Server安装
#rpm -ihv TIVsm-license-5.5.0-0.i386.rpm
#rpm -ihv TIVsm-tsmscsi-5.5.0-0.i386.rpm
#rpm -ihv TIVsm-server-5.5.0-0.i386.rpm

3.1.2 TSM Client安装
#rpm -ihv TIVsm-API.i386.rpm
#rpm -ihv TIVsm-BA.i386.rpm
#rpm -ihv TIVsm-msg.zh_CN.i386.rpm

3.1.3 TDP for oracle安装
# /mnt/oracle/linux86/5.4.1.0-TIV-TSMORA-LinuxX86.bin -console

3.2 TSM Server 初始化
3.2.1 初始化环境变量
编缉 /etc/enviroments,增加 tsm server 、tsm client和 tsm api 环境变量
TSM Server 环境:
DSMSERV_CONFIG=/opt/tivoli/tsm/server/bin/dsmserv.opt
DSMSERV_DIR=/opt/tivoli/tsm/server/bin
DSMSERV_LOG=/opt/tivoli/tsm/server/bin/dsmserverror.log

3.2.2 dsmserv.opt 配置
清单:/opt/tivoli/tsm/server/bin/dsmserv.opt
*** IBM TSM Server options file
*** Refer to dsmserv.opt.smp for other options
COMMMETHOD TCPIP
TCPPORT 1500

COMMMETHOD SHAREDMEM
COMMTimeout 3600
IDLETimeout 3600

DEVCONFIG devcnfg.out

3.2.3 启动TSM Server
# nohup dsmserv &

3.2.4 定义TSM 卷
在系统中定义TSM卷
#dsmfmt -m date /opt/tivoli/vol/vol01.dsm 200 /opt/tivoli/vol/vol02.dsm 200 /opt/tivoli/vol/vol03.dsm 200 /opt/tivoli/vol/vol04.dsm 200 /opt/tivoli/vol/vol05.dsm 200 

也可以后期在tsm 中定义,如下:
tsm: TSM_BO>define vol STG_ORA /opt/tivoli/vol/vol01.dsm formatsize=200
tsm: TSM_BO>define vol STG_ORA /opt/tivoli/vol/vol02.dsm formatsize=200
tsm: TSM_BO>define vol STG_ORA /opt/tivoli/vol/vol03.dsm formatsize=200
tsm: TSM_BO>define vol STG_ORA /opt/tivoli/vol/vol04.dsm formatsize=200
tsm: TSM_BO>define vol STG_ORA /opt/tivoli/vol/vol05.dsm formatsize=200

3.3 TSM Client配置
3.3.1 初始化环境变量
编缉 /etc/enviroments,增加tsm client环境变量
·TSM Client 环境:
DSM_CONFIG=/opt/tivoli/tsm/client/ba/bin/dsm.opt
DSM_DIR=/opt/tivoli/tsm/client/ba/bin/
DSM_LOG=/opt/tivoli/tsm/client/ba/bin/dsmbaerror.log
     
3.3.2 TSM客户机配置
1、编辑dsm.opt文件,加入内容如下:
Servername    tsm_bo
2、编辑dsm.sys文件,修改和加入如下内容:
清单 dsm.sys 内容
SErvername tsm_bo
COMMMethod       TCPip
TCPPort                1500
TCPServeraddress   127.0.0.1
Nodename            ora_node
passwordaccess      generate
passworddir          /opt/tivoli/tsm/client/ba/bin/


3.4 TSM 服务器配置
1、登录TSM Server
#dsmadmc
IBM Tivoli Storage Manager
Command Line Administrative Interface - Version 5, Release 5, Level 0.0
(c) Copyright by IBM Corporation and other(s) 1990, 2007. All Rights Reserved.
Enter your user id: admin
Enter your password: admin
session  established with server TSM_BO: Linux/x86_64
Server Version 5, Release 5, Level 0.0
Server date/time: 12/25/2008 11:48:32 Last access: 12/25/2008 11:32:55
tsm: TSM_BO>

2、注册TSM许可证
tsm: TSM_BO>register license file=*.lic
3、设置日志回滚模式
tsm: TSM_BO>set logmode rollforward
4、设置口令永不过期
tsm: TSM_BO>set passexp 9999
5、设备服务器名
tsm: TSM_BO>set servername tsm_bo
6、设置服务器密码
tsm: TSM_BO>set serverpassword admin
7、扩大数据卷
tsm: TSM_BO>define dbvol /opt/tivoli/tsm/server/bin/db01.dsm formatsize=16 wait=yes
8、扩大日志卷
tsm: TSM_BO>define logvol /opt/tivoli/tsm/server/bin/log01.dsm formatsize=16 wait=yes
9、定义库
tsm: TSM_BO>define library FileLib libtype=file share=yes
10、定义设备类
tsm: TSM_BO>DEFINE DEVCLASS cls_dsk DEVTYPE=file directory="/opt/tivoli/vol" shared=yes mountlimit=2 library=filelib
11、定义oracle存储池pool
tsm: TSM_BO>DEFINE STGPOOL stg_ora cls_dsk ACCESS=READWRITE COLLOCATE=NO MAXSCRATCH=20 REUSEDELAY=0 DATAFORMAT=NATIVE
12、定义文件系统存储池pool
tsm: TSM_BO>DEFINE STGPOOL stg_fs cls_dsk ACCESS=READWRITE COLLOCATE=NO MAXSCRATCH=20 REUSEDELAY=0 DATAFORMAT=NATIVE
13、定义vol到stg_ora存储池
tsm: TSM_BO>DEFINE VOLUME stg_ora vol01.dsm ACCESS=READWRITE
tsm: TSM_BO>DEFINE VOLUME stg_ora vol02.dsm ACCESS=READWRITE
tsm: TSM_BO>DEFINE VOLUME stg_ora vol03.dsm ACCESS=READWRITE
tsm: TSM_BO>DEFINE VOLUME stg_ora vol04.dsm ACCESS=READWRITE
tsm: TSM_BO>DEFINE VOLUME stg_ora vol05.dsm ACCESS=READWRITE
14、定义策略域oradomain
tsm: TSM_BO>define domain oradomain
15、定义策略集orapolicy
tsm: TSM_BO>define policyset oradomain orapolicy
16、定义管理类oramgmt
tsm: TSM_BO>define mgmtclass oradomain orapolicy oramgmt
17、定义备份副本组
tsm: TSM_BO>define copygroup oradomain orapolicy oramgmt standard destination=stg_ora verexist=1 verdelete=0 retextra=0 retonly=0 mode=absolute
18、定义默认管理类
tsm: TSM_BO>assign defmgmtclass oradomain orapolicy oramgmt
19、激活默认策略集
tsm: TSM_BO>activate policyset oradomain orapolicy
20、注册ora_node节点
tsm: TSM_BO>register node ora_node ora_node backdel=yes compress=yes domain=oradomain
21、注册fs_node节点
tsm: TSM_BO>register node fs_node ora_node backdel=yes compress=yes domain=oradomain

3.5 TDP for oracle配置
1、编缉 /etc/enviroments,增加 tsm api 环境变量
·TSM API Client 环境:
DSMI_CONFIG=/opt/tivoli/tsm/client/api/bin64/dsm.opt
DSMI_DIR=/opt/tivoli/tsm/client/api/bin64/log
DSMI_LOG=/opt/tivoli/tsm/client/api/bin64/dsmapierror.log

2、配置dsm.opt、dsm.sys文件
清单 /opt/tivoli/tsm/client/api/bin64/dsm.opt 内容
SErvername tsm_bo


清单 /opt/tivoli/tsm/client/api/bin64/dsm.sys 内容
SErvername tsm_bo
COMMMethod       TCPip
TCPPort                1500
TCPServeraddress   127.0.0.1
Nodename            ora_node
Passwordaccess        prompt
compression        yes


3、设置dsm.opt和dsm.sys权限
#chmod 777 /opt/tivoli/tsm/client/ba/bin/dsm.sys
#chmod 777 /opt/tivoli/tsm/client/ba/bin/dsm.opt

4、编辑tdpo.opt文件,修改如下内容
清单 Tdpo.opt 内容
DSMI_ORC_CONFIG   /opt/tivoli/tsm/client/api/bin64/dsm.opt
DSMI_LOG            /opt/tivoli/tsm/client/api/bin64/log
TDPO_NODE         ora_node

注:
/opt/tivoli/tsm/client/api/bin64/dsm.opt oracle 用户必须 有权读取
/opt/tivoli/tsm/client/api/bin64/dsm.sys oracle 用户必须 有权读取
opt/tivoli/tsm/client/api/bin64/log oracle 用户必须 有权写和读取

5、链接库文件
ln -sf /opt/tivoli/tsm/client/oracle/bin64/libobk.so /usr/lib64/libobk.so
    chmod 777 /usr/lib64/libobk.so
    chmod 777 /opt/tivoli/tsm/client/oracle/bin64/libobk.so
注:
/usr/lib64/libobk.so oracle 用户必须有权读取执行
/opt/tivoli/tsm/client/oracle/bin64/libobk.so oracle 用户必须有权读取执行

6、设置tsm服务器并修改密码
#su - root
    cd /opt/tivoli/tsm/client/oracle/bin64
./tdpoconf password

IBM Tivoli Storage Manager for Databases:
Data Protection for Oracle
Version 5, Release 4, Level 1.0
(C) Copyright IBM Corporation 1997, 2007. All rights reserved.

***************************************************************
*   IBM Tivoli Storage Manager for Databases Utility 
*   Password file initialization/update program 
***************************************************************

Please enter current password:
Please enter new password:
Please reenter new password for verification:
ANU0260I Password successfully changed.

7、修改文件夹权限
#chmod –R 777 /opt/tivoli/tsm/client
#chmod –R 777 /home/oracle/tdpo
8、检查tdp的配置是否正确。
#cd /opt/tivoli/tsm/client/oracle/bin64
#./tdpoconf showenvironment

IBM Tivoli Storage Manager for Databases:
Data Protection for Oracle
Version 5, Release 4, Level 1.0
(C) Copyright IBM Corporation 1997, 2007. All rights reserved.
Data Protection for Oracle Information
Version:              5
Release:              4
Level:                1
Sublevel:             0
Platform:             64bit TDP Oracle AIX

Tivoli Storage Manager Server Information
Server Name:          ST_TSM_SERVER
Server Address:       10.151.131.40
Server Type:          Windows
Server Port:          1502
Communication Method: TCP/IP

SessionInformation
Owner Name:           
Node Name:            yxdb
Node Type:            TDP Oracle AIX
DSMI_DIR:             /opt/tivoli/tsm/client/api/bin64
DSMI_ORC_CONFIG:      /opt/tivoli/tsm/client/oracle/bin64/dsm.opt
TDPO_OPTFILE:         /opt/tivoli/tsm/client/oracle/bin64/tdpo.opt
Password Directory:   /opt/tivoli/tsm/client/oracle/bin64
Compression:          TRUE
License Information: License file exists and contains valid license data.


3.6 编写备份脚本
1. 创建备份脚本和日志文件夹
#mkdir -p /backup/logs
#mkdir -p /backup/scr
#chmod 777 /backup/logs
#touch /backup/full_backup.sh
#touch /backup/log_backup.sh
#touch /backup/del_backup.sh
#touch /backup/scr/full_backup.rman
#touch /backup/scr/log_backup.rman
#touch /backup/scr/del_backup.sh
#chmod u+x,o+x,g+x /backup/*.sh
#chmod 777 /backup/scr/*.rman

2. 全备份脚本 /backup/full_backup.sh
清单 full_backup.sh 内容
log=/backup/logs/full_backup_`date +%y%m%d`.log
cmd=/backup/scr/full_backup.rman
echo `date` > $log
chmod 777 $log
su - oracle -c "
rman target / catalog rman/rman@rman cmdfile=$cmd msglog=$log"
echo `date` >> $log
strRet=''
strRet=`awk '/ERROR MESSAGE/' $log`
if [ -z "$strRet" ] ;
then
exit 0 ;
else
exit 1 ;
fi


3. 全备份RMAN脚本:/backup/scr/full_backup.rman
run {
allocate channel c1 type 'sbt_tape' ;
allocate channel c2 type 'sbt_tape' ; 
send 'ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
backup full tag "FULL_BACKUP" format "DB_%d_%s_%I_%T_%t_%U.bak" database include current controlfile spfile;
sql "alter system archive log current";
backup tag "LOG_BACKUP" format "LOG_%d_%s_%I_%T_%t_%U.bak" archivelog all delete input skip inaccessible;
release channel c1;
release channel c2;
}

4. 归档备份脚本:/backup/log_backup.sh
log=/backup/logs/log_backup_`date +%y%m%d`.log
cmd=/backup/scr//log_backup.rman
echo `date` > $log
chmod 777 $log
su - oracle -c "
rman target / catalog rman/rman@rman cmdfile=$cmd msglog=$log"
echo `date` >> $log
strRet=''
strRet=`awk '/ERROR MESSAGE/' $log`
if [ -z "$strRet" ] ;
then
exit 0 ;
else
exit 1 ;
fi


5.归档备份RMAN脚本:/backup/scr/log_backup.rman
run {
allocate channel c1 type 'sbt_tape' ;
allocate channel c2 type 'sbt_tape' ;
Send 'ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
sql "alter system archive log current";
backup tag "LOG_BACKUP" format "LOG_%d_%s_%I_%T_%t_%U.bak" archivelog all delete input skip inaccessible;
release channel c1;
release channel c2;
}

6. 删除过期备份脚本:/backup/delete_backup.sh
log=/backup/logs/log_backup_`date +%y%m%d`.log
cmd=/backup/scr/delete_backup.rman
echo `date` > $log
chmod 777 $log
su - oracle -c "
rman target / catalog rman/rman@rman cmdfile=$cmd msglog=$log"
echo `date` >> $log
strRet=''
strRet=`awk '/ERROR MESSAGE/' $log`
if [ -z "$strRet" ] ;
then
exit 0 ;
else
exit 1 ;
fi


7. 删除过期备份RMAN脚本:/backup/scr/delete_backup.rman
allocate channel for maintenance device type 'sbt_tape' ;
send 'ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
crosscheck backup;
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt expired archivelog all;
delete noprompt obsolete;
release channel;


3.7 设置备份调度
根据备份调度策略,在TSM服务器端的管理命令行对调度进行定义:
1、定义full_backup调度任务
tsm: TSM_BO>define schedule oradomain full_backup action=command object=/backup/full_backup.sh startdate=08/12/2008 starttime=12:10:00 duration=5 durunits=min period=1 perunits=Hours dayofweek=any expiration=never
2、定义log_backup_morning调度任务
tsm: TSM_BO>define schedule oradomain log_backup action=command object=/backup/log_backup.sh startdate=12/12/2008 starttime=12:20:00 duration=5 durunits=min period=1 perunits=Hours dayofweek=any expiration=never
3、定义delete_backup调度任务
tsm: TSM_BO>define schedule oradomain del_backup action=command object=/backup/del_backup.sh startdate=12/12/2008 starttime=12:30:00 duration=5 durunits=min period=1 perunits=Hours dayofweek=any expiration=never
4、定义expire调度任务
define schedule expire type=administrative cmd=”expire inventory” 
active=yes startdate=12/12/2008 starttime=12:40:00 duration=5 durunits=min period=1 perunits=Hours dayofweek=any expiration=never
5、分配各个调度任务到ora_node节点
tsm: TSM_BO>define association oradomain full_backup ora_node
tsm: TSM_BO>define association oradomain log_backup ora_node
tsm: TSM_BO>define association oradomain del_backup ora_node

3.8 启动调度
1. 初始化dsmc 密码,根据提示输入节点名和密码后退出
#dsmc sch 

2. 后台启动dsmc 
#nohup dsmc sch &

4. 设置RMAN备份策略
RMAN target /
CONTROL_FILE_RECORD_KEEP_TIME = 31

5.错误解决
5.1 错误1
/opt/tivoli/tsm/client/oracle/bin64/tdpoconf password
/opt/tivoli/tsm/client/oracle/bin64/tdpoconf showenv
总是报如下错误:
IBM Tivoli Storage Manager for Databases:
Data Protection for Oracle
Version 5, Release 2, Level 0.0
(C) Copyright IBM Corporation 1997, 2003. All rights reserved.
ANS1035S (RC406) Options file '*' could not be found.
原因:
DSMI_ORC_CONFIG 配置的文件不存在

解决方法
生成/usr/tivoli/tsm/client/ba/bin/dsm.opt

5.2 错误2
执行#d smsta & 后报以下错误
ANR0456W Sessionrejected for TSM server name at 127.0.0.1 1500 does not match.
ANR3602E Unable to communicate with database server.

原因:
Tsm server 主机名定义错误

解决方法:重新定义
#dsmsta setstorageserver myname=tsm_sta mypassword=tsm_sta myhladdress=127.0.0.1 servername=tsm serverpassword=tsm hladdress=127.0.0.1 lladdress=1500

5.3 错误3
Oracle 备份时,出错,
ORA-19511 :Error received rom media manager lay, error text:
ANS1017E(RC-50) Sessionrejected:TCP/IPconnectionfailure
Sessionrejected:TCP/IPconnectionfailure

原因:
备份时间过长,连接超时

解决方法:
修改dmserv.opt文件, 调整超时时间
COMMTimeout 3600
IDLETimeout 3600

5.4 RMAN 备份时错
执行rman 脚本,提示错误如下:
ORA-16014: log 1 sequence# 1085 not archived, no available destinations
ORA-00312: online log 1 thread 1: /usr/app/oracle/oradata/wanyan/redo01.log'

原因:
      归档日志闪回恢复区的2G都被写满了.
解决:
     据数据库目前可用存储空间为200GB、FLASH_RECOVERY_AREA空间为2GB的实际情况,把FLASH_RECOVERY_AREA的空间修改为20GB。
    alter system set DB_RECOVERY_FILE_DEST_SIZE=20g;

阅读(5551) | 评论(0) | 转发(3) |
给主人留下些什么吧!~~