最近我想使用 在GNU/Linux的 Sybase ASE (能适应的服务器企业)测试我 写道的某一DDL (数据定义语言)剧本。 我在是连续64位浅顶软呢帽13的系统决定投入Sybase ASE。 在这个岗位我通过什么将走您您在32位和64位浅顶软呢帽13需要知道为了顺利地安装产品和得到它操作。
Sybase,象Oracle和其他DBMSs,要求一名分开的用户。 所以创造一名新的用户命名主目录是/opt/sybase,并且是缺省用户群的成员,即sybase没有私人组的sybase。 我建议您投入Sybase ASE在/opt/sybase那典型地这样应用居住的地方,并且那是我在这个岗位使用的目录。
# useradd -d /opt/sybase -c "Sybase ASE account" -g users -m -- sybase
在您开始实际安装您需要检查共享内存段的当前最大大小(一部分的系统v IPC,为缺省看见/usr/include/linux/shm.h)之前和如果需要,增加它,到268435456 (256Mb)。
To view current value: # cat /proc/sys/kernel/shmmax To set it to a new value for this running session (takes effect immediately): # echo 268435456 > /proc/sys/kernel/shmmax To set it to a new value permanently (so it survives reboots), edit /etc/sysctl.conf: .... kernel.shmmax = 268435456 ....
您也需要保证以下包裹在您的系统被安装:
compat-libstdc++-33-3.2.3-68 libaio libaio-devel
如果您是在64位浅顶软呢帽13,您在您的系统需要安装一些32位图书馆在开始设施之前。 这是,因为称InstallAnywhere的Sybase ASE 安装了 (setup.bin)部分地是一个Java应用程序以在32位系统程序库的JNI (当地接口)附庸。 因为我的系统64位,我必须安装以下32位包裹:
glibc-2.12-2.i686 libXext-1.1-2.fc13.i686 libXtst-1.0.99.2-3.fc12.i686
我使用yum安装上述包裹。 其他包裹(Yum自动地安装libXau、libxcb、libX11、libXext和libXi解决附庸。 有趣注意到,某些包裹是被标记的fc12; 猜测他们为浅顶软呢帽13未曾被重建。
如果您不安装被列出的32位图书馆以上,您将收到以下错误信息,当您设法跑命名setup.bin)的Sybase ASE安置者(。
[sybase]$ ./setup.bin Preparing to install... Extracting the JRE from the installer archive... Unpacking the JRE... Extracting the installation resources from the installer archive... Configuring the installer for this system's environment... strings: '/lib/libc.so.6': No such file [sybase]$
/lib/libc.so.6是泄漏。 道路表明32位图书馆是缺掉的。
即然初阶是偏僻的,创造一临时安装目录任何地方您有充足的容量并且下载Sybase ASE tarball到它。 我从Sybase下载的tarball是ase155_linuxx86-64.tgz。 这是64位GNU/Linux的当前ASE开发商编辑。 如果您是在32位平台,下载32位版本。 如果需要改变归属和允许,以便sybase是这个目录和所有它的内容所有者并且成为用户sybase由什么意味衣服您。
除非另外说明,您应该从现在起登录作为sybase。 作为sybase, CD对临时安装目录和untar您下载的tarball。 有趣地,如果您看总值目录结构和文件您看见大多Sybase工具Java根据,并且Sybase ASE包括它是拥有JRE (Java运行时间环境)和许多其他共同的Java图书馆的版本。
Sybase ASE安置者在控制台或图形方式可能跑。 图形方式是更加容易使用以我所见,但是,如果您是在终端或遥远地连接您也许喜欢使用控制台方式。 注意,如果您未安装被列出的32位X图书馆以上,您能只使用控制台方式。 如果安排这些图书馆安装您,并且安置者仍然通知您它不可能通过消息使用图形方式类似此:
Graphical installers are not supported by the VM. The console mode will be used instead...
然后您需要修改您的X服务器设置。 以下命令应该修理您的问题:
# xhost si:localuser:sybase
xhost存取控制公共事业被用于增加和删除主机名或用户名到允许的个体名单建立与X服务器的联系。 上述命令增加类型localuser一个服务器被解释的词条与sybase的价值的。 如果您对句法,是缺乏信心的看见xhost和XSecurity联机资料。
如果所有进展顺利,这什么您应该看到您什么时候通过进入./setup.bin祈求安置者

我建议您为所有选择选择缺省出席对您。 保证设施是对/opt/sybase目录。 如果您是在一个合理地快速的系统,整个设施应该需要少于10分钟。
假设,安装是成功的,您应该修改用户sybase的.bashrc,以便它总是来源现在/opt/sybase目录里的SYBASE.sh剧本。 增加以下线到现有的.bashrc剧本。 这个剧本设定了必要的所有环境变量和道路管理Sybase ASE设施。
export LD_POINTER_GUARD=0 export SYBASE=/opt/sybase . ./SYBASE.sh
否则您将每次手动地必须来源SYBASE.sh您注册。 如果您使用ksh93修改.kshrc包括这个文件。 也有csh和tcsh抵抗的一个SYBASE.csh剧本。
要确定是否您安装的服务器跑,使用showserver shell script程序。
[sybase]$ showserver F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD 0 S sybase 7573 7572 34 80 0 - 91438 poll_s 18:14 ? 00:00:03 /opt/sybase/ASE-15_0/bin/dataserver -d/opt/sybase/data/master.dat -e/opt/sybase/ASE-15_0/install/ULTRA.log -c/opt/sybase/ASE-15_0/ULTRA.cfg -M/opt/sybase/ASE-15_0 -sULTRA [sybase]$
不同于Oracle,能适应的服务器运行作为一个唯一过程(dataserver)在浅顶软呢帽之内。 因为它有它是拥有穿线模型,两者都不它使用所有操作系统的螺纹。
下一个步骤将证实您是否能连接到能适应的服务器。 一个简单测试是使用isql公共事业检查能适应的服务器的什么版本跑。 我的服务器叫超。 您的服务器将称其他那么任何地方您在命令行看超过去常常用您的服务器的实际名字替换它。
[sybase@ultra ASE-15_0]$ isql -Usa -P -SULTRA 1> select @@version 2> go -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Adaptive Server Enterprise/15.5/EBF 17340 SMP/P/x86_64/Enterprise Linux/ase155/2391/64-bit/FBO/Mon Nov 9 18:44:45 2009 (1 row affected) 1> quit [sybase]$
如果您无法连接,用途netstat -检查能适应的服务器端口的na (缺省是5000)在听的状态。 如果您不可能仍然连接,检查您的IPTables和SELinux设置。
注意未需要Sybase系统管理员的(sa用户名)密码。 这是,因为设置sa密码的原始价值使无效。
设置系统管理员的密码:
[sybase]$ isql -Usa -P -Sserver_name 1> sp_password null, NEWPASSWORD 2> go 1> quit [sybase]$
那里零位是默认密码,并且“NEWPASSWORD”是您希望分配到sa帐户的密码。
Sybase提供称您能使用执行各种各样的行政任务的Sybase中央的一个模件(插入式)图形用户界面。 要祈求它,输入aseplugin在壳提示。 如果您收到关于“没有指定的协议的一个错误信息”象可能的,您需要通过及早在这个岗位描述的xhost命令同意对X服务器的进入。
这Sybase中央screenshot :

能适应的服务器使用逻辑设备存放物理数据。 在您去另一进一步之前,它是一个好想法创造一个新的逻辑设备,因此您不填满或损坏包含系统桌和其他重要数据期限设备的主要设备不一定提到一个分明物理设备这样盘; 它可能提到磁盘分区或一个单独文件。 在可以使用之前,必须准备和传达一个逻辑设备到能适应的服务器它。 这个过程称初始化。
我在/var/lib/sybase -一能适应的服务器的(test.dat)和一创造二个64Mb基于文件的设备备用服务器的(测试bs.dat) :
[sybase]$ isql -Usa -PXXXXXX -SULTRA 1> disk init name='test', physname='/var/lib/sybase/test.dat', size='64m' 2> go 00:00:00000:00023:2010/07/02 12:59:56.44 kernel Initializing virtual device 5, '/var/lib/sybase/test.dat' with dsync 'off'. 00:00:00000:00023:2010/07/02 12:59:56.44 kernel Virtual device 5 started using asynchronous (with DIRECTIO) i/o. 00:00:00000:00023:2010/07/02 12:59:56.44 kernel Initializing device /var/lib/sybase/test.dat from offset 0 with zeros. 00:00:00000:00023:2010/07/02 12:59:59.27 kernel Finished initialization. 1> disk init name='testlog', physname='/var/lib/sybase/test-bs.dat', size='64m' 2> go 00:00:00000:00023:2010/07/02 13:01:04.34 kernel Initializing virtual device 6, '/var/lib/sybase/test-bs.dat' with dsync 'off'. 00:00:00000:00023:2010/07/02 13:01:04.34 kernel Virtual device 6 started using asynchronous (with DIRECTIO) i/o. 00:00:00000:00023:2010/07/02 13:01:04.34 kernel Initializing device /var/lib/sybase/test-bs.dat from offset 0 with zeros. 00:00:00000:00023:2010/07/02 13:01:07.08 kernel Finished initialization. 1> create database test on test='64m' log on test-bs='64m' 2> go CREATE DATABASE: allocating 16384 logical pages (64.0 megabytes) on disk 'test' (16384 logical pages requested). CREATE DATABASE: allocating 16384 logical pages (64.0 megabytes) on disk 'test-bs' (16384 logical pages requested). Database 'test' is now online. 1> quit [sysbase]$
Sybase ASE另一个组分称XP服务器。 这台服务器使用与延长的存储过程(特别是)。 例如,特别是系统xp_cmdshell使您发出一个操作系统的指令从能适应的服务器的内部。 XP服务器和在同一个系统的能适应的服务器奔跑和通过远程程序电话(RPC)沟通,但是不同的过程。 理论是那跑的ESPs在一个分开的过程中保护能适应的服务器免受失败由于特别是有毛病的代码。
XP服务器,当安装,自动地安装一台能适应的服务器。 然而,当能适应的服务器被发动时,它不开始; 反而能适应的服务器发动XP服务器,第一次特别是被祈求并且如所需要关闭了XP服务器,当它退出时。
如果您想要使用特别是xp_cmdshell,您应该大概设置xp_cmdshell上下文到0,否则您将最终获得“被否认的用户存取。 没改变用户上下文”。 消息,当您设法使用它。 当xp_cmdshell上下文是0时,之下能适应的服务器操作系统的帐户的允许在(在我的情况, sybase)运行是被用于的允许执行从xp_cmdshell的一个操作系统的命令。
[sybase]$ isql -Usa -PXXXXX -SULTRA 1> use sybsystemprocs 2> go 1> sp_configure "xp_cmdshell context", 0 2> go Parameter Name Default Memory Used Config Value Run Value Unit Type -------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------- xp_cmdshell context 1 0 0 0 switch dynamic (1 row affected) Configuration option changed. ASE need not be rebooted since the option is dynamic. Changing the value of 'xp_cmdshell context' does not increase the amount of memory Adaptive Server uses. (return status = 0) 1> 1> xp_cmdshell date 2> go xp_cmdshell -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Sat Jul 3 23:04:07 EDT 2010 (1 row affected) (return status = 0) 1> quit [sybase]$
您能自上看到, xp_cmdshell日期退回现行数据。
Sybase ASE支持网服务并且来与它自己 基于跳船的网络服务器。 网服务包括二个组分、网服务生产商和网服务消费者。 独立能适应的服务器跑的两个组分。 使用肥皂,网服务生产商组分使客户端应用程序访问SQL和在能适应的服务器的存储过程。 网服务消费者组分使能适应的服务器访问其他应用网服务。 您能开始网服务使用位于$SYBASE/WS-15_0/bin的runconsumer或runproducer剧本。 口岸8181是缺省口岸。
这什么您在那个口岸应该看到,如果您祈求runproducer :

如果您不看网页类似此,则检查您的配置看您是否为网服务比8181指定了一个不同的口岸。
如果您想要自动化开始和停着您的Sybase设施,这可以增加到/etc/init.d处理这些任务的init剧本。
#!/bin/bash
#
# sybase This shell script takes care of starting and stopping Sybase ASE
#
# chkconfig: - 86 16
#
# config: /etc/sysbase/sybase.conf
#
### BEGIN INIT INFO
# Provides: dataserver
# Required-Start:
# Required-Stop:
# Should-Start:
# Short-Description: start and stop Sybase ASE database
# Description:
### END INIT INFO
# Source function library
if [[ -r /etc/rc.d/init.d/functions ]]; then
. /etc/rc.d/init.d/functions
else
exit 1
fi
# Source sybase configuration
if [[ -r /etc/sybase/sybase.conf ]]; then
. /etc/sybase/sybase.conf
else
exit 1
fi
# Source sybase variables
if [[ -r ${SYBASE_HOME}/SYBASE.sh ]]; then
. ${SYBASE_HOME}/SYBASE.sh
else
exit 1
fi
# Find the name of the script
BASENAME=$(basename $0)
# For SELinux we need to use 'runuser' not 'su'
if [[ -x /sbin/runuser ]]; then
SU=/sbin/runuser
else
SU=/bin/su
fi
RETVAL=0
start() {
SYBASE_START=$"Starting ${BASENAME} service: "
echo -n "$SYBASE_START"
$SU -l sybase -c "startserver -f ${SYBASE}/${SYBASE_ASE}/install/RUN_${SYBASE_SERVER}" > /dev/null
# ret=$?
if [[ $? -eq 0 ]]; then
success "$SYBASE_START"
else
failure "$SYBASE_START"
RETVAL=1
fi
echo
}
stop() {
echo -n $"Stopping ${BASENAME} service: "
$SU -l sybase -c "isql -S ${SYBASE_SERVER} -U sa < ${SYBASE}/stop.in" > /dev/null
# ret=$?
if [[ $? -eq 0 ]]; then
echo_success
else
echo_failure
RETVAL=1
fi
echo
}
case $1 in
start)
start
;;
stop)
stop
;;
status)
CNT=$($SU -l sybase -c "showserver" | /usr/bin/wc -l | /usr/bin/cut -f1)
RETVAL=$?
if [[ $CNT -eq 1 ]]; then
echo "$BASENAME is stopped ..."
else
echo "$BASENAME is running ..."
fi
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|status|restart}"
RETVAL=3
esac
exit $RETVAL
这个剧本期望发现Sybase ASE设施的一个配置文件在/etc/sybase/sybase.conf。 这我的sybase.conf内容:
# cat /etc/sybase/sybase.conf SYBASE_HOME="/opt/sybase" SYBASE_SERVER="ULTRA" #
Sybase init剧本使用的另一个文件是$SYBASE/stop.in。 这个文件包含isql声明需要对停工能适应的服务器和备用服务器。
PASSWORD shutdown go shutdown SYB_BACKUP go quit
那里“密码”是sa密码。
您能然后使用服务命令开始,停止和检查数据库的状况。
# service sybase start Starting sybase service: [ OK ] # service sybase status sybase is running ... # service sybase stop Stopping sybase service: [ OK ] # service sybase status sybase is stopped ...
如果您是老练的系统管理员,您不应该需要关于怎样的任何指示集成这个剧本正确奔跑水平,以便能适应的服务器自动地被发动并且中断,当解雇系统和停工时。 如果您需要帮助,那里是大量关于怎样的指南做很可利用在互联网的许多语言。 注意这个剧本不处理任何网服务。 如果您使用网服务,您应该大概修改剧本也处理开始或停着网服务。
其他二台服务器来与Sybase ASE。 他们从最初安装的角度不是重要的,但是我简单地将描述他们完整性的。 备用服务器是处理能适应的服务器的所有转储和装载的公共事业。 当能适应的服务器被发动,但是必须分别地是停工时,它自动地开始。 命令做此在被描述的stop.in文件包括上面。 显示器服务器在实时收集能适应的服务器工作特性并且安排数据可用存放数据,分析它并且制造报告的其他Sybase ASE工具。
那么,这是您应该需要知道得到Sybase ASE被安装和工作在浅顶软呢帽13的。 与您的特殊设施的好运。 请告诉我我是否错过了其中任一重要步,并且我将更新这个岗位。
P.S. Sybase慷慨地做许多他们的产品免费可得对开发商为非商业使用在GNU/Linux。 去 这里 对于更多信息和下载一个或更多的开发商编辑他们的产品。


























精密岗位。
感谢您采取那么十分地扩展这个题目的努力。 我盼望未来岗位。
- Pohlman
谢谢这个优秀岗位。
我恳切地赞赏您的出版的它努力。 它很多时间保存了我和头疼。
所有最好,
Cristian。
谢谢
巨大岗位
好工作在Oracle企业Linux 5.5 64bit
[sybase@nas1 ~] $。 ./SYBASE.sh
[sybase@nas1 ~] $ showserver
F S UID PID PPID C PRI NI地址SZ WCHAN STIME TTY时间CMD
0 S sybase 16259 16258 0 85 0 - 52902 184467 22:00 pts/1 00:00 :00 /opt/sybase/ASE-15_0/bin/monserver - SBEOWULF_1 -美国- P - n5 - l/opt/sybase/ASE-15_0/install/BEOWULF_1_MS.log - L/opt/sybase/ASE-15_0/BEOWULF_1_MS.cfg - m/opt/sybase/ASE-15_0 - MBEOWULF_1_MS
0 S sybase 16220 16219 0 78 0 - 6260 587567 22:00 pts/1 00:00 :00 /opt/sybase/ASE-15_0/bin/backupserver - e/opt/sybase/ASE-15_0/install/BEOWULF_1_BS.log - N25 - C20 - M/opt/sybase/ASE-15_0/bin/sybmultbuf - SBEOWULF_1_BS
0 S sybase 16183 16182 27 75 0 - 57602 stext 22:00 ? 00:00 :23 /opt/sybase/ASE-15_0/bin/dataserver - sBEOWULF_1 - d/opt/sybase/data/master.dat - e/opt/sybase/ASE-15_0/install/BEOWULF_1.log - c/opt/sybase/ASE-15_0/BEOWULF_1.cfg - M/opt/sybase/ASE-15_0
[sybase@nas1 ~] $ uname - a
Linux nas1.localdomain 2.6.18-194.el5 #1 SMP星期一3月29日22:10 :29 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
[sybase@nas1 ~] $ isql
~/OCS-15_0/bin/isql
[sybase@nas1 ~] $ isql -美国- P - SBEOWULF_1
1>选择@@version
2>是
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
能适应的服务器Enterprise/15.5/EBF 18164 SMP ESD#2/P/x86_64/Enterprise Linux/a
sear155/2514/64-bit/FBO/Wed 8月25日11:17 :26 2010年
(受影响的1行)
1>
如果不是工作与: isql -美国- P - SNAME_SERVER
在控制台的输入之前: 未装配的LANG
由例子:
[sybase@kikesanz ~] $未装配的LANG
[sybase@kikesanz ~] $ isql -美国- P - SKIKESANZ
是强的头疼, jojo
如果Sybase中央不连接和不显示这个错误:
连接发生了故障。
试图连接使用:
HOSTNAME=kikesanz; SERVERNAME=kike; USER=sa; JCONNECT_VERSION=0; PASSWORD= ***; =kikesanz; =5000
JZ006 : 被捉住的IOException : java.net.Co nnectException : 连接拒绝了
Por si Sybase中央没有conecta, dejo algunos pasos巴拉que se encarguen de otros errores, y les减少comparto的lo :
巴拉que conecte necesitan cambiar el archivo连接que se encuentra por defecto en :
/opt/sybase/interfaces
el减少estaba asi :
kike
主要tcp以太kikesanz 5000
询问tcp以太kikesanz 5000
kikebs
主要tcp以太kikesanz 5001
询问tcp以太kikesanz 5001
Aclaro que mi ip ES 192.168.1.64
lo deben poner en :
kike
主要tcp以太192.168.1.X 5000
询问tcp以太192.168.1.64 5000
kikebs
主要tcp以太192.168.1.64 5001
询问tcp以太192.168.1.64 5001
espero que没有les de lata, porque mi si que我dio联合国buen dolor de cabeza, y la verdad ES lo unico que le muy的este buen讲解的野兔falta。 Saludos todos。
抱歉,但是我的englisn是坏的,并且相信我是非常图表的与此。