SYBASE备份报错:Can't open a connection to site 'SYB_BACKUP',see the error log file in the ASE directory
2015-06-25 15:12
716 查看
SYBASE备份报错:Can't open a connection to site 'SYB_BACKUP',see the error log file in the ASE directory
问题原因:
该问题是由于SYBASE的ASE 安装/服务初始化程序的 BUG 导致的。在创建服务时,ASE 会创建一个名为类似 XXXX_BS 的备份服务,同时会在 master.sysservers 中插入一条对应记录。以服务名 XXXX 为例。 下面是 interfaces 文件和 sysservers 中的记录:sql.ini/interfaces(WINDOWS平台为sql.ini文件,Linux平台为interfaces文件) 文件内容:
[XXXX_BS]
master=NLWNSCK, 192.168.1.100,5001
query=NLWNSCK, 192.168.1.100,5001
sysservers 的记录:
(select srvname, srvnetname from sysservers where srvname='SYB_BACKUP')
srvname srvnetname
------------------------------ --------------------------------
SYB_BACKUP XXXX_BS
通常默认的备份服务器就是 SYB_BACKUP 。在 load/dump 时,ASE 通过 sysservers 获取备份服务器对应 sql.ini/interfaces 的信息,然后在 sql.ini/interfaces 文件中搜索该服务的实际位置(IP和端口)。在此例中,ASE 通过 sysservers 得到 sql.ini/interfaces 中的服务名为 XXXX_BS,然后在sql.ini/interfaces 中获取该服务的物理信息。如果 ASE 无法通过 sysservers 中的 srvnetname 在 sql.ini/interfaces 中获取相关信息,则会报上面的错误。
解决办法:
方法二:修改 sql.ini/interfaces 文件,将服务名改为 sysservers.srvnetname 对应的值;方法二:修改 sysservers 中相应记录的 srvnetname 的值为 sql.ini/interfaces 文件中的服务名。 这里我修改的是sysservers也就是系统表里面的的值:
1、在server config 中:获取本机sybase备份服务器名称:XXXX_BS
2、 参照以下执行(windows)
>C:\sybase\EJB-12_5\bin>isql.exe –Usa –P
>sp_dropserver SYB_BACKUP
>go
>sp_addserver SYB_BACKUP,null,xxxx_BS
>go
执行上面那句话就可以了,利用如下语句可查看修改结果:
1 use master
2 go
3 select srvname,srvnetname from sysservers where srvname='SYB_BACKUP'
修改完成后重新启动sybase的服务,再次备份即可。
相关文章推荐
- linux-nfs-安装
- Linux下rz,sz与ssh的配合使用
- shell脚本基础知识(上)
- 【理财】关于理财的网站
- 在Linux 6上使用UDEV解决 ASM存储设备问题( single path)
- linux统计文件大小和数量
- Apache_proxy负载均衡和Session复制
- 扔鸡蛋问题详解(Egg Dropping Puzzle)
- 修复/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory问题
- NSString什么时候用copy,什么时候用strong
- linux自动重启tomcat脚本
- Linux 7.2 iptables
- linux命令十一:cat
- How-to: Enable yarn ResourceManager HA
- 【笔记】Linux驱动学习第一章
- 设计网站推荐
- Linux(Red Hat 6 32位) 下安装Mysql5.6.30
- Linux下创建shell脚本文件
- Linux SSH 远程执行脚本
- Linux应用程序后台运行