免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2957 | 回复: 7
打印 上一主题 下一主题

ASE for Windows FAQ [复制链接]

论坛徽章:
34
ChinaUnix元老
日期:2018-07-04 15:10:362015年亚洲杯之阿联酋
日期:2015-02-06 17:15:532015亚冠之武里南联
日期:2015-06-06 15:40:252015亚冠之北京国安
日期:2015-06-17 15:42:412022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:322015亚冠之阿尔纳斯尔
日期:2015-09-20 09:42:1215-16赛季CBA联赛之北京
日期:2016-01-15 10:03:5915-16赛季CBA联赛之青岛
日期:2016-04-26 16:44:4915-16赛季CBA联赛之广夏
日期:2018-07-04 15:33:21C
日期:2016-10-25 16:12:142017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之同曦
日期:2017-02-22 22:41:10
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-05 00:13 |只看该作者 |倒序浏览
ASE for Windows FAQ
无法安装 ASE:窗口一闪而过
  当出现此问题时,可以明确两点:其一,ASE 版本为 12.5.0;其二、硬件为 PIV 以上。这源于 ASE 12.5.0 安装程序所带的 JRE 的 JIT (Just-In-Time)实时编译器在 PIV 下存在 Bug。  解决方法:  方法一:使用命令行窗口,先 set JAVA_COMPILER=NONE,然后再运行安装程序;  方法二:删除或重命名 ASE 安装目录下的 shared-1_0\jre1.2.2\bin\symcjit.dll 文件;  方法三:打 JRE 1.2.2 的补丁。  需要注意的是:在安装完后,仍需按以上方法对已安装的系统进行修改。  
在Windows 2000/XP/2003 中文版上安装 ASE 服务端/客户端时,安装程序显示乱码
  当出现此类问题时,首先可以明确的是你所安装的 ASE 是 12.5.0,而非 12.5.1/12.5.2/12.5.3/15。其原因是 12.5.0 安装程序所采用的 JDK 版本太旧,在中文化的处理上不完善。  解决办法:  1. 将 ASE 安装软件拷贝到硬盘上;  2. 进入 ASE 存放目录下的 shared-1_0 中的 jre 的 lib 目录中;  3. 重命名 font.properties.zh.NT4.0 文件,将下划线中的 4.0 改为 Windows 的版本号:    Windows 2000 => 5.0     Windows XP => 5.1     Windows 2003 => 5.2
ASE 12.5.0 安装完后,从“开始”菜单运行配置工具时报错,错误信息:“Invalid command line argument 'and'.”
  解决办法:从命令行启动 syconfig。
Windows2003上,ASE 12.5不能从服务启动
  遇上此问题的,ASE 版本显然是 12.5.0。Windows 2003 修改了服务接口,而 ASE 12.5.0 先于 Windows 2003 发布。  解决办法:安装 EBF 11449,即可解决问题。
安装 ASE 时,提示系统已安装有高版本 ASE
  安装时,ASE 在 Windows 安装目录下的 vpd.properties 文件中记录了版本信息。删除或重命名该文件即可。
利用 Windows 任务计划自动备份数据库
  对于一些小型企业,预算有限,可能无法购买价格高昂的商业化备份软件,手工备份又太烦琐,易忘。其实使用 Windows 自身的任务计划可以很好地解决问题。
REM @ECHO OFF

REM 检查参数
IF "%1" == "" GOTO displayUsage
IF "%2" == "" GOTO displayUsage
IF "%3" == "" GOTO displayUsage
IF "%4" == "" GOTO displayUsage

REM 取系统日期前10位
SET day=%DATE:~-10%

REM 取当前完整时间,将:号改为_
SET currentTime=%TIME::=_%
SET currentTime=%currentTime: =0%

REM 设置备份路径
REM 此备份目录必须手工设定,并且事先创建好。
SET localBackupDir=C:\dbbackup
SET remoteBackupDir=D:\RemoteBackup

REM 设置备份服务器
REM 设置本地日志路径,日志只能存放于本地!
SET defaultBackupServer=SYB_BACKUP
IF "%5" == "" (
    SET backupServer=
    SET logDir=%defaultBackupServer%
    SET backupDir=%localBackupDir%
) ELSE (
    SET backupServer=at %5
    SET logDir=%5
    SET backupDir=%remoteBackupDir%
)

IF NOT EXIST %logDir% mkdir %logDir%

REM 设置备份文件名,格式:数据库服务名.数据库名.日期.时间.dmp
SET filenamePrefix=%1.%4.%day%.%currenttime%
SET dmpFile=%backupDir%\%filenamePrefix%.dmp
REM 临时SQL文件名
SET sqlFile=%1.%4.dump.sql
REM 日志文件
SET logFile=%logDir%\%filenamePrefix%.log
REM 产生临时SQL文件
echo dump database %4 to '%dmpFile%' %backupserver% >%sqlfile%
echo go >>%sqlfile%
REM 备份
isql -S%1 -U%2 -P%3 -i%sqlfile% -o%logfile%
ECHO 备份完成,请检查日志文件%logFile%。
GOTO finished

:displayUsage
ECHO 用法:
ECHO   %0 service user password databasename [backupserver]
ECHO     service      : Sybase 服务名
ECHO     user         : 用户名
ECHO     password     : 用户密码
ECHO     databasename : 数据库名
ECHO     backupserver : 备份服务器名,可选
ECHO
ECHO 必须手工设置备份目录,并事先创建好!
ECHO 日志目录将建在当前运行目录下
ECHO 备份文件名格式:
ECHO     <服务名>.<数据库>.<日期>.<时间>.dmp
:finished
  将以上脚本另存为 BAT 文件,并修改相应的备份目录。然后创建任务,调用 BAT 文件,调用形式参考脚本。

论坛徽章:
34
ChinaUnix元老
日期:2018-07-04 15:10:362015年亚洲杯之阿联酋
日期:2015-02-06 17:15:532015亚冠之武里南联
日期:2015-06-06 15:40:252015亚冠之北京国安
日期:2015-06-17 15:42:412022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:322015亚冠之阿尔纳斯尔
日期:2015-09-20 09:42:1215-16赛季CBA联赛之北京
日期:2016-01-15 10:03:5915-16赛季CBA联赛之青岛
日期:2016-04-26 16:44:4915-16赛季CBA联赛之广夏
日期:2018-07-04 15:33:21C
日期:2016-10-25 16:12:142017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之同曦
日期:2017-02-22 22:41:10
2 [报告]
发表于 2006-07-05 00:14 |只看该作者
ASE On Linux FAQ
安装LINUX时的注意事项
对于采用 2.4.x 内核的发行版,如RH AS3,在选择要安装的包时应选择开发包;对于采用 2.6.x 内核的发行版,如RH AS4,在选择要安装的包时除了开发包外,还要选择遗留应用开发包。对于RedFlag,应选择全部包(RedFlag只有两个选项)。建议初学者选择完全安装。
配置内存
  Linux内核的最大共享内存默认配置为32M。为了安装Sybase ASE,需要增加最大共享内存。  对于 2.4.x 及以上内核而言,最简单的方法是编辑 /etc/sysctl.conf ,增加一行 kernel.shmmax ,然后运行 /sbin/sysctl -p 使之生效(重新启动自动生效)。我的 /etc/sysctl.conf 文件有以下行:    kernel.shmmax = 268435456   此行设置最大共享内存为256M。  你也可以用下面的命令直接更新 /proc 文件系统:    echo 268435456 > /proc/sys/kernel/shmmax  你可以将此命令放在 /etc/rc.d/rc.local (或你系统中相关文件)中,使之在启动时自动运行。   2.6内核的发行版(包括RedHat、SuSE)虽然内核最大共享内存的默认配置为8G(通过 ipcs -l 命令查看),但是仍然需要配置,原因不明。而RedFlag DC 5.0在安装过程中,直接修改了 /etc/sysctl.conf ,增加了 kernel.shmmax 行,因此不需要再调整,即可完成数据库服务的创建。
Sybase用户一定要使用sh吗?
  答案是:No。一些安装手册通常要求在创建sybase用户后,修改用户的 shell 为sh,实际上是完全不需要的。OS 默认的 bash 就完全可以满足。
如何设置Sybase环境?
  最简便的办法是将用 root 用户将 $SYBASE/SYBASE.sh拷贝到 /etc/profile.d 目录下,并将其属性修改为 755 。这样,系统会自动为每一个用户设置 Sybase 环境。(bash 和 sh)  如果只想为个别用户设置 Sybase 环境,则:
bash: 将 SYBASE.sh 文件的内容扩充到该用户主目录下的 .bashrc 文件中。
sh: 将 SYBASE.sh 文件拷贝到用户主目录下,并重命名为 .profiled 文件。
一定要设置LANG=C吗?
  答案是:No。一些安装手册通常要求将用户的 LANG 环境变量设置为 “C” 。设置为“C”,相对较为省事,但并不意味着就不能使用其它值,如zh_CN.GB18030。不过需要注意的是,当 LANG=zh-CN.GB18030 时,需要修改 $SYBASE/locales/locale.dat 文件中 linux 一节,将 zh-CN.gb18030 改为 zh-CN.GB18030。
Sybase无法在系统启动时自动启动
  Ok,这个问题应该只会在ASE12.5.0(含)以下版本,和采用 2.4.x 内核的 Linux 发布版上才会出现,因为自 12.5.1 开始,Sybase 不再提供启动脚本。  ASE 启动脚本采用了一个开源软件(具体名字不记得了)来获取 ASE 的目录。当存在多个匹配记录时,该软件最初是只返回第一条记录,恰巧是 ASE 的安装目录,然而,该软件后来修改了返回结果,返回一个列表。  解决方法是:直接修改该脚本,改为实际目录。
此脚本文件另存为 /etc/init.d/sybase ,并改变文件属性为 755 。 注意 Sybase 安装目录和 Sybase 用户的修改。   SYB_HOME=/opt/sybase   SYB_USER=sybase  然后为运行级别建立服务连接,通常是运行级别 3 和 5。  自动启动:   ln -s /etc/init.d/sybase /etc/rc.d/rc3.d/S99sybase   ln -s /etc/init.d/sybase /etc/rc.d/rc5.d/S99sybase

论坛徽章:
34
ChinaUnix元老
日期:2018-07-04 15:10:362015年亚洲杯之阿联酋
日期:2015-02-06 17:15:532015亚冠之武里南联
日期:2015-06-06 15:40:252015亚冠之北京国安
日期:2015-06-17 15:42:412022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:322015亚冠之阿尔纳斯尔
日期:2015-09-20 09:42:1215-16赛季CBA联赛之北京
日期:2016-01-15 10:03:5915-16赛季CBA联赛之青岛
日期:2016-04-26 16:44:4915-16赛季CBA联赛之广夏
日期:2018-07-04 15:33:21C
日期:2016-10-25 16:12:142017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之同曦
日期:2017-02-22 22:41:10
3 [报告]
发表于 2006-07-05 00:14 |只看该作者
Start of topic | Skip to actions

Sybase ASE 常见问与答
为什么生产环境不要设置 truncate log on checkpoint?
  有些用户贪图简便,在生产环境中设置了 truncate log on checkpoint 。其原意不外是避免因写满日志而导致的业务停顿。殊不知,这样的设置可能带来不可挽回的灾难。因为当事务被截断后,从最近一次全备到当前的事务均不可能再恢复了!如果这期间出现问题,如磁盘损坏,则将导致大量数据丢失。  在生产环境中,应通过配置合理的备份策略来进行全备和增量备份。典型的策略是每周一次全备,每天一次增量备份。用户应根据自身应用的实际情况(数据量、数据增量、数据重要性等因素),合理调整,如改为一天两次增量备份。如果需要大量导入数据,可能写满日志,那么可能临时设置 truncate log on checkpoint,但需要注意的是:完成数据导入后,应立即取消此设置,并马上进行全备。  
如何分离日志与数据?
  1、备份数据库,包括 master 和你要分离数据与日志的应用库(废话,根据Sybase ASE 系统管理员日常维护指南,这一步是必不可少,以至于不用写出来的步骤);  2、检查日志是否有单独的存放设备,如有,则直接到第5步;  3、增加一个设备:disk init .....;  4、alter database db_name log on new_log_device=xxx  5、sp_dropsegment logsegment, db_name, device_name  6、查看是否已分离(sp_helpdb或sp_helplog);   需要注意的是,执行 sp_helplog 会提示以下类似信息:No valid log device can be found to contain the starting logpage of 'xxxx', on database 'xxxxx'. Perhaps the segment mapping of database has changed recently. Please inspect the sysusages catalog and contact your system administrator.   你大可不必紧张。段(segment)只是管理以后如何为对象分配空间,增加和删除 segment 并不移动当前的已分配空间。日志至少有一个扩充(extend)位于以前的 segment 上(还记得吗,为对象分配存贮单元时,实际是以 extend 为单位的。)。如果当前 extend 被填满,需要再为日志分配时,ASE会在新的 segment 上分配(segment 约束它不得不这么做)。此时,截断日志就可以回收以前分配的 extend 了。  7、因此,如果不想看到 sp_helplog 的“错误输出”,你可以创建一个临时表,然后往面插入足够的数据,然后截断日志;  8、老规矩,也是很重要的一步:备份数据库,包括 master 和你分离数据与日志的应用库。
新安装ASE或新建服务后,无法连接备份服务器
  在安装ASE或新建服务后,试图 load 或 dump 数据库时,总是提示如下信息:
Can't open a connection to site 'SYB_BACKUP', See the error log file in the SQL Server boot directory.
error code = 7205
  通常,这是由于 ASE 安装/服务初始化程序的 BUG 导致的。在创建服务时,ASE 会创建一个名为类似 XXXX_BS 的备份服务,同时会在 master..sysservers 中插入一条对应记录。以服务名 FLYBAEN 为例,下面是 interfaces 文件和 sysservers 中的记录:
  interfaces 文件内容:
         FLYBEAN_BS
             master tcp ether FLYBEAN_LINUX 5001
             query tcp ether FLYBEAN_LINUX 5001

     sysservers 的记录:(select srvname, srvnetname from sysservers where srvname='SYB_BACKUP')
         srvname                        srvnetname                       
         ------------------------------ --------------------------------
         SYB_BACKUP                     FLYBEAN_BS
  通常默认的备份服务器就是 SYB_BACKUP。在 load/dump 时,ASE 通过 sysservers 获取备份服务器对应 interfaces 的信息,然后在 interfaces 文件中搜索该服务的实际位置(IP和端口)。在此例中,ASE 通过 sysservers 得到 interfaces 中的服务名为 FLYBEAN_BS,然后在interfaces 中获取该服务的物理信息。如果 ASE 无法通过 sysservers 中的 srvnetname 在 interfaces 中获取相关信息,则会报上面的错误。  那么解决办法就是非常简单的。  方法一:修改 interfaces 文件,将服务名改为 sysservers.srvnetname 对应的值;  方法二:修改 sysservers 中相应记录的 srvnetname 的值为 interfaces 文件中的服务名。   
如何配置异地备份?
  自 11.9.2(待确认) 开始,ASE 支持异地备份,具体方法举例如下:  假设两台 ASE 数据库服务器,分别为 A 和 B,数据库服务分别为:SRV_A, SRV_A_BS; SRV_B, SRV_B_S。我们要把 B 上的数据库 DB_1 备份到 A 上。  1. 修改 B 上的 interfaces 文件,增加 SRV_A_BS 的配置,如:
    SRV_A_BS
      master tcp ether A BS_PORT
      query tcp ether A BS_PORT
  2.用 isql 登录 SRV_B,为 SRV_B 增加一个远程服务:SRV_A_BS    sp_addserver "SRV_A_BS",null,"SRV_A_BS"  3.测试:dump database DB_1 to 在 A 上的路径及文件名 at "SRV_A_BS"

论坛徽章:
34
ChinaUnix元老
日期:2018-07-04 15:10:362015年亚洲杯之阿联酋
日期:2015-02-06 17:15:532015亚冠之武里南联
日期:2015-06-06 15:40:252015亚冠之北京国安
日期:2015-06-17 15:42:412022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:322015亚冠之阿尔纳斯尔
日期:2015-09-20 09:42:1215-16赛季CBA联赛之北京
日期:2016-01-15 10:03:5915-16赛季CBA联赛之青岛
日期:2016-04-26 16:44:4915-16赛季CBA联赛之广夏
日期:2018-07-04 15:33:21C
日期:2016-10-25 16:12:142017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之同曦
日期:2017-02-22 22:41:10
4 [报告]
发表于 2006-07-06 11:37 |只看该作者
好贴就这么沉了??

论坛徽章:
0
5 [报告]
发表于 2006-07-06 11:40 |只看该作者
顶一下

论坛徽章:
0
6 [报告]
发表于 2006-07-06 15:27 |只看该作者
顶起来

论坛徽章:
0
7 [报告]
发表于 2006-07-06 15:58 |只看该作者

论坛徽章:
0
8 [报告]
发表于 2006-07-23 21:00 |只看该作者
顶起来,LZ继续
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP