1. ZDC:
FTP
root
root
/datafile/swbackup/sybaseiq
2、查看端口:如果是windows,查看 %SYBASE%\ini\sql.ini如果是linux/unix,cat $SYBASE/interfaces
3、启动服务:startserver -f $SYBASE/ASE-15_0/install/RUN_MINOS -f $SYBASE/ASE-15_0/install/RUN_MINOS_BS #红色字体是adaptive server名称和backup server名称
#启动完成后查看进程
bash-3.2$ showserver
4、连接:isql -Usa -Psybase15 –SMINOS #红色字体是密码和adaptive server 名
5、关闭服务:bash-3.2$ isql -Usa -Psybase15 –SMINOS #红色字体是密码和adaptive server 名
1> shutdown
2> go
6. sed "s/\$hostname/$hn/g" zdc_test.cfg
dbisqlc -c "uid=dba;pwd=sql;eng=utility_db;dbn=utility_db" -q zdc_createdb.sql
stop_iq -stop all
start_iq @zdc.cfg zdc
dbisqlc -c "uid=dba;pwd=U_tywg_2008;eng="$hn"_zdc" -q zdc_dbinit.sql
$SYBASE/IQ-15_1/IQ-15_1.SH
$ dbisqlc -c "uid=zte_zdc;pwd= U_tywg_2008;dbn=zdc"
启动sybase IQ服务:start_iq -n utility_db
停止sybase IQ服务:$stop_iq –stop all
ps -ef |grep sybase
以sybase用户登录系统,执行$sybuninstall/IQSuite/目录下的uninstall
$ dbisql -nogui -c "uid=dba;pwd=U_tywg_2008;eng=<hostname>_ison”
select @@versio
7. 上传license文件:
将license文件用ftp上传至sybase安装路径下的/home/Sybase/SYSAM-2_0/licenses/,注意,用bin(二进制)模式上传。
8. 启动zdc数据库服务。命令如下:
start_iq -n utility_db
$start_iq @zdc.cfg zdc
9、在sybase用户下执行如下命令:
$ dbisqlc -c "uid=zte_zdc;pwd= U_tywg_2008;dbn=zdc"
会弹出如下的对话框,表示zdc数据库已经启动,并能够正确连接。
10、SYBASE IQ常用命令记录:
1)SELECT connection_property( 'number' )查看当前连接ID
2)DROP CONNECTION connection-id
3)Sp_iqstatus 查看IQ数据库信息的存储过程
4)过-iqmc,-iqtc,两个参数。其中iqmc表示:主缓存/内存,iqtc表示:临时缓存/内存,一般它们的比例推荐值是iqmc:iqtc 4:6
5)Temporary-临时生效 Option public.IQMSG_LENTH_MB=500,限制IQmsg文件的大小为500MB,当加了temporary时,表示本次连接生效
6)一般关系型数据库索引是B-Tree,IQ的索引机制是BitMap. IQ索引的类型主要包括:FP,LF,HG,HNG等
7)表:包括基本表 create table mytable
本地临时表 create table #mytable
全局临时表 create global temporary table mytable 区分它们的生命周期与作用
不记日志删除整个表数据:turncate table
8)熟悉Load , Insert select from, Insert into 三种的比较,前面的最快。
注意下Load里面的特殊分隔符,如换行: \x0a , tab: \x09 其中load比较重要。
9)IQ的Sql语句,一些特别的如:select top ...select frist等
10)IQ的数据导出,两种导出方式的第一种>#file.txt,第二种set....
第一种导出文件生成在服务器端,第二种导出文件生成在执行语句的客户端。
11)IQ的用户管理,建立一个新的IQ用户可以通过grant connect,知道IQ的grant的一些赋权语句。
12)sp_iqconnection,sp_iqcontext,
11、Sybase IQ Help笔记:
1)设置环境变量:
. $SYBASE/IQ-15_1/IQ-15_1.SH
或者 source $SYBASE/IQ-15_1/IQ-15_1.SH
2)启动浏览器: scjview
12、SYBASE裸设备创建数据库:
1)建物理卷: # pvcreate /dev/sdc
# pvs
2)创建卷组: # vgcreate racvg /dev/sdc
# vgs
3)创建逻辑卷: # lvcreate -n lv01 -L 7.99G racvg
# lvcreate -n lv02 -L 1.99G racvg
# lvs
4)扫描LVM和激活卷组: # vgscan
# vgchange -ay
5)编辑/etc/raw,创建裸设备: # vi /etc/raw raw1:mapper/racvg-lv01
raw2:mapper/racvg-lv02
6) 启动raw服务: # chkconfig raw on
7)执行绑定: # service raw start
8) 查询绑定关系: # raw -qa
9) 修改权限:
# chown -R sybiq:sybase racvg-lv01
# chown -R sybiq:sybase racvg-lv02
# chown -R sybiq:Sybase raw1
# chown -R sybiq:Sybase raw2
注意:Sybase IQ 在Suse Linux 10裸设备上创建数据库的时候存在一个BUG。
描述:Suse Linux 10把rawctl文件从/dev目录移动到/dev/raw目录,
导致IQ往raw partition上进行写操作的时候,由于在/dev目录
下找不到rawctl文件就会创建失败。
解决办法:在/dev目录下使用link命令建立到/dev/raw/rawctl/的soft link。
命令如下: # ln –s /dev/raw/rawctl /dev/rawctl
# chown –R sybiq:sybase /dev/rawctl
10) 解决系统重启后权限自动还原的问题
问题描述:裸设备权限修改之后,每次系统重新启动后又还原成原来的权限。
解决办法:编辑/etc/init.d/raw文件,将上面修改权限和创建soft link的命令添加到文档结束前的倒数第二行。
11)启动demo数据库: >start_asiq @asiqdemo.cfg asiqdemo.db
>isql–UDBA –PSQL –Sasiqdemo
12)创建ccibiq库脚本: >create database ‘/home/sybiq/ccibiqdb/ccibiq.db’
>iq path ‘/dev/raw/raw1’
>temporary path ‘/dev/raw/raw2’
>log on ‘/home/sybiq/ccibiqdb/ccibiq.log’
>iq size 1024 >temporary size 256 --单位为M
>iq page size 131072 --单位为M
>collation ‘936ZHO’--单位为2014,该值128k
>go
13)启动创建的ccibiq库: > start_asiq @ccibiq.cfg ccibiq.db–Jcp936
14)创建用户和授权: >isql–UDBA –PSQL –SCCIB_SERV –Jcp936
>sp_iqaddlogin‘ccib’,’ccib123’
>go
>grant DBA to ccib
>go
15)使用新创建的用户登陆ccibiq库: >isql–Uccib –Pccib123 –SCCIB_SERV –Jcp936
16)删除ccibiq库 >drop database ‘/home/sybiq/ccibiqdb/ccibiq.db’
>go
设置 export _JAVA_OPTIONS="-xms64M -XMX128M"
注意:对于linux环境,需要用root用户核查修改如下两个环境配置文件
1. 检查或创建/etc/redhat-release文件,确保其中具有如下两行内容:
redhat-4
Red Hat Enterprise Linux Server release 5 (Tikanga)
2. 检查/etc/security/limits.conf,确保其中具有如下两行内容(修改后需要重新用sybase用户登录, 登录后用ulimit -a命令可检查当前用户的max user processes的值是否生效为2047)
sybase soft nproc 2047
sybase hard nproc 16384
?libXext-devel.i686
?libXtst-devel.i686
compat-libcwait-2.0-2.i386.rpm
查看版本:sybase用户登录服务器执行start_iq -v 或者连接数据库用sp_iqstatus select @@version
****************************************************************************************************************************************************************
sybase iq知识 Sybase IQ支持的主要索引类型为:
·LowFast-LF(低基数)
·HighGroup-HG(高基数)
·HighNonGroup-HNG(高基数)
·FastProjiectinFP
建立Bit-Wise索引的一般原则:
(1)在每个列上都建FP索引;
(2)在唯一值<1000的字段上建立LF索引;
(3)在参加连接的字段上建HG或LF索引;
(4)唯一值>1000且用在GROUP BY,SELCT DISITICT,COUNT DISITICT中的字段上建立HG索引;
(5)此外的其它列若出现在where条件中或聚集运算中,则建立HNG索引。
Sybase IQ可利用预连接技术来提高即席查询速度
Sybase IQ支持两类连接处理:一类是即席连接(在查询时处理);另一类是预连接(在加载时处理)。大多数应用是二者的结合。即席连接适用于多对多的联系,被连接的表之间的尺寸差别超过10倍。
预连接适用于一对多的联系,被连接的表之间的尺寸差别不大于10倍,如:等值或左、右外连接。但预连接将导致增大存储量并降低加载速度。
Sybase IQ能对已建立了HG或LF索引的列,再利用"Joined Indexset"完成预连接处理。它通常能使查询速度提高10倍以
/
IQ STORE 约点总磁盘空间的70%。IQ temporary Store大小约为IQ Store的20%。
UNIX:不少于800M。
WINDOWS:不少于375M。
虚拟内存=物理内存+磁盘交换分区大小。
/
Start utility db
/
start_asiq -n myserver -gu utility_db
dbisqlc -c
"eng=myserver;uid=DBA;pwd=SQL;dbn=utility_db;links=tcpip{host=158.77.123.244:2638}" -q createdb.sql 1>createdb.out 2>createdb.err
/
Create database
/
start_asiq -n myserver -gu utility_db
create database '/sybaseiq/data/LSL.db'
message path '/sybaseiq/data/LSL.iqmsg'
log on '/sybaseiq/data/LSL.log'
temporary path '/sybaseiq/data/IQTemp_01'
IQ PATH '/sybaseiq/data/IQMain_01'
IQ PAGE SIZE 262144
-- IQ SIZE 2048
-- TEMPORARY SIZE 4096
case respect
collation 'EUC_CHINA'
-- collation '936ZHO'
blank padding on
java on
-- transaction log on
-- PASSWORD CASE RESPECT
jconnect on;
/
Drop database
/
DROP DATABASE '/sybaseiq/data/LSL.db'
/
Add dbspace
/
create dbspace IQMain_01 AS '/sybaseiq/data/IQMain_01' size 4096;
create dbspace IQMain_02 AS '/sybaseiq/data/IQMain_02' IQ STORE;
create dbspace IQMain_03 AS '/sybaseiq/data/IQMain_03' IQ STORE;
create dbspace IQMain_04 AS '/sybaseiq/data/IQMain_04' IQ STORE;
create dbspace IQMain_05 AS '/sybaseiq/data/IQMain_05' IQ STORE;
/
Drop dbspace
/
drop dbspace IQMain_01
/
database option
/
set option public.minimize_storage='on' ;
set option public.IQMSG_LENGTH_MB=300;
set option public.load_memory_mb=100 ;
set option public.notify_modulus=1000000 ;
set option public.append_load='on' ;
set option Public.Disk_Striping = 'ON';
set option Public.Disk_Striping_Packed = 'ON' ;
set option public.Parallel_GBH_Enabled='ON' ;
set option public.Parallel_GBH_Units=24 ;
set option Public.Force_No_Scroll_Cursors ='ON' ;
set option Public.query_temp_space_limit=0;
set option Public.Query_Plan ='OFF' ;
set option Public.Query_Detail ='OFF' ;
/
link disk and file
/
ln -s /dev/vgjyfxdb/rlvjyfxsyb01 /sybaseiq/data/IQMain_01
ln -s /dev/vgjyfxdb/rlvjyfxsyb02 /sybaseiq/data/IQMain_02
ln -s /dev/vgjyfxdb/rlvjyfxsyb03 /sybaseiq/data/IQMain_03
ln -s /dev/vgjyfxdb/rlvjyfxsyb04 /sybaseiq/data/IQMain_04
ln -s /dev/vgjyfxdb/rlvjyfxsyb05 /sybaseiq/data/IQMain_05
ln -s /dev/vgjyfxdb/rlvjyfxsyb06 /sybaseiq/data/IQTemp_01
backup.sh
/
#backup IQ file size: 20GB
DAT=$(date '+%Y%m%d')
iqsup<<!
backup database crc on full to '/dump/sybiq/iq_full_$DAT.dmp' size 20000000
go
!
/
start_asiq [config file] dbname [switchs]
/
start_asiq @LSL.cfg LSL.db
/
stop.sh
/
stop_asiq
或
Dbstop -c "uid=DBA; pwd=SQL; eng=server_name; dbn=db_name"
/
database.cfg
/
# LSL.cfg
# ------------------------------------------------------------
# Default startup parameters for the ASIQ demo database
# ------------------------------------------------------------
#第一个 -n servername ;第二个 -n dbname
-n LSL
-x tcpip{port=4500}
# The following parameters are also found in the configuration file
# $ASDIR/scripts/default.cfg. Any parameters not specified below
# and not in the start up parameter list, will be added by start_asiq
# using default.cfg as a guide.
-cl 32m
-ch 1024m
-gc 20
-gd all
-gl all
# -gm 最大连接数
-gm 50
-iqnumbercpus 9
-gp 4096
-ti 4400
-tl 1200
-p 8192
-iqmc 8000
-iqtc 12000
#设置服务器和数据选项
#1、 数据库的启动参数均可以写在".cfg"文件中。
#2、 启动服务器的语法:
#start_asiq server-switchs database_file
#其中:"server-switchs"可以为:
#-c :缓存大小,默认windows为32M,Unix为48M。
#-gp:Catalog store页大小。
#-gm:服务器允许的连接数。
#-n:IQ server的名字。如果有两个"-n"选项,则第一个是IQ server的名字,第二个"-n"为IQ 数据库的名字。
#-gc:checkpoint时间间隔。默认为20,推荐为6000。
#-gr:最大的恢复时间。默认为2。
#-ti:客户端超时时间。默认为4400分钟。
#-tl:默认网络超时时间。默认120秒。
#-iqmc:主缓存大小,单位:M。
#-iqtc:临时缓存大小,单位:M。
#注:主缓存:临时缓存=2:3
#在默认情况下,Sybase IQ server使用2638端口。
创建用户:
sp_iqaddlogin username 'password'
或者
创建用户或者修改密码:
grant connect to user1,user2 identified by password1,password2
grant resource to user1
select * from sysobjects
#使用SET OPTION命令更变数据库的配置:
#(1)、语法:
#SET [TEMPORARY] OPTION
#[user_id. | PUBLIC.]option_name = [option_value]
#其中的"option_name"可以是:
#Force_No_Scroll_Cursors='on'(默认为"off")禁止缓存用户的查询结果。
#Query_Temp_Space_Limit=0(默认为2000M),设置临时缓存的最大值。0表示不限制。
#Public.Query_Plan='off'(默认为"on")禁止将用户的查询计划打印到IQ Message File中,因为查询计划可以会使之大小迅速增加。
#例子:
#SET OPTION public.Force_NO_Scroll_Cursors='no'
#查看数据库的所有被改动过的(即非默认值)选项,用存储过程:sp_iqcheckoptions。
#Sybase IQ内存配置
#1、 IQ从单一的一个内存池中分配内存。
#2、 从操作系统层面来看,IQ Server的内存是由堆组成。
#3、 Buffer:内存中的一块区域,它存储了写入数据库或从数据库中读取的未解压的数据。
#4、 IQ Page Size:IQ Server中每一个内存页的大小。
#5、 IQ Page Size/16=BLOCK SIZE
#6、 在启动服务器时,可以用参数-c来指定服务器缓存的初始大小。在所有平台中,这个值最大为256M。
#7、 IQ Buffer有两种类型:
# (1)、主Buffer缓存:IQ Store的Buffer。(占总大小的40%)
# (2)、临时Buffer:IQ temporary Buffer。(占总大小的60%)
#8、 在Sybase IQ server中一个活动的用户大约占用10M内存,一个非活动用户大约占5M内存。
##unix odbc
[SybaseIQ_64bit]
driver=/work/sybase/ASIQ-12_6/lib/libdbodbc9.so
UID=dba
PWD=sql
Servername=<hostmachine>_asiqdemo
CommLinks=tcpip
DatabaseName=asiqdemo
可选的有:
LogFile=/work/sybase/ASIQ-12_6/mylogfile.out
ANAAppCodePage=4
InstallDir=/work/sybase/ASIQ-12_6/lib
Trace=0
TraceDll=/work/sybase/ASIQ-12_6/lib/odbctrac.so
TraceFile=odbctrace.out
UseCursorLib=0
##widows odbc
tcp/ip选项:host=xxx.xxx.xxx.xxx;port=xxxx
#open client
#windows:
server address: ip,port
#unix interface
iqtest125
master tcp ether 158.77.123.244 2661
query tcp ether 158.77.123.244 2661
要求:数据库名和Server 名必须一致。
open client可用isql连接来测试
数据库性能监控例程
. sp_iqconnection 显示连接用户和版本
. sp_iqcontext 显示运行参数
. sp_iqcheckdb 数据库正确性检查
. sp_iqdbstatistics 最近的 sp_iqcheckdb 结果
. sp_iqdbsize gives the size of the current database
. sp_iqspaceinfo 输出数据库对象使用空间情况
. sp_iqstatus 数据库各种信息展现
. sp_iqtablesize 输出指定表的大小
. sp_iqgroupsize 输出指定组成
执行计划显示
. 当前系统选项查看 SET;
. SET TEMPORARY OPTION Query_Plan=ON;
. SET TEMPORARY OPTION Query_Detail=ON;
. SET TEMPORARY OPTION Query_Plan_After_Run=ON;
. SET TEMPORARY OPTION Query_Plan_AS_HTML=ON;
. SET TEMPORARY OPTION QUERY_PLAN_AS_HTML_DIRECTORY='/tmp';
倒出存储过程:
defncopy -Udw -Pdw -Sdwdev out procedure.sql tpdw_dev proc_test
将一个DBSPACE中的OBJECTS移动到另一个DBSPACE中:Sp_iqrelocate
把远程库同步到本地库的方法:
1,建一个remote server(jdbc,ip:port?CHARSET=charset)
2,从远程表中select数据到本地表:
insert into locateTablename location 'remoteservername.remotedbname' {select * from remoteTablename};
以root用户登陆并修改 /etc/security/limits.conf,并追加以下内容
vi /etc/security/limits.conf
sybase soft nproc 2047
sybase hard nproc 16384
sybase soft nofile 1024
sybase hard nofile 65536
以root用户登陆并修改/etc/pam.d/login文件,并追加以下内容
session required /lib64/security/pam_limits.so
root
root
/datafile/swbackup/sybaseiq
2、查看端口:如果是windows,查看 %SYBASE%\ini\sql.ini如果是linux/unix,cat $SYBASE/interfaces
3、启动服务:startserver -f $SYBASE/ASE-15_0/install/RUN_MINOS -f $SYBASE/ASE-15_0/install/RUN_MINOS_BS #红色字体是adaptive server名称和backup server名称
#启动完成后查看进程
bash-3.2$ showserver
4、连接:isql -Usa -Psybase15 –SMINOS #红色字体是密码和adaptive server 名
5、关闭服务:bash-3.2$ isql -Usa -Psybase15 –SMINOS #红色字体是密码和adaptive server 名
1> shutdown
2> go
6. sed "s/\$hostname/$hn/g" zdc_test.cfg
dbisqlc -c "uid=dba;pwd=sql;eng=utility_db;dbn=utility_db" -q zdc_createdb.sql
stop_iq -stop all
start_iq @zdc.cfg zdc
dbisqlc -c "uid=dba;pwd=U_tywg_2008;eng="$hn"_zdc" -q zdc_dbinit.sql
$SYBASE/IQ-15_1/IQ-15_1.SH
$ dbisqlc -c "uid=zte_zdc;pwd= U_tywg_2008;dbn=zdc"
启动sybase IQ服务:start_iq -n utility_db
停止sybase IQ服务:$stop_iq –stop all
ps -ef |grep sybase
以sybase用户登录系统,执行$sybuninstall/IQSuite/目录下的uninstall
$ dbisql -nogui -c "uid=dba;pwd=U_tywg_2008;eng=<hostname>_ison”
select @@versio
7. 上传license文件:
将license文件用ftp上传至sybase安装路径下的/home/Sybase/SYSAM-2_0/licenses/,注意,用bin(二进制)模式上传。
8. 启动zdc数据库服务。命令如下:
start_iq -n utility_db
$start_iq @zdc.cfg zdc
9、在sybase用户下执行如下命令:
$ dbisqlc -c "uid=zte_zdc;pwd= U_tywg_2008;dbn=zdc"
会弹出如下的对话框,表示zdc数据库已经启动,并能够正确连接。
10、SYBASE IQ常用命令记录:
1)SELECT connection_property( 'number' )查看当前连接ID
2)DROP CONNECTION connection-id
3)Sp_iqstatus 查看IQ数据库信息的存储过程
4)过-iqmc,-iqtc,两个参数。其中iqmc表示:主缓存/内存,iqtc表示:临时缓存/内存,一般它们的比例推荐值是iqmc:iqtc 4:6
5)Temporary-临时生效 Option public.IQMSG_LENTH_MB=500,限制IQmsg文件的大小为500MB,当加了temporary时,表示本次连接生效
6)一般关系型数据库索引是B-Tree,IQ的索引机制是BitMap. IQ索引的类型主要包括:FP,LF,HG,HNG等
7)表:包括基本表 create table mytable
本地临时表 create table #mytable
全局临时表 create global temporary table mytable 区分它们的生命周期与作用
不记日志删除整个表数据:turncate table
8)熟悉Load , Insert select from, Insert into 三种的比较,前面的最快。
注意下Load里面的特殊分隔符,如换行: \x0a , tab: \x09 其中load比较重要。
9)IQ的Sql语句,一些特别的如:select top ...select frist等
10)IQ的数据导出,两种导出方式的第一种>#file.txt,第二种set....
第一种导出文件生成在服务器端,第二种导出文件生成在执行语句的客户端。
11)IQ的用户管理,建立一个新的IQ用户可以通过grant connect,知道IQ的grant的一些赋权语句。
12)sp_iqconnection,sp_iqcontext,
11、Sybase IQ Help笔记:
1)设置环境变量:
. $SYBASE/IQ-15_1/IQ-15_1.SH
或者 source $SYBASE/IQ-15_1/IQ-15_1.SH
2)启动浏览器: scjview
12、SYBASE裸设备创建数据库:
1)建物理卷: # pvcreate /dev/sdc
# pvs
2)创建卷组: # vgcreate racvg /dev/sdc
# vgs
3)创建逻辑卷: # lvcreate -n lv01 -L 7.99G racvg
# lvcreate -n lv02 -L 1.99G racvg
# lvs
4)扫描LVM和激活卷组: # vgscan
# vgchange -ay
5)编辑/etc/raw,创建裸设备: # vi /etc/raw raw1:mapper/racvg-lv01
raw2:mapper/racvg-lv02
6) 启动raw服务: # chkconfig raw on
7)执行绑定: # service raw start
8) 查询绑定关系: # raw -qa
9) 修改权限:
# chown -R sybiq:sybase racvg-lv01
# chown -R sybiq:sybase racvg-lv02
# chown -R sybiq:Sybase raw1
# chown -R sybiq:Sybase raw2
注意:Sybase IQ 在Suse Linux 10裸设备上创建数据库的时候存在一个BUG。
描述:Suse Linux 10把rawctl文件从/dev目录移动到/dev/raw目录,
导致IQ往raw partition上进行写操作的时候,由于在/dev目录
下找不到rawctl文件就会创建失败。
解决办法:在/dev目录下使用link命令建立到/dev/raw/rawctl/的soft link。
命令如下: # ln –s /dev/raw/rawctl /dev/rawctl
# chown –R sybiq:sybase /dev/rawctl
10) 解决系统重启后权限自动还原的问题
问题描述:裸设备权限修改之后,每次系统重新启动后又还原成原来的权限。
解决办法:编辑/etc/init.d/raw文件,将上面修改权限和创建soft link的命令添加到文档结束前的倒数第二行。
11)启动demo数据库: >start_asiq @asiqdemo.cfg asiqdemo.db
>isql–UDBA –PSQL –Sasiqdemo
12)创建ccibiq库脚本: >create database ‘/home/sybiq/ccibiqdb/ccibiq.db’
>iq path ‘/dev/raw/raw1’
>temporary path ‘/dev/raw/raw2’
>log on ‘/home/sybiq/ccibiqdb/ccibiq.log’
>iq size 1024 >temporary size 256 --单位为M
>iq page size 131072 --单位为M
>collation ‘936ZHO’--单位为2014,该值128k
>go
13)启动创建的ccibiq库: > start_asiq @ccibiq.cfg ccibiq.db–Jcp936
14)创建用户和授权: >isql–UDBA –PSQL –SCCIB_SERV –Jcp936
>sp_iqaddlogin‘ccib’,’ccib123’
>go
>grant DBA to ccib
>go
15)使用新创建的用户登陆ccibiq库: >isql–Uccib –Pccib123 –SCCIB_SERV –Jcp936
16)删除ccibiq库 >drop database ‘/home/sybiq/ccibiqdb/ccibiq.db’
>go
设置 export _JAVA_OPTIONS="-xms64M -XMX128M"
注意:对于linux环境,需要用root用户核查修改如下两个环境配置文件
1. 检查或创建/etc/redhat-release文件,确保其中具有如下两行内容:
redhat-4
Red Hat Enterprise Linux Server release 5 (Tikanga)
2. 检查/etc/security/limits.conf,确保其中具有如下两行内容(修改后需要重新用sybase用户登录, 登录后用ulimit -a命令可检查当前用户的max user processes的值是否生效为2047)
sybase soft nproc 2047
sybase hard nproc 16384
?libXext-devel.i686
?libXtst-devel.i686
compat-libcwait-2.0-2.i386.rpm
查看版本:sybase用户登录服务器执行start_iq -v 或者连接数据库用sp_iqstatus select @@version
****************************************************************************************************************************************************************
sybase iq知识 Sybase IQ支持的主要索引类型为:
·LowFast-LF(低基数)
·HighGroup-HG(高基数)
·HighNonGroup-HNG(高基数)
·FastProjiectinFP
建立Bit-Wise索引的一般原则:
(1)在每个列上都建FP索引;
(2)在唯一值<1000的字段上建立LF索引;
(3)在参加连接的字段上建HG或LF索引;
(4)唯一值>1000且用在GROUP BY,SELCT DISITICT,COUNT DISITICT中的字段上建立HG索引;
(5)此外的其它列若出现在where条件中或聚集运算中,则建立HNG索引。
Sybase IQ可利用预连接技术来提高即席查询速度
Sybase IQ支持两类连接处理:一类是即席连接(在查询时处理);另一类是预连接(在加载时处理)。大多数应用是二者的结合。即席连接适用于多对多的联系,被连接的表之间的尺寸差别超过10倍。
预连接适用于一对多的联系,被连接的表之间的尺寸差别不大于10倍,如:等值或左、右外连接。但预连接将导致增大存储量并降低加载速度。
Sybase IQ能对已建立了HG或LF索引的列,再利用"Joined Indexset"完成预连接处理。它通常能使查询速度提高10倍以
/
IQ STORE 约点总磁盘空间的70%。IQ temporary Store大小约为IQ Store的20%。
UNIX:不少于800M。
WINDOWS:不少于375M。
虚拟内存=物理内存+磁盘交换分区大小。
/
Start utility db
/
start_asiq -n myserver -gu utility_db
dbisqlc -c
"eng=myserver;uid=DBA;pwd=SQL;dbn=utility_db;links=tcpip{host=158.77.123.244:2638}" -q createdb.sql 1>createdb.out 2>createdb.err
/
Create database
/
start_asiq -n myserver -gu utility_db
create database '/sybaseiq/data/LSL.db'
message path '/sybaseiq/data/LSL.iqmsg'
log on '/sybaseiq/data/LSL.log'
temporary path '/sybaseiq/data/IQTemp_01'
IQ PATH '/sybaseiq/data/IQMain_01'
IQ PAGE SIZE 262144
-- IQ SIZE 2048
-- TEMPORARY SIZE 4096
case respect
collation 'EUC_CHINA'
-- collation '936ZHO'
blank padding on
java on
-- transaction log on
-- PASSWORD CASE RESPECT
jconnect on;
/
Drop database
/
DROP DATABASE '/sybaseiq/data/LSL.db'
/
Add dbspace
/
create dbspace IQMain_01 AS '/sybaseiq/data/IQMain_01' size 4096;
create dbspace IQMain_02 AS '/sybaseiq/data/IQMain_02' IQ STORE;
create dbspace IQMain_03 AS '/sybaseiq/data/IQMain_03' IQ STORE;
create dbspace IQMain_04 AS '/sybaseiq/data/IQMain_04' IQ STORE;
create dbspace IQMain_05 AS '/sybaseiq/data/IQMain_05' IQ STORE;
/
Drop dbspace
/
drop dbspace IQMain_01
/
database option
/
set option public.minimize_storage='on' ;
set option public.IQMSG_LENGTH_MB=300;
set option public.load_memory_mb=100 ;
set option public.notify_modulus=1000000 ;
set option public.append_load='on' ;
set option Public.Disk_Striping = 'ON';
set option Public.Disk_Striping_Packed = 'ON' ;
set option public.Parallel_GBH_Enabled='ON' ;
set option public.Parallel_GBH_Units=24 ;
set option Public.Force_No_Scroll_Cursors ='ON' ;
set option Public.query_temp_space_limit=0;
set option Public.Query_Plan ='OFF' ;
set option Public.Query_Detail ='OFF' ;
/
link disk and file
/
ln -s /dev/vgjyfxdb/rlvjyfxsyb01 /sybaseiq/data/IQMain_01
ln -s /dev/vgjyfxdb/rlvjyfxsyb02 /sybaseiq/data/IQMain_02
ln -s /dev/vgjyfxdb/rlvjyfxsyb03 /sybaseiq/data/IQMain_03
ln -s /dev/vgjyfxdb/rlvjyfxsyb04 /sybaseiq/data/IQMain_04
ln -s /dev/vgjyfxdb/rlvjyfxsyb05 /sybaseiq/data/IQMain_05
ln -s /dev/vgjyfxdb/rlvjyfxsyb06 /sybaseiq/data/IQTemp_01
backup.sh
/
#backup IQ file size: 20GB
DAT=$(date '+%Y%m%d')
iqsup<<!
backup database crc on full to '/dump/sybiq/iq_full_$DAT.dmp' size 20000000
go
!
/
start_asiq [config file] dbname [switchs]
/
start_asiq @LSL.cfg LSL.db
/
stop.sh
/
stop_asiq
或
Dbstop -c "uid=DBA; pwd=SQL; eng=server_name; dbn=db_name"
/
database.cfg
/
# LSL.cfg
# ------------------------------------------------------------
# Default startup parameters for the ASIQ demo database
# ------------------------------------------------------------
#第一个 -n servername ;第二个 -n dbname
-n LSL
-x tcpip{port=4500}
# The following parameters are also found in the configuration file
# $ASDIR/scripts/default.cfg. Any parameters not specified below
# and not in the start up parameter list, will be added by start_asiq
# using default.cfg as a guide.
-cl 32m
-ch 1024m
-gc 20
-gd all
-gl all
# -gm 最大连接数
-gm 50
-iqnumbercpus 9
-gp 4096
-ti 4400
-tl 1200
-p 8192
-iqmc 8000
-iqtc 12000
#设置服务器和数据选项
#1、 数据库的启动参数均可以写在".cfg"文件中。
#2、 启动服务器的语法:
#start_asiq server-switchs database_file
#其中:"server-switchs"可以为:
#-c :缓存大小,默认windows为32M,Unix为48M。
#-gp:Catalog store页大小。
#-gm:服务器允许的连接数。
#-n:IQ server的名字。如果有两个"-n"选项,则第一个是IQ server的名字,第二个"-n"为IQ 数据库的名字。
#-gc:checkpoint时间间隔。默认为20,推荐为6000。
#-gr:最大的恢复时间。默认为2。
#-ti:客户端超时时间。默认为4400分钟。
#-tl:默认网络超时时间。默认120秒。
#-iqmc:主缓存大小,单位:M。
#-iqtc:临时缓存大小,单位:M。
#注:主缓存:临时缓存=2:3
#在默认情况下,Sybase IQ server使用2638端口。
创建用户:
sp_iqaddlogin username 'password'
或者
创建用户或者修改密码:
grant connect to user1,user2 identified by password1,password2
grant resource to user1
select * from sysobjects
#使用SET OPTION命令更变数据库的配置:
#(1)、语法:
#SET [TEMPORARY] OPTION
#[user_id. | PUBLIC.]option_name = [option_value]
#其中的"option_name"可以是:
#Force_No_Scroll_Cursors='on'(默认为"off")禁止缓存用户的查询结果。
#Query_Temp_Space_Limit=0(默认为2000M),设置临时缓存的最大值。0表示不限制。
#Public.Query_Plan='off'(默认为"on")禁止将用户的查询计划打印到IQ Message File中,因为查询计划可以会使之大小迅速增加。
#例子:
#SET OPTION public.Force_NO_Scroll_Cursors='no'
#查看数据库的所有被改动过的(即非默认值)选项,用存储过程:sp_iqcheckoptions。
#Sybase IQ内存配置
#1、 IQ从单一的一个内存池中分配内存。
#2、 从操作系统层面来看,IQ Server的内存是由堆组成。
#3、 Buffer:内存中的一块区域,它存储了写入数据库或从数据库中读取的未解压的数据。
#4、 IQ Page Size:IQ Server中每一个内存页的大小。
#5、 IQ Page Size/16=BLOCK SIZE
#6、 在启动服务器时,可以用参数-c来指定服务器缓存的初始大小。在所有平台中,这个值最大为256M。
#7、 IQ Buffer有两种类型:
# (1)、主Buffer缓存:IQ Store的Buffer。(占总大小的40%)
# (2)、临时Buffer:IQ temporary Buffer。(占总大小的60%)
#8、 在Sybase IQ server中一个活动的用户大约占用10M内存,一个非活动用户大约占5M内存。
##unix odbc
[SybaseIQ_64bit]
driver=/work/sybase/ASIQ-12_6/lib/libdbodbc9.so
UID=dba
PWD=sql
Servername=<hostmachine>_asiqdemo
CommLinks=tcpip
DatabaseName=asiqdemo
可选的有:
LogFile=/work/sybase/ASIQ-12_6/mylogfile.out
ANAAppCodePage=4
InstallDir=/work/sybase/ASIQ-12_6/lib
Trace=0
TraceDll=/work/sybase/ASIQ-12_6/lib/odbctrac.so
TraceFile=odbctrace.out
UseCursorLib=0
##widows odbc
tcp/ip选项:host=xxx.xxx.xxx.xxx;port=xxxx
#open client
#windows:
server address: ip,port
#unix interface
iqtest125
master tcp ether 158.77.123.244 2661
query tcp ether 158.77.123.244 2661
要求:数据库名和Server 名必须一致。
open client可用isql连接来测试
数据库性能监控例程
. sp_iqconnection 显示连接用户和版本
. sp_iqcontext 显示运行参数
. sp_iqcheckdb 数据库正确性检查
. sp_iqdbstatistics 最近的 sp_iqcheckdb 结果
. sp_iqdbsize gives the size of the current database
. sp_iqspaceinfo 输出数据库对象使用空间情况
. sp_iqstatus 数据库各种信息展现
. sp_iqtablesize 输出指定表的大小
. sp_iqgroupsize 输出指定组成
执行计划显示
. 当前系统选项查看 SET;
. SET TEMPORARY OPTION Query_Plan=ON;
. SET TEMPORARY OPTION Query_Detail=ON;
. SET TEMPORARY OPTION Query_Plan_After_Run=ON;
. SET TEMPORARY OPTION Query_Plan_AS_HTML=ON;
. SET TEMPORARY OPTION QUERY_PLAN_AS_HTML_DIRECTORY='/tmp';
倒出存储过程:
defncopy -Udw -Pdw -Sdwdev out procedure.sql tpdw_dev proc_test
将一个DBSPACE中的OBJECTS移动到另一个DBSPACE中:Sp_iqrelocate
把远程库同步到本地库的方法:
1,建一个remote server(jdbc,ip:port?CHARSET=charset)
2,从远程表中select数据到本地表:
insert into locateTablename location 'remoteservername.remotedbname' {select * from remoteTablename};
以root用户登陆并修改 /etc/security/limits.conf,并追加以下内容
vi /etc/security/limits.conf
sybase soft nproc 2047
sybase hard nproc 16384
sybase soft nofile 1024
sybase hard nofile 65536
以root用户登陆并修改/etc/pam.d/login文件,并追加以下内容
session required /lib64/security/pam_limits.so