1.1.1 一、Sybase安装
1、安装sybase数据库,在许可协议界面中,选择语言为:中华人民共和国(PRC),下面选择我同意选项
2、选择安装路径。注意:所选安装硬盘最好是NTFS分区的,因为有些大于2g的文件在fat32分区下不能保存。
3、选择完全安装
4、现实安装的功能如下:
5、下一步安装
6、安装完毕
7、下一步
8、注意选择自定义配置信息,下一步
9、选择页大小为:8K,其他采用默认
10、现实安装配置信息,下一步配置成功后,重新启动
1.1.2 二、sybase升级
1、选择setup安装,如下
2、选择协议语言
3、自动显示sybase安装路径,选择是
4、现实已安装的功能模块
5、安装升级程序
6、安装过程中提示有新的文件,最好不要覆盖原来的,选择“全部否”
7、提示覆盖失败信息:因为上一步中选择否,所以覆盖失败,此为正常现象,忽略即可。
8、安装完毕,点击完成即可
1.1.3 三、启动sybase服务
此处,有两种启动方式
(一) 利用server condig 如下:
1、打开server condig后,显示如下,选择Adaptive Server ,然后右边选择第二项:configure Adaptive Server
2、如下:现实安装的主机名称,选择“continue”
3、输入用户名sa和密码,默认安装后sa的密码为空
4、启动sybase服务
5、选择backup server、Monitor同样启动服务即可
(二) 打开控制面板――管理工具――服务――启动关于sybase的服务
单击右键启动Sybase BCKServer_P205_BS、Sybase MONServer_P205_MS、Sybase SQLServer_P205三个服务即可
启动服务后,打开开始――程序――Sybase――Sybase Central Java Edition连接sybase数据库即可
1.1.4 四、修改中文配置
1、如图:在开始―运行中输入:cmd ,用dos命令进入目录C:sybasecharsetscp936
硬盘可能根据用户自己的安装路径的不同而不同
2、运行命令 charset -Usa -Plongtop binary.srt cp936,即可安装cp936
3、用SQL Advantage连接master数据库
4、输入语句如下
5、显示安装字符信息,171、CP936已安装成功
6、用如下语句将CP936设置为缺省字符
7、运行结果如下
8、选择连接配置文件,将配置文件设置成如下信息即可,下次登录即可自动显示中文。
注意:安装成功,配置好中文之后,请利用备份恢复功能,恢复数据库BFZX
1.1.5 五、安装普元开发环境
详见普元安装程序
注意以下事项
1、普元安装过程中需要连接数据库,如下图:sa的密码不能为空,需要将原数据库的sa密码重置,默认CHARSET=cp936
修改密码,如下图:右键属性,即可修改密码
2、普元安装成功后,需要加载现有工程,首次连接后需要进行编译。
Sybase数据库备份方案:备份数据库数据设备存储日志大小
Sybase数据库产品自从1987年问世以来,它的客户机/服务器(client/server)工作模式、分布处理的基础体系结构、完善的安全保密性能、高速快捷的运行方式、多平台跨操作系统的广泛应用等优点,迅速被IT界接受并推广应用。我们作为金融业的用户,也在1995年开始使用Sybase10版本。在具体的使用中,发现集中式的数据管理有其优点,就是数据风险范围大为缩小,但是作为Sybase的服务器一端,数据风险比较集中,如何做好数据库的数据备份,成为至关重要的问题。
在实际应用中,我们总结出了两种全量备份方案:
一、使用Sybase的BackupServer(备份服务器),做Dump备份
转储数据库(Dumpdatabase),就是为整个数据库(包括数据、表结构、触发器、游标、存储过程、事务日志等)做一次物理备份。转储数据库时,系统自动执行一次checkpoint,即将日志和数据从缓冲区拷贝到硬盘(只拷贝脏页),把已被分配的页(日志和数据)转储到设备。
命令格式为:
dumpdatabase数据库名to设备文件名with参数
如果备份到硬盘的文件上,可以不预先估算备份文件的大小,只要硬盘有足够的存储空间就可以。如果是备份到dds磁带上,那么就要估算一下备份后的大小,90米的dds磁带压缩存储空间为4G,120米的磁带压缩存储空间为8G,如果数据库的备份文件超过了这个尺寸,就要考虑多文件转储,使用stripe参数。
命令格式为:
dumpdatabase数据库名to设备文件名1
stripeon设备文件名2
stripeon设备文件名3……
with参数
这种数据备份方式是将整个数据库的运行环境完整的复制一份,包括数据库的脏页和碎片,在使用load命令恢复时,只能恢复到同样大小的数据库中(数据和日志的大小都只能和原来完全一致),适用于在每天的日终营业网点下班后的日常备份。优点是数据库完整无误,缺点是不能直接查看备份内容。
Sybase数据库备份方案:备份数据库bcp数据所有脚本
二、分数据结构和数据记录做两次备份
在一般情况下,生产机的数据库都比较庞大,而实验机则相对较小,难以在实验环境中以load命令恢复工作机的内容。所以,在工作实践中,我们摸索出了第二种全量备份方案。
1、数据结构备份
在windows平台的SybaseSQLServerManager(数据库管理)平台中选择ServeràGenerateddl则产生整个数据库服务器的所有信息,如果选择databaseàgenerateddl则产生所选定数据库的信息,以master库为例,产生的文件主要包括:config.ddl(配置)、devices.ddl(设备)、database.ddl(数据库)、logins.ddl(用户)、remote.ddl(远程)、cache.ddl(缓冲)、segment.ddl()、group.ddl(用户组)、user.ddl(用户)、default.ddl(确省)、rule.ddl(规则)、udt.ddl、table.ddl(表)、view.ddl(视图)、proc.ddl(存储过程)、triger.ddl(触发器)。
2、数据记录备份
将数据库各表以Sybase自代的bcp(bulkcopy)工具的方式导成一定格式的文本文件,命令格式:
bcp表名out路径名文件名-c-t分隔符-u(用户名)-p(密码)-S(服务器名)
如果将一个数据库中的所有表都做一个bcp备份,就需要针对每一个表都做一次bcp,在一般情况下,一个数据库有100多个表,工作量比较大。可以利用数据库中的系统表信息做一个bcp备份脚本。原理是每一个用户表在系统表中都有信息记载,可以通过isql语句查询得到。现举一例说明:
1)、先编辑一个名为mkbcpout.sql的文件,内容如下:
select"echobcp""+name+"out……………………"
"+"bcp"+name+"out./+"name+".table-c-t"|"-Uuser-Ppassword-SSERVER"fromsysobjectswheretype="U"
go
2)、执行isql命令,以此文件作为输入,执行结果输出到另外一个文件里:
isql-Uuser-Ppassword-Sserver-Imkbcpout.sql-Obcpout
3)、对bcppout文件稍微修改,增加可执行权限
chmod+xbcpout
4)、执行bcpout,导出数据文本
./bcpout
3、数据库恢复
业务生产机可能为小型机,而实验开发环境的硬件环境为PCserver,安装好winnt或SCOunix下的Sybase服务器后,根据需要创建空间足够大的数据库和tempdb(系统临时数据库),创建数据库用户,并将其更改为此数据库的所有者,要注意两点:1)此数据库允许bcp拷贝,2)此数据库自动清除log。命令格式为:
1>sp_dboptiondatabasedbname,"selectinto/bulkcopy",true
2>go
1>sp_dboptiondatabasename,"trunclogonchkpt",true
2>go
上述两个配置可能与生产机的配置不同。
然后以新创建的数据库用户登录,导入数据结构,注意要首先导入表结构,然后才是存储过程、触发器等等。命令格式:
1、isql-Uusername-Ppassword-Itable.ddl-oerror.log.table
2、isql-Uusername-Ppassword-Iproc.ddl-oerror.log.proc
……
为了提高bcp导入数据的速度,需要将比较大的表的索引和主键删除,否则的话,每bcp进一条数据,数据库都自动写一条log日志,记载此数据的上一条和下一条记录,确定本记录在此表中的准确位置,一是影响bcp速度,二是数据库的log飞速膨胀。数据库的自动清除log功能只有在一个事务结束后才起作用。
准备工作做完后,开始倒入数据记录。使用类似做bcpout的方法做一个bcpin的脚本,然后执行:
./bcpin|teeerror.bcpin
使用tee管道输出的目的是让计算机完整记录下倒入过程,自动存入error.bcpin文件中,待倒入结束后,我们只需要检查日志文件,不需要一直紧盯着计算机屏幕。
所有工作做完之后,不要忘记重新将删除的主键和索引建上。
如果有现成的数据库,只需要单纯地导入数据记录,则首先将数据库中所有用户表(也就是所有type="U"的表)清空,命令格式:
1>truncatetabletablename
2>go
当然最好也是利用做bcpout脚本的做一个truncate脚本,通过执行此脚本将所有用户表清空。然后的数据导入、处理索引和主键的过程与上面类似。
三、利用做bcp备份脚本的方法做数据库碎片整理
Sybase数据库作为联机事务处理应用服务器,每天应用程序都对数据库做大量的插入、修改和删除等操作,不可避免的在数据库的物理存储介质上留下页碎片和扩展单元碎片,从而影响数据库的存储效率和运行速度。具体表现为:业务繁忙时出现死锁(deadlock),数据库的输入/输出资源被大量占用,业务处理速度慢。其解决办法是:
1、清空数据库中的所有表,命令格式:
isql-Uusername-Ppassword-Itruncate.sql-oerror.truncate
2、删