大家好,最近公司有TSM的实施项目并要配置实现备份oracle数据库的归档日志,当然IBM TSM 的功能不止这些,看你用在什么地方了!oracle dba 对第三方的备份软件还是要了解一些的,TSM或者NBU这类功能强大的软件还是应用比较广泛的,最近把实践的一些体验分享给大家,我尽量把内容细化,如果你也是初次安装TSM可以参考我的文档。
什么是TSM?
就是通过脱机存储器的层次结构中存储备份和归档数据来保护数据免受故障和其它错误,说白了就是备份、恢复和归档管理构成了TSM的核心功能。我看图来了解它的体系结构

安装计划
首先声明我这里的是实验机器,硬件配置有限(内存不能达到TSM 6.3的要求,内存要求16个G,实验环境我给了8G可以安装成功),DISK SPACE:
-
5 MB for the /var directory
-
30 MB for the /opt directory if you create mount
points
-
2 GB for the /opt/tivoli/tsm directory
-
390 MB for the /tmp directory
-
300 MB for the /usr directory
-
2 GB in the home directory
满足就可以了,或者更多,这个自己看着办吧,建议大家生产环境用LVM方式管理,我这里是虚拟机所以直接用linux ext3了
软件方面,OS:RHEL 5.8 64bit TSM Server:6.3 TSM client:6.3 DB2 9.7(自带)
这里需要注意的是TSM 6.3已经不支持在RHEL5.3以下的版本了,这里是官方不推荐的,其实还是可以安装成功的,我这里也不推荐大家这么做,厂商不会support的。
libraries:GNU C libraries,version 2.3.3-98.38 or later
For Red Hat Enterprise Linux and SUSE Linux Enterprise Servers:
-
libaio.so.1 (32 and 64 bit packages
are required)
-
libstdc++.so.5 (32 and 64 bit packages
are required)
-
libstdc++.so.6 (32 and 64 bit packages
are required)
这些库文件都要安装啊,没什么多解释的就是环境必须品,没有就报错。
我们前期的准备工作一定要细致,这样可以省去好多不必要的麻烦,我们上传 TSM Server的安装包,大小1.61个G
上传的包没有x执行权限,我们执行命令
chmod a+x CI3KAML.bin
然后解压
./CI3KAML.bin
nflating: COI/PackageSteps/TSM_AdminCenter/metadata.properties
inflating: COI/PackageSteps/TSM_AdminCenter/uninstall_input.xml
inflating: COI/PackageSteps/TSM_Client_API/FILES/TIV-TSMBAC-Linux/NOTICES.TXT
inflating: COI/PackageSteps/TSM_Client_API/FILES/TIV-TSMBAC-Linux/README_api_enu.htm
inflating: COI/PackageSteps/TSM_Client_API/FILES/TIV-TSMBAC-Linux/README_enu.htm
inflating: COI/PackageSteps/TSM_Client_API/FILES/TIV-TSMBAC-Linux/README_hsm_enu.htm
inflating: COI/PackageSteps/TSM_Client_API/FILES/TIV-TSMBAC-Linux/TIVsm-API.i386.rpm
inflating: COI/PackageSteps/TSM_Client_API/FILES/TIV-TSMBAC-Linux/TIVsm-API64.i386.rpm
inflating: COI/PackageSteps/TSM_Client_API/META-INF/TSMClientAPIInstallArtifact.xml
inflating: COI/PackageSteps/TSM_Client_API/META-INF/TSMClientAPIUninstallArtifact.xml
inflating: COI/PackageSteps/TSM_Client_API/META-INF/packagedIU.xml
inflating: COI/PackageSteps/TSM_Client_API/META-INF/resources/My_Product_en.properties
inflating: COI/PackageSteps/TSM_Client_API/META-INF/resources/TSM_Client_en.properties
inflating: COI/PackageSteps/TSM_Client_API/TSM_Client_API.xml
inflating: COI/PackageSteps/TSM_Client_API/admin
inflating: COI/PackageSteps/TSM_Client_API/install_input.xml
inflating: COI/PackageSteps/TSM_Client_API/metadata.properties
inflating: COI/PackageSteps/TSM_Client_API/uninstall_input.xml
inflating: COI/PackageSteps/TSM_Client_API_32Bit/META-INF/TSMClientAPI32BitInstallArtifact.xml
inflating: COI/PackageSteps/TSM_Client_API_32Bit/META-INF/TSMClientAPI32BitUninstallArtifact.xml
inflating: COI/PackageSteps/TSM_Client_API_32Bit/META-INF/packagedIU.xml
inflating: COI/PackageSteps/TSM_Client_API_32Bit/META-INF/resources/My_Product_en.properties
inflating: COI/PackageSteps/TSM_Client_API_32Bit/META-INF/resources/TSM_Client_en.properties
省略。。。。。。
这个时候我们就可以安装了,TSM 也分为图形安装,静默安装和控制台安装,我们这里初次安装还是选择图形安装。
安装前还要配置一下/etc/hosts文件,TSM要解析自己来标示我是Server,把主机名和ip地址写到配置文件中,这个也是为以后的Client端做铺垫。
[root@xupeng tsm]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.127.2 xupeng xupeng.com
我们在使用图形安装向导来安装之前,TSM还可以检查我们的安装环境是否满足安装条件,我们在解压缩的当前文件下输入
./prereqcheck.bin 这个检测程序在检测完会生成一个log日志

我们点下一步,查看结果我这里肯定是通过了,只要总体结果没有未通过的,我们在安装的时候就不会报错,大家心细点,注意看报错,看检测日志就行
什么条件没满足,咱们满足就是了。

准备了那么多,正式安装开始。。。。。。。。。。。。。。
./install.bin
来到安装界面,
直接过,点确定,go on

欢迎界面也没什么好说的,大家就继续吧,这里就是安装软件的第一步了

选择安装产品,这里我选择标准版第一项,第二项是扩展版,这比标准版突破了一些限制和功能特性,第三项是归档管理,对海量数据进行简化管理
第四项,存储区域网络 (SAN) 进行数据传输。它可帮助连接 SAN 的备份客户端和 IBM Tivoli Storage Manager 服务器优化其与存储器的直接网络连接

接受许可协议,才能继续安装

我们这里选择LAN操作,所以就是 “否”,继续下一步

我们选择要安装的组件,如下图所示

服务器语言选择“简体中文”,继续下一步

初始化。。。也就是在安装TSM软件。

这里可没有完啊,还要继续安装。预安装向导是帮我们把TSM服务和组件进行准备,我们点击安装

最后TSM Server 开始安装,我们这里可以看到DB2 数据库已经帮我们装好了,不许要手动install了。

最后点击完成!!!!我们终于完成了第一步TSM的安装,下面我们要开始配置TSM Server了。让DB2数据库实例去完全接管server端和client的注册信息和设备信息等等,
所以我们要配置TSM,所需要的用户和组对应tsm实例用到的日志目录已创建好了
example:
[root@xupeng ~]# groupadd tsmsrvrs
[root@xupeng ~]# adduser -d /home/tsminst1 -m -G tsmsrvrs -s /bin/bash tsminst1
[root@xupeng ~]# passwd tsminst1 密码也是tsminst1
Changing password for user tsminst1.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@xupeng ~]# su - tsminst1
[tsminst1@xupeng ~]$ mkdir tsminst1
[tsminst1@xupeng ~]$ pwd
/home/tsminst1
[tsminst1@xupeng ~]$ ls -ltr
总计 4
drwxrwxr-x 2 tsminst1 tsminst1 4096 03-03 16:48 tsminst1
[tsminst1@xupeng ~]$ mkdir tsmdb001
[tsminst1@xupeng ~]$ mkdir tsmdb002
[tsminst1@xupeng ~]$ mkdir tsmdb003
[tsminst1@xupeng ~]$ mkdir tsmdb004
[tsminst1@xupeng ~]$ mkdir tsmlog
[tsminst1@xupeng ~]$ mkdir tsmarchlog
[tsminst1@xupeng ~]$ mkdir tsmlogmirror
[tsminst1@xupeng ~]$ mkdir tsmarchlogfailover
[tsminst1@xupeng ~]$ su -
口令:
[root@xupeng ~]# /opt/tivoli/tsm/server/bin/dsmicfgx 配置实例开始
填入我们刚创建的用户tsminst1,密码一样,继续下一步

选择实例的目录,继续下一步

数据库的目录配置,也是我们之前手工建好的目录,下一步

恢复日志目录也是我们之前创建好的,填入就行,继续下一步

这一步不用改动继续就行了。。。。。

这个是AC的管理密码,我们本次安装不涉及administration center这个环节,其实这个软件就是管理TSM的,呵呵!看我们的实际生产环境
用不用了!!功能也是很强大的。这里的用户名是:admin 密码:admin1234

这个是TSM上的管理client端的网络端口设置,默认的就行

来到这个界面就行了,点击下一步 我们开始自动创建实例了

这里我们可以看到数据库,存储池、API接口、调度等都已经up OK了,我们也可以去看安装日志,图形其实更直观,这里需要注意的是在install的过程中
不能出现sql error的类似错误或者sqlcode等,出现错后续的话数据库实例都无法startup了,这个大家要注意自己的环境配置了。

下一步,我们就完成了,如果你的生成环境里有AC的话,可以去AC端配置远程管理TSM了,我这里就不做了。

su - tsminst1
启动TSM Server
/opt/tivoli/tsm/server/bin/dsmserv -q & 启动放到后台
我们把最重要的TSM 核心服务安装完了,下面我们就要去部署client端,我们的client端上已经部署了oracle 10g server,所以我们用tivoli data protection功能通过调用RMAN参数来备份到
磁盘整列或者磁带库中,我们client端环境是和server端一致的,硬件配置还要比server的低,我们需要清楚client端要安装哪些组件

这些都要安装啊,缺一不可。这些包都可以从网上下载到,
我们在看一下安装完文件的存放路径:

我们直接去配置,把client端注册到TSM server端,首先配置文件修改,这个是client与server通讯的关键,文件系统备份是
BA 类型的客户端,
Tivoli Data Protection for Database属于
api类型的客户端。
BA 客户端的执行程序和缺省配置文件位于/usr/tivoili/tsm/client/ba/bin,api客户端的执行程序和缺省配置文件位于,/usr/tivoili/tsm/client/api/bin(64 位在bin64 子目录下)。Unix
使用dsm.opt和 dsm.sys两个配置文件中
其实和修改server端的差不多,我们看一下
# cat dsm.opt
SERVERNAME xupeng
# cat dsm.sys
ServerName xupeng
NodeName tsmc
COMMMethod TCPIP
TCPPort 1500
TCPServerAddress 192.168.127.2 #TSM服务器的IP地址
PasswordAccess generate
SCHEDMode prompt
#开启调度需要
TCPClientAddress 192.168.127.3 #TSM客户端的IP地址
SCHEDLOGNAME /tmp/log/dsmsched.log
ErrorLOGName /tmp/log/dsmerror.log
修改后保存即可,我们在通过命令行的方式注册client端到server端
[root@tsmc ~]# dsmadmc
IBM Tivoli Storage Manager
Command Line Administrative Interface - Version 6, Release 3, Level 0.0
(c) Copyright by IBM Corporation and other(s) 1990, 2011. All Rights Reserved.
Enter your user id: admin
Enter your password: admin1234
Session established with server XUPENG: Linux/x86_64
Server Version 6, Release 3, Level 0.0
Server date/time: 03/07/2014 11:47:03 Last access: 03/07/2014 11:41:39
tsm: XUPENG>reg node tsmc password
ANR2147E REGISTER NODE????? TSMC ?????
ANS8001I Return code 10.
tsm: XUPENG>q node
????? ?? ???????? ????η????????????? ???????????????????? ????????
------------------------- -------- -------------- -------------------- -------------------- --------
TSMC Linux STANDARD <1 1 ??
x86-64
注册成功,由于我安装了zh_cn中文包,TSM是英文的编译环境所以我的有乱码,但是不影响我们注册。
其实这个时候我们就可以发起备份了,但是这里我要强调的是需要我们备份的是通过 oracle 11g rman 工具来实现备份的,我们要在server端进行tsm自身的逻辑定义,要定义的有lib、storgepool、volume等,我这里就不给大家
写了,因为没有参考性,大家已自己所对应的的存储或者带库的驱动为准。
我们启动一下备份,输入命令:dsmj 如下图

我们这里可以用backup工具浏览oracle server上的datafile、controfile、database、tablespace、archivelog等,我们找了一下没找到,经本人查证,没有安装TDP for oracle 的工具
我们这里要安装TDP,解压缩
[root@tsmc tmp]# tar xvf CI3LHML.tar.gz
TSMORA_LNX/linux86/
TSMORA_LNX/linux86/api/
TSMORA_LNX/linux86/api/gskcrypt64-8.0.13.4.linux.x86_64.rpm
TSMORA_LNX/linux86/api/TIVsm-msg.IT_IT.i386.rpm
TSMORA_LNX/linux86/api/TIVsm-API.i386.rpm
TSMORA_LNX/linux86/api/TIVsm-msg.HU_HU.i386.rpm
TSMORA_LNX/linux86/api/gskcrypt32-8.0.13.4.linux.x86.rpm
TSMORA_LNX/linux86/api/TIVsm-msg.PL_PL.i386.rpm
TSMORA_LNX/linux86/api/gskssl64-8.0.13.4.linux.x86_64.rpm
TSMORA_LNX/linux86/api/TIVsm-msg.DE_DE.i386.rpm
TSMORA_LNX/linux86/api/gskssl32-8.0.13.4.linux.x86.rpm
TSMORA_LNX/linux86/api/TIVsm-msg.ZH_TW.i386.rpm
TSMORA_LNX/linux86/api/TIVsm-msg.KO_KR.i386.rpm
TSMORA_LNX/linux86/api/TIVsm-msg.PT_BR.i386.rpm
TSMORA_LNX/linux86/api/TIVsm-msg.CS_CZ.i386.rpm
TSMORA_LNX/linux86/api/TIVsm-msg.RU_RU.i386.rpm
TSMORA_LNX/linux86/api/README_api_enu.htm
TSMORA_LNX/linux86/api/TIVsm-msg.ZH_CN.i386.rpm
TSMORA_LNX/linux86/api/TIVsm-msg.FR_FR.i386.rpm
TSMORA_LNX/linux86/api/TIVsm-msg.ES_ES.i386.rpm
TSMORA_LNX/linux86/api/TIVsm-API64.i386
忽略。。。。。。。。。。。。。
来到一下目录:
[root@tsmc linux86_64]# pwd
/tmp/TSMORA_LNX/linux86_64
[root@tsmc linux86_64]# ./TDP-Oracle.x86_64.bin
Preparing to install...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...
Launching installer...
ok !!我们继续。。
点击下一步,等待。。。。。。。

我们同意,下一步

点击install 安装!

最后一步就安装完成!!!!
我们去/opt/tivoli/tsm/client/oracle/bin64目录中,就可以配置一下tdpo.opt,内容写
dsmi_orc_config /usr/tivoli/tsm/client/oracle/bin64/dsm.opt
dsmi_log
在相同目录下创建dsm.opt文件,内容写SErvername xupeng
我们写RMAN 备份脚本,例如:
run
{
allocate channel t1 type ’sbt_tape’ parms
’ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)’;
backup
filesperset 5
format ’df_%t_%s_%p’
(database);
}
我们也可以写上删除备份的脚本。
run
{
allocate channel for delete type ’sbt_tape’ parms
’ENV=(TDPO_OPTFILE=/home/oracle/tdpo.opt)’;
change backupset backupset number delete;
}
注意:这里的sbt_tape是磁带库的磁带,你可以写存储的路径。
备份的策略由你自己定了,我们这里写的都是手动备份了,当然强大的TSM肯定是支持自动备份的。我们下回分享。。。。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26339107/viewspace-1277238/
,如需转载,请注明出处,否则将追究法律责任。