﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-狼爱上狸-随笔分类-Sybase</title><link>http://www.blogjava.net/waterjava/category/23752.html</link><description>闻道有先后  术业有专攻</description><language>zh-cn</language><lastBuildDate>Mon, 02 Jul 2007 07:55:52 GMT</lastBuildDate><pubDate>Mon, 02 Jul 2007 07:55:52 GMT</pubDate><ttl>60</ttl><item><title>SYBASE数据库修复及sa口令恢复</title><link>http://www.blogjava.net/waterjava/archive/2007/07/02/127467.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Mon, 02 Jul 2007 03:43:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2007/07/02/127467.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/127467.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2007/07/02/127467.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/127467.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/127467.html</trackback:ping><description><![CDATA[SYBASE数据库管理系统中数据库损坏后，重新建立数据库的时间比较长，这将给应用（特别是对时间要求特别严格的应用，如金融、证券等）造成很大的损失。而如果在应用中遗忘超级用户sa口令，更会给系统管理带来极大的不便，甚至很多操作都无法进行。本文介绍一种简便的修复SYBASE数据库及恢复sa口令的方法。以下假定server能正常启动，server名为SYBASE，数据库名为demodb。 <br><br><strong>一、修复SYBASE数据库 分为两种情况：</strong> <br><br>1.数据库所用的设备正常，而库demodb的状态为suspect。<br><br>（1）以sa注册<br><br>&nbsp;&nbsp;&nbsp;&nbsp; isql&nbsp; -u sa&nbsp; -P<br>&nbsp;&nbsp;&nbsp;&nbsp; 1&gt;<br><br>（2）修改server属性，置系统表为允许修改该状态。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 1&gt;sp_configure "allow updates",1<br>&nbsp;&nbsp;&nbsp;&nbsp; 2&gt;go<br>&nbsp;&nbsp;&nbsp;&nbsp; 3&gt;recofigure with override<br>&nbsp;&nbsp;&nbsp;&nbsp; 4&gt;go<br><br>（3）修改数据库的状态，置数据库状态为server启动时不检测。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 1&gt;update master.sysdatabases set status = -32768<br>&nbsp;&nbsp;&nbsp;&nbsp; 2&gt;where name = "demodb"<br>&nbsp;&nbsp;&nbsp;&nbsp; 3&gt;go<br><br>（4）重启server。<br><br>（5）修改数据库的状态，置数据库状态为正常。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 1&gt;update master.sysdatabases set status = 0<br>&nbsp;&nbsp;&nbsp;&nbsp; 2&gt;where name ="demodb"<br>&nbsp;&nbsp;&nbsp;&nbsp; 3&gt;go<br><br>（6）修改server属性，置系统表为不允许修改状态。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 1&gt;sp_configure "allowupdates",0<br>&nbsp;&nbsp;&nbsp;&nbsp; 2&gt;go<br>&nbsp;&nbsp;&nbsp;&nbsp; 3&gt;reconfigure with override<br>&nbsp;&nbsp;&nbsp;&nbsp; 4&gt;go<br><br>（7）再次重启server。<br><br>　　至此，如果数据库能够正常，则恢复完毕。 <br><br>　　以上步骤中，也可以用单用户模式启动server，命令为startserver -m，而不必修改server的"allow updates"属性。SYBASE 11及以上版本的server只需重启，不需要执行reconfigure with override。如果上述方法仍不能恢复数据库，则只能使用dbcc命令删除该数据库，然后重新建立。 <br><br>2.数据库所占用的设备不正常，库的状态为suspect 使用sp_helpdb和sp_helpdevice命令查出数据库设备的逻辑名、物理名、设备号、大小等信息。如果上述命令无法查出数据库设备的信息，可使用select * from master.sydatabases和select * from master.sysdevices。然后用disk reinit重建设备。最后，按照1的步骤恢复数据库。 <br><br>　　上述第一种情况数据库损坏程度较轻，对数据库内容检查后即可使用。而在第二种情况下，如果数据库的日志建立在不同的设备上，只是数据库的日志设备损坏，数据库的损坏程度会较轻，只是有些交易无法恢复；如果数据库的设备损坏，整个数据库的内容会全部丢失，其中表、表的内容、存储过程都需要重建。所以建议数据库和数据库的日志建立在不同的设备上。 <br><br>　　系统错误日志errorlog文件存有SYBASE数据库系统的错误信息，系统出错时应先检查此文件，据此判断错误原因，找出解决办法，以免误操作。<br><br><strong>二、 恢复sa口令</strong> <br><br>　　编辑RUN_SYBASE，在dataserver启动行尾加入参数 -psa，然后存盘退出，执行startserver -f RUN_SYBASE重启server，系统会给超级用户sa一个随机的密码，以此密码注册进入server，然后使用sp_password命令修改密码即可。<br><br><br>traceback:http://www.easyrecovery.com.cn/shujuku/2007-3-30/sybase-sa.htm 
<img src ="http://www.blogjava.net/waterjava/aggbug/127467.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2007-07-02 11:43 <a href="http://www.blogjava.net/waterjava/archive/2007/07/02/127467.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>UNIX Sybase安装说明</title><link>http://www.blogjava.net/waterjava/archive/2007/07/02/127465.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Mon, 02 Jul 2007 03:41:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2007/07/02/127465.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/127465.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2007/07/02/127465.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/127465.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/127465.html</trackback:ping><description><![CDATA[Sybase在unix下安装大致步骤说明如下： <br><br>1、&nbsp;用scoadmin建立&nbsp;sybase用户&nbsp; <br><br>2、&nbsp;sybase登录， <br><br>在/usr/sybase目录下.profile文件最后加入如下语句：&nbsp;SYBASE=/usr/sybase&nbsp;export&nbsp;SYBASE&nbsp;DSQUERY=SYBASE&nbsp;export&nbsp;DSQUERY&nbsp; <br><br>3、&nbsp;root登录，设置共享内存最大值：&nbsp; <br><br>#cd&nbsp;/etc/conf/cf.d&nbsp; <br><br>#./configure&nbsp; <br><br>然后在出现的一系列设置选项中选择第16项来设置共享内存最大值，根据计算机的内存大小来设置不同的值，64M设为67108864，128M设为68108864。录入新值后，以后3项不改，直接回车，然后按q退出，出现提示是否接受（y/n），选y&nbsp; <br><br>4、&nbsp;更改目录&nbsp;/etc/conf/sdevice.d中aio、sio、suds三个文件的第一项，将N改Y&nbsp; <br><br>5、&nbsp;#vi&nbsp;/etc/rc2&nbsp;在最后加入一行：&nbsp;/etc/suds_ctrl&nbsp;-a&nbsp;50&nbsp; <br><br>6、&nbsp;执行#/etc/conf/cf.d/link_unix&nbsp;进行链接， <br><br>出现&nbsp;&#8230;&#8230;&#8230;&#8230;&#8230;boot&nbsp;by&nbsp;default?(y/n)&nbsp;y&nbsp; <br><br>&#8230;&#8230;&#8230;&#8230;&#8230;kernel&nbsp;enviroment&nbsp;rebuilt&nbsp;(y/n)&nbsp;y&nbsp; <br><br>#reboot&nbsp; <br><br>7、&nbsp;root登录，#mount&nbsp;/dev/cd0&nbsp;/mnt&nbsp; <br><br>8、&nbsp;sybase登录，$/mnt/sybload&nbsp;-D&nbsp; <br><br>提示：是否/usr/sybase目录(y/n)?&nbsp;y&nbsp; <br><br>&#8230;&nbsp;Local&nbsp;or&nbsp;Remote&nbsp;&#8230;&nbsp;&gt;L&nbsp; <br><br>&#8230;&nbsp;disk&nbsp;file&nbsp;of&nbsp;the&nbsp;global&nbsp;archive&#8230;&nbsp;&gt;/mnt/sybimage&nbsp; <br><br>&#8230;&nbsp;Authoring&nbsp;String&nbsp;&#8230;&nbsp;&gt;序列号&nbsp; <br><br>&#8230;Sybase&nbsp;Products&nbsp;available&nbsp;for&nbsp;installation&#8230;&nbsp;1.&nbsp;&#8230;&#8230;&nbsp; <br><br>2.&nbsp;product&nbsp;No.2&nbsp;SQL&nbsp;Server.sco.10.0.2&nbsp;3.&nbsp;&#8230;&#8230;&nbsp;&gt;2&nbsp; <br><br>&gt;回车 <br><br>if&nbsp;this&nbsp;list&nbsp;is&nbsp;correct&nbsp;as&nbsp;show&nbsp;&#8230;&#8230;&nbsp;please&nbsp;enter&nbsp;&#8216;y&#8217;&nbsp;or&nbsp;&#8216;Y&#8217;&nbsp;to&nbsp;cotinue&nbsp;&#8230;(y/n)&nbsp; <br><br>y&nbsp; <br><br>Positioning&nbsp;Media&nbsp;For&nbsp;loading&nbsp;Please&nbsp;Wait&nbsp;开始从光盘上拷贝文件&nbsp;x.&nbsp;&#8230;&#8230;&#8230;&nbsp; <br><br>9、$su&nbsp;#umount&nbsp;/mnt&nbsp; <br><br>10、&nbsp;Ctrl-d <br><br>回到sybase用户&nbsp; <br><br>$cd&nbsp;/usr/sybase/install&nbsp; <br><br>$./sybinit&nbsp; <br><br>1.&nbsp;release&nbsp;directory&nbsp; <br><br>2.&nbsp;Edit/view&nbsp;interfaces&nbsp;file&nbsp; <br><br>3.&nbsp;Configure&nbsp;a&nbsp;server&nbsp;product&nbsp; <br><br>4.&nbsp;Configure&nbsp;an&nbsp;open&nbsp;client/server&nbsp;product <br><br>5.&nbsp;Configure&nbsp;a&nbsp;Front&nbsp;End&nbsp;product&nbsp;Ctrl_a(accept)&nbsp;Ctrl_x(exit&nbsp;screen)&nbsp;选2&nbsp;后出现 <br><br>1．&nbsp;Add&nbsp;a&nbsp;new&nbsp;entry&nbsp; <br><br>2．&nbsp;Modify&nbsp;an&nbsp;exisiting&nbsp;entry&nbsp; <br><br>3．&nbsp;View&nbsp;an&nbsp;existing&nbsp;entry&nbsp; <br><br>4．&nbsp;Delete&nbsp;an&nbsp;existing&nbsp;entry&nbsp; <br><br>选1&nbsp;后出现&nbsp; <br><br>1．&nbsp;Server&nbsp;name:&nbsp;输入1后再输入server名字：SYBASE, <br><br>按Ctrl_a后出现&nbsp; <br><br>1．&nbsp;Retry&nbsp;count&nbsp;:&nbsp;0&nbsp; <br><br>2．&nbsp;Retry&nbsp;deiay&nbsp;:&nbsp;0&nbsp; <br><br>3．&nbsp;Add&nbsp;a&nbsp;new&nbsp;listetener&nbsp;service <br><br>分别选1和2，将其值改为2&nbsp; <br><br>选3后出现&nbsp; <br><br>1．&nbsp;Hostname/Address&nbsp; <br><br>2．&nbsp;Port:&nbsp;(&nbsp;建议在5000-50000之间) <br><br>3．&nbsp;Name&nbsp;Alias:&nbsp; <br><br>4．&nbsp;Delete&nbsp;this&nbsp;service&nbsp;from&nbsp;the&nbsp;interfaces&nbsp;entry&nbsp; <br><br>选1输入本机名：localhost, <br><br>选2输入8888，Ctrl_a接受&nbsp; <br><br>Is&nbsp;this&nbsp;information&nbsp;correct&nbsp;&#8230;&#8230;(y/n)&nbsp;y&nbsp; <br><br>Ctrl_a <br><br>Write&nbsp;the&nbsp;changes&nbsp;to&nbsp;the&nbsp;interfaces&nbsp;file&nbsp;now?&nbsp; <br><br>y&nbsp; <br><br>Ctral_a&nbsp; <br><br>11、&nbsp;返回主菜单， <br><br>选3.configure&nbsp;a&nbsp;server&nbsp;product&nbsp;后出现&nbsp; <br><br>1．&nbsp;SQL&nbsp;Server&nbsp; <br><br>2．&nbsp;Backup&nbsp;Server <br><br>选1后出现&nbsp; <br><br>1．&nbsp;Configure&nbsp;a&nbsp;new&nbsp;SQL&nbsp;Server&nbsp; <br><br>2．&nbsp;Configure&nbsp;an&nbsp;existing&nbsp;SQL&nbsp; <br><br>3．&nbsp;Upgrade&nbsp;an&nbsp;existing&nbsp;SQL&nbsp;Server&nbsp; <br><br>选1，Ctrl_a&nbsp;确认后出现9项&nbsp; <br><br>1．&nbsp;CONFIGURE&nbsp;SERVER&#8217;S&nbsp;INTERFACES&nbsp;FILE&nbsp;ENTRY&nbsp;COMPLETE&nbsp; <br><br>2．&nbsp;MASTER&nbsp;DEVICE&nbsp;CONFIGURATION&nbsp;INCOMPLETE&nbsp; <br><br>3．&nbsp;SYBSYSTEMPROCS&nbsp;DATABASE&nbsp;CONFIGURATION&nbsp;INCOMPLETE&nbsp; <br><br>4．&nbsp;SET&nbsp;ERRORLOG&nbsp;LOGATION&nbsp;INCOMPLETE&nbsp; <br><br>5．&nbsp;CONFIGURE&nbsp;DEFAULT&nbsp;BACKUP&nbsp;SERVER&nbsp;INCOMPLETE <br><br>6．&nbsp;CONFIGURE&nbsp;LAGUAGES&nbsp;INCOMPLETE&nbsp; <br><br>7．&nbsp;CONFIGURE&nbsp;CHARACTER&nbsp;SETS&nbsp;INCOMPLETE <br><br>8．&nbsp;CONFIGURE&nbsp;SORT&nbsp;ORDER&nbsp;INCOMPLETE&nbsp; <br><br>9．&nbsp;ACTIUATE&nbsp;AUDITING&nbsp;INCOMPLETE&nbsp; <br><br>从2至9开始设置&nbsp; <br><br>选2出现&nbsp; <br><br>1．&nbsp;Master&nbsp;device&nbsp; <br><br>2．&nbsp;Size&nbsp;&lt;17&gt;&nbsp; <br><br>选2设为30， <br><br>Ctrl_a确认退回上级菜单&nbsp; <br><br>选3出现&nbsp; <br><br>1．&nbsp;Sybsystemprocs&nbsp;database&nbsp;size&nbsp;(Meg):12&nbsp; <br><br>2．&nbsp;Sybsystemprocs&nbsp;logical&nbsp;device&nbsp;name:&nbsp;sysprocsdev&nbsp; <br><br>3．&nbsp;Create&nbsp;new&nbsp;device&nbsp;for&nbsp;the&nbsp;sybsystemprocs&nbsp;database:&nbsp;yes <br><br>4．&nbsp;Physical&nbsp;name&nbsp;of&nbsp;new&nbsp;device:&nbsp;/usr/sybase/sybprocs.dat&nbsp; <br><br>5．&nbsp;Size&nbsp;of&nbsp;the&nbsp;new&nbsp;device&nbsp;(Meg):&nbsp;12&nbsp; <br><br>选1和5将值改为17，Ctrl_a确认退回上级菜单&nbsp; <br><br>依次选择第4到第9项出现&nbsp; <br><br>分别Ctrl+a&nbsp;确认即可&nbsp;，然后出现提示（y/n)&nbsp;选择&nbsp;"y" <br><br>Ctrl+a&nbsp;确认 <br><br>设置完成后根据提示进行确认。 <br><br>12。&nbsp;开始安装程序。 <br><br>13&nbsp;安装完成后退出 <br><br>回到菜单&nbsp;1.&nbsp;SQL&nbsp;Server <br><br>2.&nbsp;Backup&nbsp;server <br><br>选择&nbsp;2 <br><br>Ctrl+a&nbsp;确认 <br><br>出现的菜单下选择&nbsp;2。Enter/modify&nbsp;backup&nbsp;server&nbsp;interfaces&nbsp;files&nbsp;informantion <br><br>Ctrl+a&nbsp;确认 <br><br>出现菜单中 <br><br>将&nbsp;1，2&nbsp;项设为2&nbsp;《与前面相应步骤类似》 <br><br>然后选择第3项 <br><br>将&nbsp;1.&nbsp;hostname/address&nbsp;&lt;本机名&gt;&nbsp;(如&nbsp;localhost) <br>2.prot&nbsp;&lt;设为9999&gt;&nbsp;(注5000-50000之间任意，但不要与前面设的port相同） <br><br>第3，4&nbsp;项不改。 <br><br>Ctrl+a&nbsp;确认 <br><br>以下操作根据提示或Ctrl+a确认，或根据提示（y/n)按y <br><br>完成操作后也就完成了sybase&nbsp;的安装。 <br><br>　 <br><br><br>-------------------------------------------------------------------------------- <br><br>(注：本文档是作者根据经验整理出来的，其中错误之处在所难免。仅供参考之用， <br><br>希望各位高手指正。）<br><br><br>traceback: <a href="http://www.qingren.org/item/1017/">http://www.qingren.org/item/1017/</a>&nbsp;<br>
<img src ="http://www.blogjava.net/waterjava/aggbug/127465.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2007-07-02 11:41 <a href="http://www.blogjava.net/waterjava/archive/2007/07/02/127465.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sybase系统维护经验谈</title><link>http://www.blogjava.net/waterjava/archive/2007/07/02/127463.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Mon, 02 Jul 2007 03:37:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2007/07/02/127463.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/127463.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2007/07/02/127463.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/127463.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/127463.html</trackback:ping><description><![CDATA[<p>　　Sybase数据库系统作为C/S构架的主流产品在我国有着广泛的应用,因此,对Sybase系统的维护也 <br>显得至关重要。笔者在对Sybase系统维护工作中，总结了一些技巧和经验，现介绍给大家。 <br><br>　　1.实现开机时自动装载Sybase数据库 <br><br>　　原先要使Sybase&nbsp;SQL&nbsp;Server启动，一般需要先以sybase用户登录，然后运行$SYBASE/install目录下 <br>的startserver命令启动SYBASE_XXXX服务进程和SYB_BACKUP_XXXX备份服务进程。 <br><br>　　要实现Unix系统启动时就能在后台装载Sybase的功能,我们可在/etc/rc2.d/目录下新建一文件S99sybase, <br>内容如下: <br><br>　　SYBASE=/usr/sybase <br><br>　　PATH=$PATH:$SYBASE/bin <br><br>　　export&nbsp;$SYBASE&nbsp;$PATH <br><br>　　$SYBASE/install/startserver&nbsp;-f&nbsp;$SYBASE/install/RUN_SYBASE_XXXX&nbsp;&gt;&nbsp;/dev/null <br><br>　　$SYBASE/install/startserver&nbsp;-f&nbsp;$SYBASE/install/RUN_SYB_BACKUP_XXX&nbsp;&gt;/dev/null <br><br>　　然后修改Sybase的权限，重启系统即可。 <br><br>　　2.实现关机时自动卸载Sybase数据库 <br><br>　　为保证Sybase系统的正常运行，每次在关闭Unix系统时要先结束Sybase&nbsp;SQL&nbsp;Server&nbsp;的服务进程，从减轻 <br>系统管理人员操作的角度出发建立一用户halt，修改/etc/passwd文件，将halt用户的uid改为0（或其他可运行 <br>shutdown的用户id），在/usr/halt/.profile中添加以下语句： <br><br>　　SYBASE=/usr/sybase <br><br>　　DSQUERY=SYBASE_XXXX <br><br>　　PATH=$PATH:$SYBASE/bin <br><br>　　export&nbsp;SYBASE&nbsp;DSQUERY&nbsp;PATH <br><br>　　isql&nbsp;-Usa&nbsp;-Pabcabc&nbsp;-ihalt.sql&nbsp;&gt;&nbsp;/dev/null <br><br>　　shutdown&nbsp;-y&nbsp;-g0 <br><br>　　其中&#8220;abcabc&#8221;为sa用户的口令,halt.sql是一简单的文本文件，内容如下： <br><br>　　shutdown <br><br>　　go <br><br>　　这样每次只要以halt用户登录，就实现了自动卸下Sybase数据库，然后关闭Unix系统。 <br><br>　　3.Sybase库备份技巧 <br><br>　　一般对Sybase库进行备份都用磁带作介质进行，但还有一更好的方法，即先备份到硬盘上然后经压缩， <br>拷贝到磁带上，这样便于恢复，多了一个备份拷贝，同时也节省了备份时间。具体实现步骤如下： <br><br>　　（1）建立磁盘备份设备 <br><br>　　运行isql，以sa进入Sybase系统，运行如下内容： <br><br>　　sp_addumpdevice&nbsp;"disk",disk_bkupdevice&nbsp;,/tmp/dumpdb&nbsp;,2 <br><br>　　go <br><br>　　这样就在Sybase中建立了一个名为&#8220;disk_bkupdevice&#8221;的备份设备，它对应Unix系统下的/tmp/dumpdb文件。 <br><br>　　（2）创建备份用户 <br><br>　　以root身份进入Unix系统，新建用户backupdb，并归属于sybase组。 <br><br>　　（3）修改相关文件 <br><br>　　在/usr/backupdb/.profile中添加以下语句： <br><br>　　SYBASE=/usr/sybase <br><br>　　DSQUERY=SYBASE_XXXX <br><br>　　PATH=$PATH:$SYBASE/bin <br><br>　　export&nbsp;SYBASE&nbsp;DSQUERY&nbsp;PATH <br><br>　　rm&nbsp;/tmp/backupdb.Z <br><br>　　echo"开始备份SYBASE数据库&#8230;" <br><br>　　isql&nbsp;-Usa&nbsp;-Pabcabc&nbsp;-ibackup.sql&nbsp;&gt;&nbsp;/tmp/dbbackup.log <br><br>　　echo"硬盘备份完成，正在压缩备份的数据文件&#8230;" <br><br>　　compress&nbsp;/tmp/backupdb <br><br>　　echo&nbsp;"正在将备份的压缩数据拷入磁带&#8230;" <br><br>　　tar&nbsp;c8v&nbsp;/tmp/backupdb.Z <br><br>　　echo&nbsp;"备份完成！" <br><br>　　其中"abcabc"为sa用户的口令,backup.sql是一简单的文本文件，内容如下： <br><br>　　dump&nbsp;database&nbsp;db_main&nbsp;to&nbsp;disk_bkupdevice <br><br>　　go <br><br>　　备份的执行日志被记录在/tmp/dbbackup.log中，当然系统管理员也可通过查看$SYBASE/install/backup.log <br>获知备份日志。 <br><br>　　这种备份方法要求硬盘空间足够大，这点请系统管理员在为Unix建分区时特别注意。 <br><br>　　在SCO&nbsp;Open&nbsp;Server&nbsp;5.0.4、Sybase&nbsp;11.0.3平台上，以上几个小技巧已应用成功，为笔者的日常维护节省了许 <br>多时间，取得了非常好的效果。</p>
<p>&nbsp;</p>
<p>traceback: <a href="http://www.qingren.org/item/1016/">http://www.qingren.org/item/1016/</a>&nbsp;</p>
<img src ="http://www.blogjava.net/waterjava/aggbug/127463.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2007-07-02 11:37 <a href="http://www.blogjava.net/waterjava/archive/2007/07/02/127463.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sybase ASE 安全登陆Linux</title><link>http://www.blogjava.net/waterjava/archive/2007/07/02/127461.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Mon, 02 Jul 2007 03:34:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2007/07/02/127461.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/127461.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2007/07/02/127461.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/127461.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/127461.html</trackback:ping><description><![CDATA[<p><font class=v15>在各种操作系统中，Linux已经流行。因此，越来越多的主流数据库厂商将它们的产品移植到Linux操作系统平台，例如Sybase、Oracle和IBM等。此外，可以使用的自由软件越来越多。自由软件库中已经包括了Sybase ASE for Linux、Oracle for Linux、Informix for Linux等数据库软件以及其他各种软件。 </font>
<p><font class=v15>在上述几种Linux平台上的数据库产品中，Sybase ASE的性能很好，紧凑的程序分发包里包含了全部文档、数据库备份和监视等工具，同时它对系统的要求不高（系统配置为32MB内存，包含文档的全部安装需要200MB硬盘，否则需要120MB硬盘）。它的安装、配置过程与其他产品相比也很简单。这些优势，连同Sybase数据库产品本来的用户基础，使得它成为Linux平台上出色的数据库软件。 </font>
<p><font class=v15>但是，Sybase ASE在正常安装完成后，数据库超级用户的账号没有设置口令。这样，Internet上每一个知道服务器端口号的用户或者本机上的所有可登录用户都可以以超级用户身份对数据库随意操作。这应该说是一个非常大的安全漏洞。下面将逐步介绍Sybase ASE for Linux 的安装过程，以及安装完成后需要采取的安全配置和较为安全的系统。 </font>
<p><font class=v15 color=#a30004><strong>一、Sybase ASE的安装</strong> </font>
<p><font class=v15>首先下载Sybase ASE for Linux软件包，网上可以比较容易找到RPM格式的二进制发行包，包括sybase-ase-11.0.3.3-1.i386.rpm（主程序包）、sybase-doc-11.0.3.3-1.i386.rpm（文档包）。RPM是Redhat公司的软件包管理程序，使用它可以非常方便地安装和卸载程序包，并保持它们之间的依赖关系。 </font>
<p><font class=v15>然后，以超级用户的身份键入命令： </font><br><font class=v15>#rpm -i sybase-ase-11.0.3.3-1.i386.rpm </font>
<p><font class=v15>屏幕会显示Sybase公司的版权说明，键入&#8220;yes&#8221;表示同意。接下去安装程序会提示将在系统中创建一个用户sybase和相应的组，并要求为该账号设置相应的口令。Sybase数据库安装的缺省目录是/opt/sybase。安装时要注意磁盘分区有足够的空间（大于200MB）。 </font>
<p><font class=v15>下一步可以重新以sybase登录继续配置，也可以使用 #su - sybase 改变身份为sybase来继续对sybase进行安装。屏幕上将会出现： </font>
<p><font class=v15>1.Release directory:/opt/Sybase </font><br><font class=v15>2.Edit / View Interfaces File </font><br><font class=v15>3.Configure a Server product </font><br><font class=v15>4.Configure an Open Client/Server product </font><br><font class=v15>Ctrl-a Accept and Continue, Ctrl-x Exit Screen, ? Help. </font><br><font class=v15>Enter the number of your choice and press return: </font>
<p><font class=v15>选择3来配置服务器，在该选项中将会一同配置服务器监听端口。在下面每一个屏幕提示下，数字表示具体选项，Ctrl-a表示已经配置完毕，进行下一步，Ctrl-x表示放弃刚才的选择，退回上一步，下面省去同样的提示。选择3后，出现以下提示： </font><br><font class=v15>Product Date InstalledDate Configured </font><br><font class=v15>1.SQL Server11 Sep 1998 06:47 </font><br><font class=v15>2.Backup Server 11 Sep 1998 06:47 </font>
<p><font class=v15>首先选择1配置SQL服务器，出现以下提示： </font><br><font class=v15>1.Configure a new SQL Server </font><br><font class=v15>2.Configure an existing SQL Server </font><br><font class=v15>3.Upgrade an existing SQL Server </font>
<p><font class=v15>然后选择1来配置一个新的SQL服务器。配置备份服务器可以在SQL服务器配置完成后再来。由于是第一次安装，所以选择配置新的服务器，后面2个选项分别提供了重新配置或者升级原服务器的功能 </font>
<p><font class=v15>接下来的提示要求选择服务器的名字，具体如下： </font><br><font class=v15>ADD NEW SQL SERVER </font><br><font class=v15>1.SQL Server name:SYBASE </font><br><font class=v15>默认为SYBASE。这与sybase的交互式访问工具isql的默认服务器名字是一致的。 </font>
<p><font class=v15>完成上述配置后，出现如下显示： </font><br><font class=v15>SQL SERVER CONFIGURATION </font><br><font class=v15>1.CONFIGURE SERVER'S INTERFACES FILE ENTRY Incomplete </font><br><font class=v15>2.MASTER DEVICE CONFIGURATION Incomplete 3.SYBSYSTEMPROCS DATABASE CONFIGURATION Incomplete </font><br><font class=v15>4.SET ERRORLOG LOCATION Incomplete 5.CONFIGURE DEFAULT BACKUP SERVER Incomplete </font><br><font class=v15>6.CONFIGURE LANGUAGES Incomplete 7.CONFIGURE CHARACTER SETS Incomplete </font><br><font class=v15>8.CONFIGURE SORT ORDER Incomplete 9.ACTIVATE AUDITING Incomplete </font>
<p><font class=v15>以上关系到数据库的具体内容，包括端口号、设备、语言和字符集等。下面假定不改变默认名，直接按Ctrl-a接受。 </font>
<p><font class=v15>第1项配置服务器端口，选择后出现下面的提示屏幕： </font><br><font class=v15>SERVER INTERFACES FILE ENTRY SCREEN </font><br><font class=v15>Server name:SYBASE </font><br><font class=v15>1.Retry Count:0 </font><br><font class=v15>2.Retry Delay:0 </font><br><font class=v15>3.Add a new listener service </font>
<p><font class=v15>选择增加一个监听端口，出现下面的配置TCP端口的屏幕: </font><br><font class=v15>EDIT TCP SERVICE </font><br><font class=v15>1.Hostname/Address: localhost.localdomain </font><br><font class=v15>2.Port: </font><br><font class=v15>3.Name Alias: </font><br><font class=v15>4.Delete this service from the interfaces entry </font>
<p><font class=v15>其中的主机名在一般情况下由安装程序自动从环境中提取，通常不需要改动。但是，如果用户配置的是远程服务器的话，此处应该修改为相应的服务器地址。第二项的端口号用户可以自由选择，通常选择在1024以上。同样，如果是配置远程服务器，端口号应该修改为正确的端口地址。这2个参数会记录在/opt/sybase/interfaces文件中，也就是说在配置完成后，用户也可以手工修改该文件来重新改变连机端口的参数。 </font>
<p><font class=v15>第2项配置数据库主设备。数据库主设备可以是一个新的物理设备，也可以是磁盘中的一个文件，大小可以根据需要和存储设备的空间大小调整。 </font>
<p><font class=v15>后面各项的配置在普通应用下，基本上不需要修改缺省值。按照提示继续做下去，依次分别是配置Sybase系统进程数据库、错误日志、缺省备份服务器、字符集、数据库排序和激活审计等。其中的缺省备份服务器和激活审计配置对于数据库安全较为重要。 </font>
<p><font class=v15>在管理员希望对数据库进行备份时需要备份服务器功能，它的原理是在一个特定的端口监听备份申请（该端口号必须与前面数据库端口号区分开），将数据库的数据备份到指定的设备中去（例如&#8220;/tmp/sybase.mybackup.19990909&#8221;）。选择该项后，出现如下显示： </font><br><font class=v15>SET THE SQL SERVER'S BACKUP SERVER </font><br><font class=v15>1.SQL Server Backup Server name:SYB_BACKUP </font><br><font class=v15>审计功能在缺省状态下并不打开。如果管理员认为需要，则可以参照下面的屏幕创建一个单独的数据库来存储系统审计信息。 </font>
<p><font class=v15>ACTIVATE AUDITING </font><br><font class=v15>1.Install auditing:no </font><br><font class=v15>2.sybsecurity database size (Meg):5 </font><br><font class=v15>3.sybsecurity logical device name:sybsecurity </font><br><font class=v15>4.create new device for the sybsecurity database:no </font>
<p><font class=v15 color=#a30004><strong>二、 安装后的安全问题与相应的配置</strong> </font>
<p><font class=v15>按照DoD52.00.28-STD信任计算机系统评估标准，即通常所说的桔皮书，Sybase ASE的设计标准为C2级，它提供了4种安全机制，分别是访问控制、认证控制、角色划分和数据库审计。访问控制是指对象所有者可以对不同的登录用户赋予或者取消某些访问的权利。认证控制是指保证只有被授权的用户才能登录进入系统。角色的划分使得系统管理员可以将系统的一些特殊权利分别赋予某一个用户，使他们能够分别完成某些关键任务。具体来说，Sybase数据库系统设定了3种主要角色:系统管理员（sa_role）、系统安全员（sso_role）和系统操作员（oper_role）。数据库审计系统可以对系统的登录、退出、数据库启动、远程过程调用、角色的变化和对各种对象的访问等操作提供记录与审查。 </font>
<p><font class=v15>数据库应用采用客户机/服务器架构，服务器端在某一个端口监听网络连接请求。客户端申请连接，输入合法的用户名和相应的口令，进入服务器，然后运行需要的命令。这样，在数据库用户的配置管理方面如果出现安全漏洞，势必会给系统和数据带来非常大的威胁。可是，Sybase ASE在正常安装完成后，数据库超级用户的账号没有设置口令。这样，Internet上每一个知道服务器端口号的用户或者本机上的所有可登录用户都可以以超级用户身份对数据库随意操作。这应该说是一个非常大的安全漏洞。下面，通过对角色的分析，给出解决这一问题的方法。 </font>
<p><font class=v15><font color=#ffffff></font><strong>1．三种角色的主要权利和任务</strong> </font>
<p><font class=v15><font color=#418080>(1) sa_role</font> </font><br><font class=v15>管理磁盘使用，改变系统各种运行参数，诊断系统出现的各种问题，备份和恢复数据库，对其他用户赋予或者取消sa_role，创建用户数据库并为它们授予合适的属主，以及建立用户组等等。 </font>
<p><font class=v15><font color=#418080>(2) sso_role</font> </font><br><font class=v15>创建登录账号并初始化口令，更改其他所有账号的口令，对其他用户赋予或者取消sso_role以及oper_role，设定口令时限以及管理审计系统等。 </font>
<p><font class=v15><font color=#418080>(3) oper_role</font> </font><br><font class=v15>备份和恢复各种数据库。 </font>
<p><font class=v15><font color=#ffffff></font><strong>2．更改sa口令</strong> </font>
<p><font class=v15>Sybase ASE在安装完成时在系统中创建了用户sa，它同时具有sa_role和sso_role两种角色。此时的用户&#8220;sa&#8221;在服务器中具有无限的权利，相当于Unix系统中一个没有口令的root。这样，任何蓄意的联网用户都可以完全控制该SQL服务器。这不能不说是Sybase ASE的一个重大安全漏洞。为此，强烈建议在完成下面的安全配置之前请勿将服务器接入网络。 </font>
<p><font class=v15>首先，利用Sybase提供的交互式访问工具isql连接服务器。键入以下命令： </font><br><font class=v15>$/opt/sybase/bin/isql -Usa -P -Smysybase </font>
<p><font class=v15>表示以用户sa、空口令连接服务器mysybase。更改sa的口令， </font><br><font class=v15>&gt;sp_password NULL,"NewPassWd" </font><br><font class=v15>&gt;go </font>
<p><font class=v15>将原来的空口令(NULL)改为当前的&#8220;NewPassWd&#8221;。这里的口令最少为6个字符长度，可以由任何可打印字符、字母和数字等组成。 </font>
<p><font class=v15><font color=#ffffff></font><strong>3．关闭sa账号</strong> </font>
<p><font class=v15>角色的划分可以说是Sybase数据库相对于普通Unix系统在安全体制方面的改进。但是，大家知道，拥有无限权利的超级用户一方面是系统的保护者，但是更多的时候是给系统的安全带来了巨大的安全威胁。简单来说，超级用户一个低级的误操作就可能毁掉整个服务器。从攻击的角度来看，攻击者只要获得了超级用户的身份就表明他已经彻底攻克了该系统。而对于经过特权分割安全加固的系统来说，攻击者必须将若干个特权用户全部破解，才能得以完全控制该系统。可以说超级权利用户的存在是区分C级和B级安全系统的一个重要标志。 </font>
<p><font class=v15>在设置sa账号的口令以后，通过创建新用户，并区分sa的角色，关闭sa，从而进一步加强服务器的安全。Sybasre提供了几个相应的命令sp_addlogin和sp_role等来完成上述操作。 </font><br><font class=v15>&gt;sp_addlogin sa_user,"Sa,PassWd" </font><br><font class=v15>&gt;sp_addlogin sso_user,"Sso,PassW" </font><br><font class=v15>&gt;sp_role "grant",sa_role,sa_user </font><br><font class=v15>&gt;sp_role "grant",sso_role,sso_user </font><br><font class=v15>&gt;sp_locklogin sa,"lock" </font>
<p><font class=v15>上述命令创建了两个用户sa_user，sso_user，并且分别设置了口令&#8220;Sa,PassW&#8221;和&#8220;Sso,Pass&#8221;，设置了角色sa_role和sso_role，然后关闭了账号sa。 </font>
<p><font class=v15>(作者地址：江苏镇江南京经济学院桥头校区，212413）</font></p>
<p>&nbsp;</p>
<p>traceback: <a href="http://www.qingren.org/item/1057/">http://www.qingren.org/item/1057/</a></p>
<img src ="http://www.blogjava.net/waterjava/aggbug/127461.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2007-07-02 11:34 <a href="http://www.blogjava.net/waterjava/archive/2007/07/02/127461.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sybase12.5在WINXP下安装的时候是乱码，怎么解决？</title><link>http://www.blogjava.net/waterjava/archive/2007/07/02/127456.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Mon, 02 Jul 2007 03:17:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2007/07/02/127456.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/127456.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2007/07/02/127456.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/127456.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/127456.html</trackback:ping><description><![CDATA[Sybase12.5在WINXP下安装的时候是乱码，怎么解决？<br>A :<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>我感觉是字符集的问题，XP的字符集跟2000不一样，在2000下安装就没问题&nbsp; <br><br>但是我不知道怎么解决这个问题。&nbsp;&nbsp;<br><br>&nbsp; <br>谢谢大家了。&nbsp; <br><br>---------------------------------------------------------------&nbsp; <br><br>&nbsp; <br><br>\shared-1_0\jre1.2.2\lib\font.properties.zh.NT4.0改成font.properties.zh.NT5.0&nbsp; <br><br>另外还必须把&nbsp; <br><br>\shared-1_0\jre1.2.2\lib\font.properties.zh_TW改成font.properties.zh_CN&nbsp; <br><br>就可以解决Sybase12.5在WINXP下的安装问题了<br><br>来自：<a href="http://www.shaoys.com/testart/ShowWebTPL.asp?DocID=csdnsql0368">http://www.shaoys.com/testart/ShowWebTPL.asp?DocID=csdnsql0368</a>
<img src ="http://www.blogjava.net/waterjava/aggbug/127456.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2007-07-02 11:17 <a href="http://www.blogjava.net/waterjava/archive/2007/07/02/127456.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>