ASE12.5.3在Linux上的安装配置

好ASE12.5.3在Linux上的安装配置

安装

1、 tar-xvf ase12.5.3_linux_x86_32.tar  (确定服务器硬件资源和操作系统的位数安装相应数据库系统32位还是64位)

2、 tar-zxvf ase12.5.3_linux_x86_32_ebf13332.tgz

3、 修改/etc/sysctl.conf文件调整操作系统共享内存参数。加入:

kernel.shmmax= 1024*1024*1024*0.7(70%计算)(如果剩余的内存超过1G,并且安装数据库系统的服务器为数据库专有服务器,给操作系统1G内就够了,其余都给数据库服务)(num为需要分配的共享内存大小,以字节为单位,一般设置为总内存的50%-70%,本例为1G)

4、 运行sysctl -p,使共享内存配置生效

5、 修改/etc/hosts文件,加入服务器内网IP:192.168.1.2     mobiledata

            修改/etc/rc.d/rc.local,加入 ulimit –n 8192

            修改/etc/security/limits.conf,加入

* soft nofile 8192

* hard nofile 20480

6、 创建sybase用户。

useradd-d /opt/sybase-12.5.3 sybase

passwdsybase

7、 创建数据库存放目录:mkdir /opt/data

8、 更改/opt/data目录的所有者为sybase用户

chown-R sybase:sybase /opt/data

9、 切换到sybase用户

10、      进入12.5.2安装目录,执行:./setup -console

11、      安装到配置服务器时,退出安装

12、      进入12.5.2 ebf13062安装目录,执行:./setup -console

13、      为了以后操作方便,可建立OCS-12_5和ASE-12_5的映射:

ln -s ASE-12_5 ASE

ln -s OCS-12_5 OCS

14、      修改sybase用户的.bash_profile文件。

vi ~/.bash_profile

输入vi命令行命令,:r ~/SYBASE.sh,会自动将内容添加到文件末尾。

15、      在.bash_profile最后再加入LANG=

            注意:Installing/Running ASE onsystems with glibc 2.4.x (Fedora Core 5, etc)

           当创建dataserver不成功时候

           If you are running Fedora Core 5 or 6还需要添加

           exportLD_POINTER_GUARD=0  (Fedora, Redhat系列)

           If you are running Ubuntu / Kubuntu “Edgy”还需添加

            exportLD_POINTER_GUARD=1 (Ubuntu系列)

           If you are running Suse 10.1还需添加

            exportLD_POINTER_GUARD=1 (SuSE系列)

16、      重启服务器

17、      在sybase用户目录下新建目录rs,用来存放配置文件。mkdir ~/rs

18、      从ASE-12_5/init/sample_resource_files目录下拷贝例子到rs目录下。

cp~/ASE-12_5/init/sample_resource_files/srvbuild.adaptive_server.rs ~/rs/db.rs

cp~/ASE-12_5/init/sample_resource_files/srvbuild.backup_server.rs ~/rs/backup.rs

19、      本例配置如下:

db.rs:

sybinit.release_directory:/opt/sybase-12.5.3

sybinit.product:sqlsrv

sqlsrv.server_name:xujy

sqlsrv.new_config:yes

sqlsrv.do_add_server:yes

sqlsrv.network_protocol_list:tcp

sqlsrv.network_hostname_list:192.168.0.34

sqlsrv.network_port_list:5000

sqlsrv.server_page_size:8k

sqlsrv.force_buildmaster:yes

sqlsrv.master_device_physical_name:/opt/data/master.dat

sqlsrv.master_device_size:180

sqlsrv.master_database_size:150

sqlsrv.errorlog:/opt/sybase-12.5.3/ASE-12_5/install/xujy.log

sqlsrv.do_upgrade:no

sqlsrv.sybsystemprocs_device_physical_name:/opt/data/sysprocs.dat

sqlsrv.sybsystemprocs_device_size:150

sqlsrv.sybsystemprocs_database_size:150

sqlsrv.sybsystemdb_device_physical_name:/opt/data/sybsystemdb.dat

sqlsrv.sybsystemdb_device_size:50

sqlsrv.sybsystemdb_database_size:50

sqlsrv.default_backup_server:SYB_BACKUP

 

 

backup.rs:

sybinit.release_directory:/opt/sybase-12.5.3

sybinit.product:bsrv

bsrv.server_name:SYB_BACKUP

bsrv.new_config:yes

bsrv.do_add_backup_server:yes

bsrv.do_upgrade:no

bsrv.network_protocol_list:tcp

bsrv.network_hostname_list:192.168.0.34

bsrv.network_port_list:5001

bsrv.language:USE_DEFAULT

bsrv.character_set:USE_DEFAULT

bsrv.tape_config_file:USE_DEFAULT

bsrv.errorlog:USE_DEFAULT

sqlsrv.related_sqlsrvr:xujy

sqlsrv.sa_login:sa

sqlsrv.sa_password:USE_DEFAULT

 

20、      编译资源配置文件。

srvbuildres-r ~/rs/db.rs

srvbuildres-r ~/rs/backup.rs

 

21、      修改数据库字符集:

cd~/charsets/cp936/

charset  -Setoh2 -Usa -P binary.srt cp936

isql-Setoh2 -Usa -P

selectid from syscharsets where name='cp936'

go

@REM找到 cp936对应的id,如171

sp_configure"default character set id",171

go

@REM执行完成后退出isql,重启server两次

@REM(注:第一次启动后,server会自动当掉,需要第二次重启后才能使用)

 

22、      修改本地字符集:

编辑sybase用户home目录下的locales目录下的locales.dat文件。

vi~/locales/locales.dat

将[linux]段内的locale =default,us_english,cp936中的设置修改为指定设置即可。

 

23、      使ASE与Linux操作系统一起启动:

在/etc/rc.local中增加

su-c "/opt/sybase-12.5.3/ASE-12_5/install/startserver-f /opt/sybase-12.5.3/ASE-12_5/install/RUN_xujy" - sybase &

sleep10

su-c"/opt/sybase-12.5.3/ASE-12_5/install/startserver-f /opt/sybase-12.5.3/ASE-12_5/install/RUN_SYB_BACKUP " - sybase &

sleep1

 

24、      必须添加额外的tempdb设备以赋给tempdb

 disk init name = 'tempdb',physname = '/opt/data/tempdb.dat',size  = '1024M',cntrltype=0,dsync = false

go

alter database tempdb on tempdb=1024 with override

go

 

25、      在无阵列情况下可以再考虑添加一个临时数据库tempdb1, 此库设备建在与原tempdb设备不同的磁盘上,以减少IO争用—不是必须

diskinit name  = 'tempdb1',physname ='/opt/data/tempdb1.dat',size  = '1024M',cntrltype= 0,dsync = false

go

create temporary database  tempdb1 on tempdb1=1024with override

go

sp_tempdb 'add', 'tempdb1', 'default'

go

 

26、      为了提升tempdb性能,把tempdb在master设备上征用的空间剥离

use tempdb  

go

sp_dropsegment "default",tempdb,master

go
sp_dropsegment logsegment,tempdb,master

go

sp_dropsegment system,tempdb,master
go

use master

go

sp_configure "allow updates to system tables",1 ----允许修改系统表

go

delete sysusages where dbid=2 and lstart=0----dbid=2是tempdb,lstart=0是master设备

go

update sysusages set lstart=0 where dbid=2 ----这里只考虑一个tempdb设备

go

sp_configure "allow updates to system tables",0 ----恢复系统表不允许修改

 

27、      基础优化配置

sp_configure "max memory",1024*1024*1024*0.7/2048  -- 字节数/2048来设置(不能大于数据库最大内存既上面的kernel.shmmax值)

go

sp_configure "procedure cache size",51200  -- 字节数/2048来设置(100M) ,看从内存分配适应调整,一般超过20g的都可以翻倍增加

-- (过程高速缓存,通常是Max mem20%)

go

sp_cacheconfig "default data cache","1024*0.7*0.7M" (数据库最大内存*0.7)

go

sp_configure "enable housekeeper GC",1

go

enable housekeeperGC 配置参数的有效值:

·0 -禁用管家碎片收集任务,但为delete 命令启用消极碎片收集。必须使用 reorg reclaim_space 释放空页。这是消耗最少的选项,而且对性能的影响也最小,但如果出现许多空页累计的情况,可能会导致性能问题。Sybase不建议使用此值。

·1 - 为管家碎片收集任务和delete 命令都启用消极碎片收集。该值为缺省值。如果累计的空页数超过了应用程序所允许的数量,应考虑使用选项 4 或 5。可以使用 optdiag 实用程序获取空页统计信息。

·2 - 留作将来使用。

·3 - 留作将来使用。

·4-为管家碎片收集任务和delete 命令都启用积极碎片收集。此选项效率最高,但 delete 命令消耗的资源也最多。如果 DOL 表上的删除操作在一个批处理中,此选项最为理想。

·5-为管家启用积极碎片收集,为delete 启用消极碎片收集。对于删除操作,此选项比选项 4 消耗的资源要少。此选项适用于并行事务导致删除操作的情况。

 

--以下设置在分配给数据库的内存达到4G以上时采用

--sp_cacheconfig "tempdb_cache","500M","mixed"

--go

--sp_poolconfig tempdb_cache,"300M","16k"

--go

--sp_bindcache "tempdb_cache",tempdb

--go

--sp_cacheconfig "default data cache","cache_partition=2" (在SMP的环境中还有一个问题就是螺旋锁的竞争,当用sp_sysmon观察到资源缓存螺旋锁争夺超过10%时就需要分区。),看分配的cpu核数一般超过6个核的就可以设为2个分区,如果是12核的可以设置成4个分区
--sp_poolconfig "default data cache","128m","16k" (增加一个16K I/O缓存池,解决排序等大IO操作,需要在长期观察后才能使用性能最佳化.)

-- sp_configure "lock scheme",0,{allpages | datapages | datarows}

sp_configure "lock scheme",0,datarows --服务级锁的默认粒度就置为行级锁 

go

sp_configure "max network packet size",4096

go

sp_configure "number of devices",30

go

sp_configure "number of locks",1000000

go

sp_configure "lock hashtable size",131072    --锁的20%必须是2的n次幂

go

sp_configure "number of open databases",20

go

sp_configure "number of open indexes",5000

go

sp_configure "number of open objects",5000

go

sp_configure "number of user connections",1000    --每个连接要占70k内存,看业务访问量适应增加

go

sp_configure "user log cache size",8192

go

sp_configure "disk i/o structures",4096

go

sp_configure "statement cache size",25000 --语句缓存,降低语句硬解析的时间,看分配的总内存,适当的增加

go

sp_configure "max online engines",2  ---看服务器的CPU核数,一般是设置服务器总核数 - 1

go

sp_configure "number of engines at startup",2

go

--sp_configure "number of worker processes",2   --多cpu要打开相应工作进程数

go

--如果安装了全文搜索引擎

sp_configure"enable cis",1

go

sp_configure"cis rpc handling",1

go

sp_configure"enable full-text search",1

go

 

附:

1、 关闭ASE的方法。

//连接到SERVER

isql-Usa -P -Setoh2

//关闭备份数据库

shutdownSYB_BACKUP

go

//关闭Server

shutdown

go

1、 启动ASE的方法。

在~/ASE-12_5/install/目录下,运行下列命令:

//启动Server

./startserver-f  RUN_xujy

//启动备份服务器

./startserver-f  RUN_SYB_BACKUP

2、 查看ASE启动情况。

在~/ASE-12_5/install/目录下,运行下列命令:

//显示当前运行的ASE服务

./showserver

3、 备份和恢复数据库。

dump database mydb to "/dev/data/mydb_back.dat" (备份到文件)。

装载数据库(更新或恢复),先创建一个数据库(如果没有这个数据库或这个数据库已删除的话),它的名称与要恢复的数据库名称一样,如mydb ,执行:

 load database mydb from"/dev/data/mydb_back.dat" (从备份文件加载)

 online database mydb

4、 为数据库添加设备。

isql-Sdata6 -Usa -P

diskinit name="etoh01",physname="/opt/data/etoh01.dat", size="1024M",cntrltype= 0,dsync = false

go

physname是设备的物理路径,可以在磁盘阵列上创建目录专门存放数据文件。

vdevno是数据库设备号,可以用sa用户登录到数据库master,运行sp_helpdevice查询当前的数据库设备信息,缺省设置时一个SERVER最多可以有10个设备。

创建的设备大小=size*sqlsrv.server_page_size(缺省大小为2K)

5、 创建新数据库。

isql-Sdata6 -Usa -P

create database etoh on etoh01="1000m"log on etoh01log="1000m"

go

可以用sa用户登录到数据库master,运行sp_helpdb查询当前的数据库信息。

6、 导入数据库信息。可以将表结构、数据等内容存为SQL语句,通过一下命令一次执行:

isql -Sdata6 -Usa -P -Ddatabase -i input.sql

 

 

常见错误及解决办法:

1.如果有Connection Error:two end failed类似这样的错误,可能是server没有启动,或者检查登录时候的用户名,server名和密码。

2.有这个错误提示的话 startserver: error while loading sharedlibraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No suchfile or directory

Building master device...

Task failed

/opt/sybase/ASE-12_5/bin/dataserver. error whileloading shared libraries:libstdc++-libc6.2-2.so.3: cannot open shared objectfile : No such file or directory.

Store "test" was not create

安装这个包:compat-libstdc++-296-2.96-132.7.2.3,问题可以解决,或者去linux中的添加和删除,进行安装开发系列中第1个,第2个和最后一个软件包,问题即可解决。

3.在linux5上安装sybase时,在进行serbuildres会提示segments fault错误,dataserver建立不起来。

在sybase根目录下,对.bash_profile文件添加

export LD_POINTER_GUARD =0, 然后编译.bash_profile使得配置生效。

 

你可能感兴趣的:(SYBASE,ASE)