<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>朝圣者(梁鹏) &#187; sybase</title>
	<atom:link href="http://www.liangpeng.net/ytag/sybase/feed" rel="self" type="application/rss+xml" />
	<link>http://www.liangpeng.net</link>
	<description>寻找一小块属于自己的栖息地</description>
	<lastBuildDate>Fri, 13 Jan 2012 01:33:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Sybase数据库维护</title>
		<link>http://www.liangpeng.net/y2009/m06/sybaseshujukuweihu_663.html</link>
		<comments>http://www.liangpeng.net/y2009/m06/sybaseshujukuweihu_663.html#comments</comments>
		<pubDate>Mon, 01 Jun 2009 03:06:04 +0000</pubDate>
		<dc:creator>梁鹏</dc:creator>
				<category><![CDATA[数据库技术]]></category>
		<category><![CDATA[sybase]]></category>
		<category><![CDATA[常用命令]]></category>
		<category><![CDATA[数据库维护]]></category>

		<guid isPermaLink="false">http://www.liangpeng.net/?p=663</guid>
		<description><![CDATA[一、从命令行里进入数据库 依次打开“开始”—&#62;“运行”，在运行对话框里输入cmd,打开“命令提示符”窗口, 在“&#62;”后面输入下面兰色的语句。 C:\Documents and Settings\hhy&#62; isql -Usa -Shrms -Jcp936 Password: 注意：-U 后为登陆数据库使用的用户名 -S 后为所登陆数据库服务的名称 -J 后为所登陆数据库使用的字符集 二、列出现有数据库极其大小 将数据库服务器里的全部的数据库列表出来，使用下面语句。 1&#62; sp_helpdb 2&#62; go name                     db_size       owner                    dbid created status &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- hrms                         1100.0 MB sa                            4 May 13, 2006 no options set master                         48.0 MB sa                            1 May 13, 2006 [...]]]></description>
			<content:encoded><![CDATA[<p>一、从命令行里进入数据库<br />
依次打开“开始”—&gt;“运行”，在运行对话框里输入cmd,打开“命令提示符”窗口,<br />
在“&gt;”后面输入下面兰色的语句。<br />
C:\Documents and Settings\hhy&gt; isql -Usa -Shrms -Jcp936<br />
Password:<br />
注意：-U 后为登陆数据库使用的用户名<br />
-S 后为所登陆数据库服务的名称<br />
-J 后为所登陆数据库使用的字符集<br />
二、列出现有数据库极其大小<br />
将数据库服务器里的全部的数据库列表出来，使用下面语句。<br />
1&gt; sp_helpdb<br />
2&gt; go<br />
name                     db_size       owner                    dbid<br />
created<br />
status<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
hrms                         1100.0 MB sa                            4<br />
May 13, 2006<br />
no options set<br />
master                         48.0 MB sa                            1<br />
May 13, 2006<br />
mixed log and data<br />
model                          16.0 MB sa                            3<br />
May 13, 2006<br />
mixed log and data<br />
sybsystemdb                    20.0 MB sa                        31513<br />
May 13, 2006<br />
trunc log on chkpt, mixed log and data<br />
sybsystemprocs                120.0 MB sa                        31514<br />
May 13, 2006<br />
trunc log on chkpt, mixed log and data<br />
tempdb                       1416.0 MB sa                            2<br />
May 18, 2006<br />
select into/bulkcopy/pllsort, trunc log on chkpt, mixed log and data<br />
(1 row affected)<br />
(return status = 0)<br />
三、创建数据库设备，并且指定数据设备和日志设备的大小。<br />
disk init name =‘你要取的逻辑名&#8217;,<br />
physname = &#8216;你要存放的物理路径及设备名&#8217;,size = &#8216;大小M&#8217;  ○1建立数据设备并指定大小，语句如下<br />
1&gt; disk init name=&#8217;hhydata&#8217;, physname=&#8217;c:\hhyyhhdata.dev&#8217;, size=&#8217;100M&#8217;<br />
2&gt; go<br />
○2建立日志设备并指定大小，语句如下<br />
1&gt; disk init name=&#8217;hhylog&#8217;, physname=&#8217;c:\hhyyhhlog.dev&#8217;, size=&#8217;100M&#8217;<br />
2&gt; go<br />
四、创建指定的数据库，指定数据和日志的大小。<br />
创建新的数据库的时候，分别指定数据设备和日志设备，<br />
create database 数据库名  on 数据设备逻辑名=　&#8217;大小M&#8217;<br />
log on 日志设备逻辑名=  &#8216;大小M&#8217;  语句如下：<br />
1&gt; create database hhyyhh2002 on hhydata=&#8217;80M&#8217; log on hhylog=&#8217;80M&#8217;<br />
2&gt;  go<br />
CREATE DATABASE: allocating 5120 logical pages (80.0 megabytes) on disk<br />
&#8216;hhydata&#8217;.<br />
CREATE DATABASE: allocating 5120 logical pages (80.0 megabytes) on disk<br />
&#8216;hhylog&#8217;.<br />
五、把数据库设备设置为缺省设备<br />
○1数据设备<br />
1&gt;	sp_diskdefault  hrmsdata,defaulton<br />
2&gt;	go<br />
○2日志设备<br />
1&gt;	sp_diskdefault  hrmslog,defaulton<br />
2&gt;	go<br />
五．中文字符集CP936的安装</p>
<p>1.     JDBC连接串要有字符集设置<br />
jdbc:<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/sybase" title="查看 sybase 中的全部文章" target="_blank">sybase</a></span>:Tds:192.168.3.11:5000/Wfis_db?charset=cp936</p>
<p>2.     服务器配置成cp936<br />
(1)    使用isql查看当前已经安装的字符集<br />
isql -Usa -Plongtop<br />
&gt;use master<br />
&gt;go<br />
&gt;select id,name from syscharsets<br />
&gt;go<br />
id name<br />
&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;-<br />
0 ascii_8<br />
1 iso_1<br />
2 cp850<br />
20 defaultml<br />
21 thaidict<br />
22 iso14651<br />
24 utf8bin<br />
25 binary<br />
39 altnoacc<br />
45 altdict<br />
46 altnocsp<br />
47 scandict<br />
48 scannocp<br />
50 bin_iso_1<br />
50 bin_cp850<br />
51 dict<br />
52 nocase<br />
53 nocasep<br />
54 noaccent<br />
55 espdict<br />
56 espnocs<br />
57 espnoac<br />
59 rusnocs<br />
64 cyrnocs<br />
65 elldict<br />
69 hundict<br />
70 hunnoac<br />
71 hunnocs<br />
73 turknoac<br />
74 turknocs<br />
129 cp932bin<br />
130 dynix<br />
137 gb2312bn<br />
140 cyrdict<br />
155 turdict<br />
161 euckscbn<br />
163 gbpinyin<br />
165 rusdict<br />
179 sjisbin<br />
192 eucjisbn<br />
194 big5bin</p>
<p>(41 rows affected)<br />
从列表中看出没有安装cp936字符集</p>
<p>(2)    查看当前使用的缺省字符集<br />
&gt;sp_configure “default char”<br />
&gt;go<br />
Parameter Name                 Default     Memory Used Config Value<br />
Run Value   Unit                 Type<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;<br />
&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;-<br />
default character set id                 2           0           2<br />
2 id                   static</p>
<p>缺省字符集的id是2，查看上面的列表，可以得知是cp850</p>
<p>(3)    因为上面的列表中没有安装cp936，所以就安装cp936字符集<br />
进入目录C:\<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/sybase" title="查看 sybase 中的全部文章" target="_blank">sybase</a></span>\charsets\cp936<br />
运行命令 charset -Usa –P  binary.srt cp936</p>
<p>操作如下，红色为要输入的内容。<br />
C:\&gt;cd s*<br />
C:\<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/sybase" title="查看 sybase 中的全部文章" target="_blank">sybase</a></span>&gt;cd char*<br />
C:\sybase\charsets&gt;cd cp936<br />
C:\sybase\charsets\cp936&gt;charset -Usa -P binary.srt cp936</p>
<p>Loading file &#8216;binary.srt&#8217;.<br />
Found a [sortorder] section.<br />
This is Class-1 sort order.<br />
Finished loading the Character Set Definition.<br />
Finished loading file &#8216;binary.srt&#8217;.<br />
1 sort order loaded successfully</p>
<p>C:\sybase\charsets\cp936&gt;</p>
<p>运行完成后，系统就安装了cp936字符集</p>
<p>(4)    验证是否确实安装了cp936字符集<br />
C:\sybase\charsets\cp936&gt;isql -Usa -P<br />
1&gt;use master<br />
2&gt;go</p>
<p>1&gt;select id, name from syscharsets<br />
2&gt;go<br />
id name<br />
&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
0 ascii_8<br />
1 iso_1<br />
2 cp850<br />
20 defaultml<br />
21 thaidict<br />
22 iso14651<br />
24 utf8bin<br />
25 binary<br />
39 altnoacc<br />
45 altdict<br />
46 altnocsp<br />
47 scandict<br />
48 scannocp<br />
50 bin_iso_1<br />
50 bin_cp850<br />
50 bin_cp936<br />
51 dict<br />
52 nocase<br />
53 nocasep<br />
54 noaccent<br />
55 espdict<br />
56 espnocs<br />
57 espnoac<br />
59 rusnocs<br />
64 cyrnocs<br />
65 elldict<br />
69 hundict<br />
70 hunnoac<br />
71 hunnocs<br />
73 turknoac<br />
74 turknocs<br />
129 cp932bin<br />
130 dynix<br />
137 gb2312bn<br />
140 cyrdict<br />
155 turdict<br />
161 euckscbn<br />
163 gbpinyin<br />
165 rusdict<br />
171 cp936<br />
179 sjisbin<br />
192 eucjisbn<br />
194 big5bin</p>
<p>(43 rows affected)<br />
从列表中可以发现已经安装了cp936，id是171</p>
<p>(5)    把系统的当前缺省字符集设置为cp936<br />
1&gt;sp_configure “default char”, 171<br />
2&gt;go<br />
In changing the default sort order, you have also reconfigured SQL Server&#8217;s<br />
default character set.<br />
Parameter Name                 Default     Memory Used Config Value<br />
Run Value   Unit                 Type<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;<br />
&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;-<br />
default character set id                 2           0         171<br />
2 id                   static</p>
<p>(1 row affected)<br />
Configuration option changed. Since the option is static, Adaptive Server must<br />
be rebooted in order for the change to take effect.<br />
Changing the value of &#8216;default character set id&#8217; to &#8217;171&#8242; increases the amount<br />
of memory ASE uses by 6 K.<br />
(return status = 0)</p>
<p>(6)    重启Sybase服务，使更改生效<br />
第一次重启，系统会对已经存在的数据进行转换，转换完成后自动停止服务，只要再次启动服务就可以了。</p>
<p>补充：<br />
在isql状态下查看原来数据库字符集使用情况，服务器和客户端的都要查看，方法是：</p>
<p>一、获得服务器端的字符集情况：<br />
1&gt;sp_helpsort<br />
2&gt;go<br />
输出结果为：<br />
Character Set = 2, cp850<br />
Code Page 850 (Multilingual) character set.<br />
Sort Order = 50, bin_cp850<br />
Binary Sort Order for Code Page 850 (cp850).</p>
<p>二、获得客户端字符集情况：<br />
1&gt;select @@client_csname<br />
2&gt;go<br />
输出结果应为：iso_1<br />
说明：很多时候应用程序报错，客户端和服务器端字符集不相匹配。</p>
<p>三、修改客户端缺省字符集文件c:\sybase\locales\locales.dat文件，首先找到[NT]操作系统分组，然后定位到该分组最后一行“local = default, us_english, iso_1”，将其修改为：“local = default, us_english, cp936”。 参考上面步骤，再次确认服务器端和客户端字符集均已修改正确。</p>
<p>(7)    更改DB客户端的字符集<br />
DBArtisan中要更改客户端的字符集为cp936才能连接cp936的服务器<br />
通过菜单\Logfile\Options&#8230;打开对话框，选择Connection标签，<br />
更改Client Character输入框的值为cp936。</p>
<p>数据库的charset修改为cp936时,使用isql按如下的方式<br />
isql -Usa -Plongtop -Sdbserver -Jcp936</p>
<p>六、Sybase客户端会话数量的更改<br />
SyBase的会话数量默认为25个，在人力资源系统中远远不够，需要调整数量为1000。调整命令如下：<br />
1&gt;sp_configure “number of user”, 1000<br />
2&gt;go<br />
	其他配置<br />
1、临时表：临时表的默认配置在人力资源系统中不足于运行，需至少增加10个G的数据库设备到tempdb之上，否则一旦执行大数据量的分页存储过程时，将会抛出临时表空间分配不足的异常。关于建立数据库设备，可参见附件《快速维护手册V2.0.doc》<br />
六、从指定位置导入备份数据到指定的数据库<br />
1&gt; load database hhyyhh2002 from “d:\ hrms060513.bak”<br />
2&gt; go<br />
Backup Server session id is:  10.  Use this value when executing the<br />
&#8216;sp_volchanged&#8217; system stored procedure after fulfilling any volume change<br />
request from the Backup Server.<br />
Backup Server: 6.28.1.1: Dumpfile name &#8216;hrmis06138082CE  &#8216; section number 1<br />
mounted on disk file &#8216;d:\hrmis060518.bak&#8217;<br />
Backup Server: 4.58.1.1: Database hrms: 34980 kilobytes LOADed.<br />
Backup Server: 4.58.1.1: Database hrms: 82726 kilobytes LOADed.<br />
Backup Server: 4.58.1.1: Database hrms: 118152 kilobytes LOADed.<br />
Backup Server: 4.58.1.1: Database hrms: 176714 kilobytes LOADed.<br />
Backup Server: 4.58.1.1: Database hrms: 207308 kilobytes LOADed.<br />
Backup Server: 4.58.1.1: Database hrms: 241934 kilobytes LOADed.<br />
Backup Server: 4.58.1.1: Database hrms: 268624 kilobytes LOADed.<br />
Backup Server: 4.58.1.1: Database hrms: 303250 kilobytes LOADed.<br />
Backup Server: 4.58.1.1: Database hrms: 329940 kilobytes LOADed.<br />
Backup Server: 4.58.1.1: Database hrms: 360550 kilobytes LOADed.<br />
Backup Server: 4.58.1.1: Database hrms: 391256 kilobytes LOADed.<br />
Backup Server: 4.58.1.1: Database hrms: 417898 kilobytes LOADed.<br />
Backup Server: 4.58.1.1: Database hrms: 452572 kilobytes LOADed.<br />
Backup Server: 4.58.1.1: Database hrms: 487838 kilobytes LOADed.<br />
Backup Server: 4.58.1.1: Database hrms: 510560 kilobytes LOADed.<br />
Backup Server: 4.58.1.1: Database hrms: 770098 kilobytes LOADed.<br />
Backup Server: 4.58.1.1: Database hrms: 1019940 kilobytes LOADed.<br />
Backup Server: 4.58.1.1: Database hrms: 1019962 kilobytes LOADed.<br />
Backup Server: 3.42.1.1: LOAD is complete (database hrms).<br />
Caution:  You have set up this database to include space on disk 3 for both dat<br />
and the transaction log.  This can make recovery impossible if that disk fails.<br />
All dumped pages have been loaded.  SQL Server is now clearing pages above page<br />
63744, which were not present in the database just loaded.<br />
SQL Server has finished clearing database pages.<br />
Started estimating recovery log boundaries for database &#8216;hrms&#8217;.<br />
Database &#8216;hrms&#8217;, checkpoint=(38143, 191), first=(38143, 191), last=(38143,<br />
232).<br />
Completed estimating recovery log boundaries for database &#8216;hrms&#8217;.<br />
Started ANALYSIS pass for database &#8216;hrms&#8217;.<br />
Completed ANALYSIS pass for database &#8216;hrms&#8217;.<br />
Started REDO pass for database &#8216;hrms&#8217;. The total number of log records to<br />
process is 42.<br />
Redo pass of recovery has processed 3 committed and 16 aborted transactions.<br />
Completed REDO pass for database &#8216;hrms&#8217;.<br />
Use the ONLINE DATABASE command to bring this database online; SQL Server will<br />
not bring it online automatically.</p>
<p>七、使当前数据库,（使当前数据库在线）执行如下语句：<br />
1&gt; online database hrms<br />
2&gt; go<br />
Started estimating recovery log boundaries for database &#8216;hrms&#8217;.<br />
Database &#8216;hrms&#8217;, checkpoint=(38143, 191), first=(38143, 191), last=(38143,<br />
232).<br />
Completed estimating recovery log boundaries for database &#8216;hrms&#8217;.<br />
Started ANALYSIS pass for database &#8216;hrms&#8217;.<br />
Completed ANALYSIS pass for database &#8216;hrms&#8217;.<br />
Recovery of database &#8216;hrms&#8217; will undo incomplete nested top actions.<br />
Database &#8216;hrms&#8217; is now online.<br />
八\为当前数据库服务器设置可用的最大用户连接数<br />
1&gt; sp_configure “number of user connections”, 100<br />
2&gt; go<br />
九、导出当前数据库数据并备份到指定位置。<br />
1&gt; dump database hrms to ’c:\20060525.bak’<br />
2&gt; go<br />
十、清除指定的数据库<br />
执行下列语句，清除hrms数据库。<br />
1&gt; drop database hrms<br />
2&gt; go<br />
十一、列表所有的数据库设备<br />
1&gt; sp_helpdevice<br />
2&gt; go<br />
device_name                    physical_name<br />
description</p>
<p>status cntrltype device_number<br />
low</p>
<p>high</p>
<p>&#8212;&#8212;&#8212;<br />
hhydata                        c:\hhyyhhdata.dev<br />
special, dsync on, default disk, physical disk, 1100.00 MB</p>
<p>16387         0             7</p>
<p>117440512</p>
<p>118003711<br />
hhylog                         c:\hhyyhhlog.dev<br />
special, dsync on, default disk, physical disk, 1100.00 MB</p>
<p>16387         0             8</p>
<p>134217728</p>
<p>134780927<br />
hrmsdata                       e:\sybasedevice\hrmsdata.dat<br />
special, dsync on, default disk, physical disk, 1000.00 MB</p>
<p>16387         0             3<br />
50331648</p>
<p>50843647<br />
hrmslog                        e:\sybasedevice\hrmslog.dat<br />
special, dsync on, default disk, physical disk, 400.00 MB</p>
<p>16387         0             4<br />
67108864</p>
<p>67313663<br />
十二、清除指定的数据设备<br />
○1数据设备<br />
1&gt; sp_dropdevice hrmsdata<br />
2&gt; go<br />
○2日志设备<br />
1&gt; drop datadevice hrmslog<br />
2&gt; go<br />
十三、导出（导入）数据库中全部用户表的数据<br />
bcp命令一次只可以把一个表的数据导出来。要把所有表数据导出，可生成一个包含多行bcp命令的批处理文件，其中的每行bcp命令导出一个表。<br />
1、编辑一个文本文件select.sql，内容如下：<br />
set nocount on<br />
use pubs2<br />
go<br />
select “bcp pubs2..” + name + ” out ” + name + “.bcp -Usa -P -c ”<br />
from sysobjects where type=”U”<br />
go<br />
2、如果是unix环境， 执行：<br />
isql  -Usa   -P  -b -i select.sql  -o bcpout<br />
chmod  +x   bcpout<br />
3、如果是Windows, 执行：<br />
isql  -Usa   -P  -b -i select.sql  -o bcpout.bat<br />
4、把bcpout中out换为in即可得到bcpin的批处理命令文件<br />
十四、在Windows 平台上启动和关闭Sybase数据库服务器？<br />
1.使用Sybase工具：Sybase Central<br />
打开Sybase Central&#8211;&gt;找到所需要启动的Sybase数据库服务器的名称&#8211;&gt;鼠标右键单击该名称,出现弹出框<br />
启动：&#8211;&gt;单击”start”<br />
关闭：&#8211;&gt;单击”stop”<br />
2.使用Windows操作系统提供的服务管理<br />
打开“Control Panel”中的“Service”&#8211;&gt; 找到所需要启动的Sybase数据库服务器的服务名称&#8211;&gt;鼠标右键单击该名称,出现弹出框<br />
启动：&#8211;&gt;单击”start”<br />
关闭：&#8211;&gt;单击”stop”</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liangpeng.net/y2009/m06/sybaseshujukuweihu_663.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

