Sybase备份
一. 内容(略)
二. 前言(略)
三. 介绍(略)
四. 安装要求和许可证密钥注册
1.NetBackup for Sybase for Windows平台支持
参考:http://www.support.veritas.com
2.安装的先决条件
在启用NetBackup for Sybase之前,确信完成了以下过程:
●在服务器上安装NetBackup server software。
●在需要备份数据库的客户端上安装NetBackup client软件,这一步也安装了NetBackup for Sybase。
在群集中安装的先决条件:
●Sybase软件必须被安装到每个节点上。
●NetBackup server或Client软件必须被安装到每个群集节点上。
3.注册NetBackup for Sybase
NetBackup for Sybase跟NetBackup Server和Client软件一起被安装,要使用此代理,你必须要在其master或media server上注册一个有效的许可证密钥。在一个群集环境里,许可证密钥必须被注册到安装了NetBackup Server的每个节点。
如果在你的机器上有多个Sybase ASE实例,那么你需要拷贝NetBackup for Sybase库文件到每个Sybase实例。
注册一个许可证密钥
使用NetBackup管理控制台里的Help > License Keys。
拷贝NetBackup for Sybase库文件
拷贝install_path /NetBackup/dbext/sybase/libsybackup.dll文件到合适的位置:
●对于Sybase ASE 12.0 或 12.5 %SYBASE%/ASE-12_*/lib/
●对于Sybase ASE 11.9.2 %SYBASE%/lib/
五. 配置
配置过程主要包括:
●使用windows的NetBackup管理控制台进行配置(略)
●使用UNIX的NetBackup管理控制台进行配置(略)
●创建脚本
●配置NetBackup客户端
●用户授权
●启用条带化的(striped)dumps和loads
●测试NetBackup for Sybase配置(略)
1.使用windows的NetBackup管理控制台进行配置(略)
2.使用UNIX的NetBackup管理控制台进行配置(略)
3.创建脚本
Sybase SQL脚本使SQL Server发送命令到Sybase ASE Backup Server,初始化dump或load一个数据库或事务日志。Sybase isql工具与SQL Server通信。
下面的例子脚本包含在NetBackup for Sybase的安装中:
sybase_mydb_backup.cmd
sybase_mydb_load
sybase_mydb_restore.cmd
它们具体位于下面的文件夹中:
install_path/NetBackup/dbext/sybase/samples/
如果有必要,你可以拷贝脚本到客户端的任何其它位置。尽管每个脚本可以执行多个Sybase ASE Backup Server操作,但每种类型的操作需要单独的脚本。例如:备份和还原就需要单独的脚本。
小心:当配置自动备份或通过NetBackup启动操作时,总是指定正确的脚本。如果一个还原脚本用于备份操作或反之,NetBackup for Sybase不会产生一个错误。
(1)修改Sybase ASE备份脚本的指导
①如果有必要,你可以拷贝脚本到客户端的任何其它位置。
②确保存在对脚本的共享访问。
③修改sybase_mydb_backup.cmd例子脚本。
a.用文本编辑器(如记事本)打开sybase_mydb_backup.cmd例子脚本。
b.按照脚本里的指导,进行修改,参考下面:
@set SYBASE=C:/Sybase
SYBASE应该设置为SYBASE主目录文件夹。一般就是SYBASE环境变量的值。
@set SYBSERVER=SYBASE
SYBSERVER应该设置为Sybase Adaptive Server的名称。通常跟DSQUERY环境变量的值相同。
@set %DATABASE_NAME%=SYB_DB
DATABASE_NAME应该设置为Sybase数据库的名称。
if "%SYBACKUP_SCHED%" == “database_dump” goto dbdump
用计划进行数据库dump的自动备份时间表来替换database_dump。
@echo dump %DUMP_TYPE% %DATABASE_NAME% to
"sybackup::-SERV %SYBACKUP_SERVER%
-POLICY %SYBACKUP_POLICY%
-SCHED Default-Application-Backup
-STAT_FILE %STATUS_FILE%" > ./syb_%DATABASE_NAME%_dump
这一行建立isql处理的dump命令。你可以更改下列名称,以符合你的环境:
NetBackup server (%SYBACKUP_SERVER%)名称
Sybase policy (%SYBACKUP_POLICY%)名称
Application Backup schedule (Default-Application-Backup)名称
@REM echo stripe on "sybackup::-SERV %SYBACKUP_SERVER%
-POLICY %SYBACKUP_POLICY%
-SCHED Default-Application-Backup
-STAT_FILE %STATUS_FILE%" >> ./syb_%DATABASE_NAME%_dump
如果你要使用多个条带(stripe)来备份Sybase ASE数据库,那么删除此行的REM,并且你需要更改NetBackup server名称,policy名称和schedule名称以匹配上面的dump命令。你需要为每个用于备份的其它条带重复此行。
set CMD_LINE=%SYBASE%%OCS_QUAL%/bin/isql
-Usa -Pmanager -I%SYBASE%/ini/sql.ini -S%SYBSERVER%
用Sybase数据库管理员的实际用户名和密码替换sa和manager。在这里不一定要使用sa。
c.可以修改sybase_mydb_backup.cmd例子脚本来备份多个数据库。
例如下面的例子使用两个不同的Policy来备份两个不同的数据库db1和db2。
dump database db1 to "sybackup:OLICY db1-policy"
go
dump database db2 to "sybackup:OLICY db2-policy"
go
④测试你修改后的脚本。
(2)修改Sybase ASE还原脚本的指导
①如果有必要,你可以拷贝脚本到客户端的任何其它位置。
②确保存在对脚本的共享访问。
③修改sybase_mydb_restore.cmd例子脚本。
a.用文本编辑器(如记事本)打开sybase_mydb_restore.cmd例子脚本。
b.按照脚本里的指导,进行修改,参考下面:
@set SYBASE=C:/Sybase
SYBASE应该设置为SYBASE主目录文件夹。一般就是SYBASE环境变量的值。
@set SYBSERVER=SYBASE
SYBSERVER应该设置为Sybase Adaptive Server的名称。通常跟DSQUERY环境变量的值相同。
@set LOADDB="./sybase_mydb_load"
LOADDB应该设置为包含Sybase ASE LOAD命令的脚本的完全路径名。只在该脚本文件所在位置跟sybase_mydb_restore.cmd脚本不同时,才需要设置。
set CMD_LINE=%SYBASE%%OCS_QUAL%/bin/isql
-Usa -Pmanager -I%SYBASE%/ini/sql.ini -S%SYBSERVER%
用Sybase数据库管理员的实际用户名和密码替换sa和manager。在这里不一定要使用sa。
c.修改sybase_mydb_load例子脚本
load database mydb from "sybackup::SYBASE11.mydb.D.0.24312.20-12-1996.23:05:25"
go
load transaction mydb from "sybackup::SYBASE11.mydb.T.0.44532.21-12-1996.22:01:00"
go
load transaction mydb from "sybackup::SYBASE11.mydb.T.0.14142.22-12-1996.20:45:00"
go
online database mydb
go
用实际的数据库名称替换mydb。
用实际的备份映像名替换双引号中“sybackup::”后面的部分。
你可以在LOAD命令中指定NetBackup server的名称,如:
load database mydb from "sybackup::SYBASE12.mydb.D.0.24312.20-12-2001.23:05:25 -SERV saturn"
go
online database mydb
go
-SERV指定了NetBackup server的名称,这将替换在NetBackup客户端配置里指定的任何NetBackup server。
④测试你修改后的脚本。
(3)环境变量
当备份计划运行时,NetBackup为脚本设置环境变量,这些变量包括:
SYBACKUP_SERVER NetBackup server的名称
SYBACKUP_POLICY NetBackup 策略的名称
SYBACKUP_SCHED NetBackup自动备份时间表的名称
SYBACKUP_SCHEDULED 如果是一个计划备份,那么设置为1
SYBACKUP_USER_INITIATED 如果是用户发起的备份,那么设置为1
注意:SYBACKUP_POLICY和SYBACKUP_SCHED只在备份从服务器发起(包括自动或手动)时,才需要设置。
4.配置NetBackup客户端
当启动NetBackup for Sybase操作时,NetBackup按以下顺序搜索定义的POLICY, SERVER和SCHEDULE:
●Sybase ASE DUMP命令中的-SERV, -POLICY和-SCHED。
●NetBackup客户端配置:打开Backup, Archive, and Restore,点击File > NetBackup Client Properties。点击Backups选项。
注意:NetBackup使用客户端配置里指定的Policy或Schedule来备份客户端的全部备份,包括文件系统和Sybase数据库备份。因为这个原因,如果配置了一个非Sybase策略或时间表,Sybase ASE DUMP命令必须使用-POLICY或-SCHED选项来指定正确的策略或时间表。
如果NetBackup不能发现定义的POLICY和SCHEDULE,那么NetBackup for Sybase默认使用第一个相同类型的策略。
5.用户授权
因为NetBackup Client service默认以SYSTEM帐号启动,值得注意的是,这也用于数据库用户认证,如果你正使用操作系统认证,那么SYSTEM帐号没有访问目标数据库的权限,那么你必须使用有SYSDBA权限的帐号来启动NetBackup Client service,如下:
①选择 开始 > 设置 > 控制面板。
②打开 管理工具 里的 服务。
③双击 NetBackup Client service。点击 停止。
④点击 登录。在登录身份下,选择 此帐户。
⑤输入有SYSDBA权限的系统帐号及密码。或通过浏览按钮来选择。
⑥点击 常规 选项卡,点击 启动。
以上是win2000 server下的设置,windows nt可能稍有不同。
6.启用条带化的(striped)dumps和loads
NetBackup for Sybase支持Sybase ASE Backup Server同时打开多个数据流执行平行的dumps和loads,在dump和load能够进行之前,所有的数据流必须同时有效。另外,load过程中指定的条带数量必须跟dump时指定的数量相同。
小心:当Sybase数据库备份使用Sybase ASE条带和NetBackup multiplex (MPX)时,NetBackup复制必须使用multiplex选项来执行。当多个Sybase ASE条带被multiplexed到单个磁带,而磁带复制没有使用-mpx选项时,将产生问题。用bpduplicate命令创建的复制磁带必须使用-mpx选项。另外,来自Sybase ASE multiplex会话的所有备份必须被包含在复制的multiplexed group里。
如果multiplex条带化的Sybase ASE数据库备份,你可能需要一个特别的配置来还原它们。默认下,从multiplexed备份还原时,NetBackup使用12个数据缓冲区,这应该足够了,除非你使用了超过12个条带。如果你使用了超过12个条带,那么按照如下步骤增加数据缓冲区数量:
①在有存储单元的NetBackup server上创建如下文件:
●对于UNIX的NetBackup server:
install_path/netbackup/db/config/NUMBER_DATA_BUFFERS_RESTORE
●对于Windows的NetBackup server:
install_path/NetBackup/db/config/NUMBER_DATA_BUFFERS_RESTORE
②指定缓冲区数量,此数字是该文件的唯一条目。
用于条带化dump的脚本实例:
dump database mydb to "sybackup::"
stripe on "sybackup::"
stripe on "sybackup::"
go
用于条带化load的脚本实例:
load database mydb from "sybackup::SYBASE11.mydb.D.0.27997.20-10-1997.10:55:52" stripe on "sybackup::SYBASE11.mydb.D.1.27999.20-10-1997.10:55:52"
stripe on "sybackup::SYBASE11.mydb.D.2.28001.20-10-1997.10:55:52"
go
8.测试NetBackup for Sybase配置(略)
六. 使用NetBackup for Sybase
安装和配置完成之后,你可以从NetBackup界面来启动Sybase数据库备份和还原,你也可以从isql工具直接执行dump和load命令来备份和还原数据库。
这一章包含下列部分:
●执行一个备份
●浏览备份
●执行一个还原
1. 执行一个备份
有两种类型的Sybase ASE备份:完全备份和增量备份。
完全备份:这个数据库的拷贝,包括数据和事务日志,使用数据库dump来完成。
增量备份:包含自最后一次数据库或事务日志dump以来更改过的数据的事务日志的拷贝。你可以只在数据库保存它的日志到一个独立的部分时,才备份事务日志。
为了确保一致和精确备份,总是在备份之前使用DBCC进行一致性检查。DUMP命令甚至在数据库损坏时也可以成功完成。
(1)备份策略
设计一个备份计划的主要任务之一是决定多久备份一次数据库。备份的频率决定了在介质失败时,你可以保留多少工作,在你创建每个数据库之后,进行dump,作为一个基准点,然后在以后使用固定的计划进行dump。
一个数据库备份策略的例子如下:
①每周五晚上,执行一次数据库完全备份。
②每周五晚上,备份重要的Sybase文件。你也可以在其它时间备份它们。
③为了进一步的保护,Sybase推荐你保留全部重要的Sybase脚本。这些脚本包含disk init, create database和alter database命令。
④Sybase也推荐你在每次提交这些命令之一时,保留一份sysdatabases, sysusages和sysdevices表的硬拷贝。另外,保留一份syslogins等的拷贝。
(2)Sybase策略的自动备份
备份数据库的最方面的方法是为自动备份建立时间表,当NetBackup scheduler(计划程序)提交一个自动备份的时间表时,Sybase脚本:
●跟出现在File list里的顺序一样运行。
●在策略所包含的所有客户端上运行。
(3)Sybase策略的手动备份
NetBackup master server的管理员可以手动执行Sybase策略的自动备份计划。
(4)用户直接备份
你可以从客户端上的isql工具来执行Sybase ASE DUMP命令:
dump transaction mydb to "sybackup::"
go
2.浏览备份
你可以使用bplist命令来浏览master server上的Sybase备份历史,结果是dump文件名列表,下面的例子使用bplist命令搜索candytuft服务器上的copper客户端的所有Sybase备份:bplist -S candytuft -C copper -t 7 -R /
-t 7指搜索Sybase备份。
3.执行一个还原
还原一个Sybase数据库的过程依赖于数据库的复杂性和系统存在的问题。如果数据库和设备被丢失:
①初始化一个新设备。
②重建一个数据库。
下面的例子如何还原一个例子数据库mydb,到一个最新的数据库dump加上两个事务日志dump。
③从SQL Server直接运行LOAD命令。这将装载数据库dump和事务日志dump。
④使用DBCC命令检查数据库的一致性。
(1)使用isql还原一个Sybase数据库
恢复数据库的步骤可能包括:
①为系统数据库使用buildmaster, installmaster和installmodel。
②重建数据库设备。
③重建数据库。
④Load数据库dump。
⑤应用事务日志dump。
Load可能比dump要花费更长的时间,Load数据库需要的时间跟数据库里页的总数成正比。load database命令从dump装载所有使用过的页到目标数据库,并运行syslog恢复,确保数据库一致。Load过程初始化任何未使用过的页。
你可以从客户端上的isql工具手动提交Sybase ASE LOAD命令,来装载数据库dump和事务日志dump。
(2)客户端上的重定向还原配置
如果你想浏览和还原属于另一个客户端的备份,按照如下步骤:
在NetBackup server上配置允许重定向还原。
在LOAD命令里使用-CLIENT选项指定客户端名称,例如:
load database mydb from "sybackup::SYBASE.mydb.D.0.14693.12-12-1997.09:28:37 -CLIENT saturn"
go
七. 故障处理
NetBackup, NetBackup for Sybase和Sybase ASE Backup Server都提供数据库备份和还原操作的报告,这些报告对于查找跟这些程序有关的错误非常有用。
这一章包含下面部分:
●NetBackup和NetBackup for Sybase日志
●设置Debug级别
●Sybase ASE Backup Server日志和信息
●防止超大数据库还原时的超时失败
1.NetBackup和NetBackup for Sybase日志
启用NetBackup for Sybase日志:
①在客户端上创建下列文件夹:
install_path/NetBackup/logs/bphdb
install_path/NetBackup/logs/sybackup
install_path/NetBackup/logs/bporaexp
install_path/NetBackup/logs/bporaimp
install_path/NetBackup/logs/bporaexp64
install_path/NetBackup/logs/bporaimp64
②确保存在日志文件夹的共享访问。
下面是一个例子日志
NetBackup for Sybase发送指定dump文件名的信息给Sybase ASE Backup Server。下面部分描述在日志目录里创建的日志,使用文本编辑器来查看日志内容。
Bphdb目录
install_path/NetBackup/logs/bphdb包含以下类型的信息,这些日志是确认发生的问题类型的开始部分。
sybase_stdout.mmddyy.hhmmss.txt
除非重定向到了其它地方,NetBackup在此文件中放置Sybase脚本输出。
sybase_stderr.mmddyy.hhmmss.txt
除非重定向到了其它地方,NetBackup在此文件中放置Sybase脚本错误。
log.mmddyy.log
bphdb是NetBackup数据库备份程序,此日志包含bphdb进程的Debug信息,NetBackup for Sybase使用此客户端进程来执行Sybase脚本,它在执行自动备份计划时产生。
Sybackup目录
install_path/NetBackup/logs/sybackup包含下面的执行日志。
log.mmddyy.log
此日志包含链接到NetBackup for Sybase所提供的库程序的NetBackup客户端进程的Debug信息和执行状态。
bporaexp(bporexp64)目录
install_path/NetBackup/logs/bporaexp(bporaexp64)包含下面的执行日志。
log.mmddyy.log
此日志包含用于XML exports的bporaexp(bporaexp64)程序的Debug信息和执行状态。
bporaimp(bporaimp64)目录
install_path/NetBackup/logs/bporaimp(bporaimp64)包含下面的执行日志。
log.mmddyy.log
此日志包含用于XML imports的bporaimp(bporaimp64)程序的Debug信息和执行状态。
NetBackup server报告
NetBackup提供其它报告,对于隔离问题非常有用。
2.设置Debug级别
你可以通过更改General选项来控制写入到install_path/NetBackup/logs目录内的Debug日志的信息数量,值越高,日志的信息越多。在每天的日常操作里,默认值0就足够了。但在分析问题时,VERITAS技术支持可能让你设置高一点的值。
①选择 开始 > 程序 > VERITAS NetBackup > Backup, Archive, and Restore。
②选择File > NetBackup Client Properties。
③选择Troubleshooting选项。默认下,这些设置都为0。
④设置Database的Debug级别。
3.Sybase ASE Backup Server日志和信息
Sybase ASE Backup Server日志提供关于操作的Sybase ASE Backup Server部分的信息。这是数据库管理员必须要检查的日志,以确定数据库备份或还原是否最终成功或失败。
(1)DUMP和LOAD进程的信息
Sybase ASE Backup Server发送DUMP和LOAD进程的信息到启动dump或load请求的客户端,当你使用NetBackup启动Sybase备份时,NetBackup for Sybase路由Sybase ASE Backup Server进程信息到下面的文件里:
install_path/NetBackup/logs/bphdb/sybase_stdout.mmddyy.hhmmss.txt
(2)错误日志
Sybase ASE Backup Server执行它自己的错误日志到配置时指定的文件。发送到Sybase ASE Backup Server日志文件的信息包括来自Archive API的信息。你可以通过在backup server命令行上指定-DTRACEIO选项来启用Archive API的详细诊断跟踪。
下面是一个显示dump成功的Sybase ASE Backup Serve日志信息:
Backup Server: 3.43.1.1: Dump phase number 1 completed.
Backup Server: 3.43.1.1: Dump phase number 2 completed.
Backup Server: 4.58.1.1: Database model: 238 kilobytes DUMPed.
Backup Server: 3.43.1.1: Dump phase number 3 completed.
Backup Server: 4.58.1.1: Database model: 242 kilobytes DUMPed.
Backup Server: 3.42.1.1: DUMP is complete (database model)
4.防止超大数据库还原时的超时失败
当多个还原会话竞争资源时,超大数据库的还原有时会失败,在这种情况下,一个还原会话在等待介质或设备访问时可能被延时,如果延时太长,还原会话将超时。
超时问题可以通过增加NetBackup Client Read Timeout来解决。使用NetBackup Administration Console来更改每个包含数据库还原的客户端的属性。Client Read Timeout的默认值为300秒(5分钟)。你可能需要设置非常高的值。
八. 索引(略)
NBU的Sybase配置
最新推荐文章于 2021-05-03 10:52:07 发布