simon_peng 发表于 2014-06-17 14:42

nbu 7.5.0.7 for win2008 sybase 12.5

本帖最后由 simon_peng 于 2014-06-17 15:00 编辑

修改sybase_mydb_backup:(这个脚本会生成syb_test_dump文件到c:\windows\system32下,然后通过isql -Usa -P -i c:\windows\system32\syb_test_dump执行这个脚本,但是在我这台win2008上手工执行isql -Usa -P -i和脚本报错一样提示找不到这个文件,把文件复制到其它目录能执行但是会报错C:\Users\Administrator>isql -Usa -P -i C:\Windows\System32\syb_test_dumpUnable to open input file 'C:\Windows\System32\syb_test_dump'.
C:\Users\Administrator>isql -Usa -P -i e:\syb_test_dumpBackup Server session id is:8.Use this value when executing the'sp_volchanged' system stored procedure after fulfilling any volume changerequest from the Backup Server.Backup Server: 4.124.2.1: Archive API error for device='sybackup::-SERV master-CLIENT WIN-1BHQJAPL4ET.nbu.com -POL sybase_backup -SCHEDDefault-Application-Backup -STAT_FILE C:\ProgramFiles\Veritas\NetBackup\Logs\user_ops\dbext\logs\sybase_script_status.06172014.135106.2264.2556::00': Vendor application name=<UNINIT>, Library version=0, API routine=<UNINIT>, Message=Unable to open API library for device 'sybackup::-SERVmaster -CLIENT WIN-1BHQJAPL4ET.nbu.com -POL sybase_backup -SCHED Default-Application-Backup -STAT_FILE C:\Program Files\Veritas\NetBackup\Logs\user_ops\dbext\logs\sybase_script_status.06172014.135106.2264.2556'. Library path is 'C:\sybase\ASE-12_5\lib\libsybackup.DLL'. LoadLibrary() returned: Code=87, Message=Cannot get operating system error tex)

@REM $Revision: 1.4 $ @REM bcpyrght@REM**************************************************************************@REM * $VRTScprght: Copyright 2013 Symantec Corporation,All Rights Reserved $ *@REM**************************************************************************@REM ecpyrght @setlocal@echo off @REM**************************************************************************@REM Replace C:\Sybase below with your actual Sybase homedirectory @REM**************************************************************************@set SYBASE=C:\Sybase @REM**************************************************************************@REM Replace Sybase below with the actual name of your SQL Server这里应该填写DSQUERY里配置的server name@REM**************************************************************************@setSYBSERVER=SYBASE @REM **************************************************************************@REM Replace SYB_DB below with the actual name of your Sybase database@REM**************************************************************************@setDATABASE_NAME=test if "%SYBASE_OCS%" == "" goto notsyb12@REM ********* Sybase 12.0 or later ***********@set OCS_QUAL=\%SYBASE_OCS%goto cont1 :notsyb12@REM ********* Sybase 11.9.2 or earlier **********@set OCS_QUAL= :cont1 @REM**************************************************************************@REM These environment variables are set by NetBackup.@REM**************************************************************************@echo SYBACKUP_SERVER = %SYBACKUP_SERVER%@echo SYBACKUP_POLICY = %SYBACKUP_POLICY%@echo SYBACKUP_SCHED = %SYBACKUP_SCHED%@echo SYBACKUP_CLIENT = %SYBACKUP_CLIENT%@echo SYBACKUP_SCHEDULED = %SYBACKUP_SCHEDULED%@echo SYBACKUP_USER_INITIATED = %SYBACKUP_USER_INITIATED% @REM**************************************************************************@REM Replace "database_dump" below with your actual NetBackupschedule name@REM which is used for a full backup of the Sybase database.@REM**************************************************************************if"%SYBACKUP_SCHED%"== "sybase_full" goto dbdump @REM *********** NetBackup hasstarted a "transaction_dump" backup ***********set DUMP_TYPE=TRANSACTION       goto entercmd :dbdump@REM *********** NetBackup hasstarted a "database_dump" backup ***********set DUMP_TYPE=DATABASE :entercmd @REM**************************************************************************@REM Replace"Default-Application-Backup" below with your actual NetBackup @REM Application Backup typeschedule name for the Sybase database.@REM **************************************************************************@REM 这里输出到.\syb_%DATABASE_NAME%_dump是输出到了system32目录,下面的语句input的时候会报错找不到问题,我只能先把输出路径写死到当前路径@REM echo dump %DUMP_TYPE%%DATABASE_NAME% to "sybackup::-SERV %SYBACKUP_SERVER% -CLIENT%SYBACKUP_CLIENT% -POL %SYBACKUP_POLICY% -SCHED Default-Application-Backup-STAT_FILE %STATUS_FILE%" > .\syb_%DATABASE_NAME%_dump@REM %STATUS_FILE%显示的路径怀疑可能有空格,执行的脚本始终会报错,添加了""后还是会报错@REM echo dump %DUMP_TYPE%%DATABASE_NAME% to "sybackup::-SERV %SYBACKUP_SERVER% -CLIENT%SYBACKUP_CLIENT% -POL %SYBACKUP_POLICY% -SCHED Default-Application-Backup-STAT_FILE ""%STATUS_FILE%""" > c:\script\syb_%DATABASE_NAME%_dump@REM 将-STAT_FILE ""%STATUS_FILE%""去掉后,备份会成功,但是nbu前台日志看不到备份后的大小,没有调用Default-Application-Backup,怀疑是因为STAT_FILE的原因,但是sybase后台日志能看到成功备份。@echo dump %DUMP_TYPE%%DATABASE_NAME% to "sybackup::-SERV %SYBACKUP_SERVER% -CLIENT%SYBACKUP_CLIENT% -POL %SYBACKUP_POLICY% -SCHEDDefault-Application-Backup" > c:\script\syb_%DATABASE_NAME%_dump @REM**************************************************************************@REM Remove the REM from thebeginning of the line below if you are going to@REM use multiple stripes for thebackup. Repeat this line for each stripe.@REM Replace"Default-Application-Backup" below with your actual NetBackup @REM Application Backup typeschedule name for the Sybase database.@REM**************************************************************************@REM echo stripe on"sybackup::-SERV %SYBACKUP_SERVER% -CLIENT %SYBACKUP_CLIENT% -POL%SYBACKUP_POLICY% -SCHED Default-Application-Backup -STAT_FILE%STATUS_FILE%" >> .\syb_%DATABASE_NAME%_dump @REM echo go >>.\syb_%DATABASE_NAME%_dump@echo go >> c:\script\syb_%DATABASE_NAME%_dump @REM**************************************************************************@REM Log the isql command. Thisline may appear in NetBackup log files.@REM Do NOT replace"xxxxxxxx" with a user id or password.@REM**************************************************************************@REM setPRT_LINE=%SYBASE%%OCS_QUAL%\bin\isql -Uxxxxxxxx -Pxxxxxxxx-I%SYBASE%\ini\sql.ini -S%SYBSERVER% -i .\syb_%DATABASE_NAME%_dumpsetPRT_LINE=%SYBASE%%OCS_QUAL%\bin\isql -Uxxxxxxxx -Pxxxxxxxx-I%SYBASE%\ini\sql.ini -S%SYBSERVER% -i c:\script\syb_%DATABASE_NAME%_dump@echo %PRT_LINE% @REM**************************************************************************@REM Replace "sa" withyour Sybase server Administrator's login name.@REM Replace "manager"with your Sybase server Administrator's password.@REM************************************************************************** @REM setCMD_LINE=%SYBASE%%OCS_QUAL%\bin\isql -Usa -P -I%SYBASE%\ini\sql.ini -S%SYBSERVER%-i .\syb_%DATABASE_NAME%_dumpsetCMD_LINE=%SYBASE%%OCS_QUAL%\bin\isql -Usa -P -I%SYBASE%\ini\sql.ini-S%SYBSERVER% -i c:\script\syb_%DATABASE_NAME%_dump %CMD_LINE%@set RSTAT=%ERRORLEVEL%@set STATUS_MESSAGE=completedsuccessfully @REM **************************************************************************@REM This script will return anerror status back to the NetBackup client if@REM the isql command fails.@REM************************************************************************** if %RSTAT% NEQ 0 setSTATUS_MESSGAGE=failedecho Execution of isql command%STATUS_MESSAGE% - exiting if exist"%STATUS_FILE%" echo %RSTAT% > "%STATUS_FILE%" @echo on@endlocal

simon_peng 发表于 2014-06-17 15:04

在客户端做如下测试,策略 计划 服务器名都和环境一致,但是在我的主服务器上没有调用Default-Application_Backup
1> dump database test to "sybackup:-POLICY sybase_backup -SCHED Default-Application_Backup -SERV master"
2> go
Backup Server session id is:29.Use this value when executing the
'sp_volchanged' system stored procedure after fulfilling any volume change
request from the Backup Server.
Backup Server: 4.41.1.1: Creating new disk file
C:\Windows\system32\sybackup:-POLICY sybase_backup -SCHED
Default-Application_Backup -SERV master.
Backup Server: 6.28.1.1: Dumpfile name 'test141680CBAA   ' section number 1
mounted on disk file 'C:\Windows\system32\sybackup:-POLICY sybase_backup -SCHED
Default-Application_Backup -SERV master'
Backup Server: 4.58.1.1: Database test: 344 kilobytes DUMPed.
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 test: 348 kilobytes DUMPed.
Backup Server: 3.43.1.1: Dump phase number 3 completed.
Backup Server: 4.58.1.1: Database test: 352 kilobytes DUMPed.
Backup Server: 3.42.1.1: DUMP is complete (database test).
1>

simon_peng 发表于 2014-06-17 17:03

问题原因找到for windows2008上只支持sybase 15+
for win2003支持sybase 12.5+
页: [1]
查看完整版本: nbu 7.5.0.7 for win2008 sybase 12.5