SAP Sybase IQ15.1的demo数据库创建及启动
网上一直有朋友劝我写一篇关于IQ的入门的相关内容。IQ相对于ASE以及ASA而言,资料相对少一些。
1. 安装
有一篇实作的帖子:http://www.itpub.net/thread-1345562-1-1.html 写得还是蛮不错的。
我本机是64位Win7,安装的是iq1510_product_winx86 for x64,可能是因为我的机器已经安装了: vcruntime_2005, 2008的缘故,所以,一路安装起来,并没有报错。
那篇帖子的作者用的是1520, 按道理,系统会自动为他安装这些runtime的,安装包里头就有相应的分发包。
请看目录:
iq1510_product_winx86_32ms-redist-2008
iq1510_product_winx86_32ms-redist-2005
安装包其实也不大,总共才300来兆。我装的是试用版,最长能用30天。
2. 关于Demo数据库
IQ的文档,如果不仔细阅读,确实让人费解。 其实,IQ的很多用法与ASA相似,两者的文档不妨串读。
那样也许就容易一些。
安装完以后,我们会看从菜单里Sybase -> IQ 15.1 --> Start IQ demo数据库,为大家启动Demo数据库。
本文主要就是介绍这个demo数据库如何创建并启动的。
我们只要右键编辑这个快捷方式,就可以看到它的内容:
echo.if exist iqdemo.db if exist iqdemo.cfg if exist iqdemo.iq if exist iqdemo.iqtmp ( start_iq "@iqdemo.cfg" "iqdemo.db" goto :EOF)set /p response="Demo database needs to be created. Create now? Y/N: "if not {%response%}=={Y} ( if not {%response%}=={y} ( goto :EOF ))echo.echo Current Directory is: %CD%echo."%ComSpec%" /C "%ALLUSERSPROFILE%SybaseIQdemomkiqdemo.bat" -yif exist iqdemo.db if exist iqdemo.cfg if exist iqdemo.iq if exist iqdemo.iqtmp ( start_iq "@iqdemo.cfg" "iqdemo.db")
基本逻辑就是,如果已经创建了iqdemo.db,就试图启动它。如果没有,则调用programdataSybaseIQdemomkiqdemo.bat来创建这个数据库。看来最核心的操作都在批处理文件:mkiqdemo.bat里头了。
我们再把mkiqdemo.bat打开,看看里边都有什么?
( echo # %DEMO_NAME%.cfg echo # ------------------------------------------------------------ echo # Default startup parameters for the ASIQ demo database echo # ------------------------------------------------------------ echo. echo -n %OS_NAME%_%DEMO_NAME% echo -x tcpip{port=2638} echo. echo # The following parameters are also found in the configuration file echo # %IQDIR15%scriptsdefault.cfg. Any parameters not specified below echo # and not in the start up parameter list, will be added by start_iq echo # using default.cfg as a guide. echo. echo -c 48m echo -gc 20 echo -gd all echo -gl all echo -gm 10 echo -gp 4096 echo. echo -iqmc 32 echo -iqtc 24 echo. ) > %DEMO_NAME%.cfg
创建数据库启动的文件。
有下边这么一行来运行mkiqdemo.sql
echo.echo.Starting Server ...start_iq "@%SVR_NAME%.cfg"if not %errorlevel%==0 ( echo ERROR: Starting of server failed goto :end_batch_cleanup )echo.echo.Connecting to server via %CONN_TYPE% ...echo.Using: %CONN_UTIL%dbisqlc %INP_VERBOSE% -c %CONN_UTIL% %SVR_NAME%.sqlif not %errorlevel%==0 ( echo Creation of database failed goto :end_batch_cleanup )echo.echo.Creation completed.echo.
这里边就已经包含了启动数据库服务并在SQL脚本里创建数据库的动作了。看看sql脚本里头:
// CONNECT_UTIL_STRING;CREATE DATABASE 'iqdemo.db' BLANK PADDING ON DBA PASSWORD 'sql' CASE IGNORE IQ PATH 'iqdemo.iq' // RELATIVE SYS_SPACE IQ SIZE 25 // For 15.0 release demo has 25/75 partition IQ RESERVE 200 IQ PAGE SIZE 131072; // Block Size for 12.5 and up is 128k // JAVA ON // JCONNECT ON // CONNECT_ASIQ_STRING;// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%// Create a dbspace for users objects// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%CREATE DBSPACE iq_main USING FILE iq_main 'iqdemo_main.iq' // RELATIVE USER_SPACE SIZE 75 RESERVE 200 ;
这几条SQL语句就是创建数据库及表空间的动作了。
其实,我们将C:ProgramDataSybaseIQdemo目录完整备份出来,每次都可以进到demo目录下边,运行run_mkiqdemo.bat,来创建并运行iqdemo数据库了。
我们再来看看demo数据库的启动参数含义:
IQ full cmd line: -n sean-t60_iqdemo -x tcpip{port=2638} -c 48m -gc 20 -gd all -gl all -gm 10 -gp 4096 -iqmc 32 -iqtc 24 iqdemo.db -ti 4400 -gn 25 -o C:ProgramDataSybaseIQlogfilessean-t60_iqdemo.003.srvlog -hn0,9864:204
1) -n sean_t60_iqdemo 这与ASA里头一样,指定的是ENG 名称, 即server name
2) -x , TCPIP参数,这里指定了端口号 2638
3) -c 48m, cache大小为48M
4) -gc 20检查点时间间隔, 20分钟来一次checkpoint
5) -gd all 允许所有用户通过连接启动数据库
6) -gm 10缺省最大连接数
7) -gp 4096 最大存储页的大小
8) -iqmc 主高速缓存大小
9) -iqtc 临时高速缓存大小
10) -ti 4400 (4400分钟), 断开空闲连接的时间(73个小时?:)
11) -gn 25 , 工作线程数
12) -o 输出的消息日志
13) -hn0, 9864:204
这些参数对于初学者来说 ,确实是一个“负担”。
下边就是创建并启动的过程:
c:ProgramDataSybaseIQdemo>run_mkiqdemo.batDemo database needs to be created. Create now? Y/N: YCurrent Directory is: c:ProgramDataSybaseIQdemoThis script creates the iqdemo database in the currentdirectory: c:ProgramDataSybaseIQdemoContinue <Y/N>? YSetting up temporary files ...Starting Server ...Connecting to server via TCPIP ...Using: uid=DBA;pwd=sql;eng=bld_demo_9707;dbn=utility_db;links=tcpip{host=sean-t60;port=9707}Creation completed.Shutting down server ...SQL Anywhere Stop Server Utility Version 11.0.1.5027 驱动器 C 中的卷没有标签。 卷的序列号是 C4ED-378A c:ProgramDataSybaseIQdemo 的目录2013-11-30 12:10 701 iqdemo.cfg2013-11-30 12:10 2,908,160 iqdemo.db2013-11-30 12:10 26,214,400 iqdemo.iq2013-11-30 12:10 43,681 iqdemo.iqmsg2013-11-30 12:10 13,107,200 iqdemo.iqtmp2013-11-30 12:10 194 iqdemo.lmp2013-11-30 12:10 327,680 iqdemo.log2013-11-30 12:10 78,643,200 iqdemo_main.iq 8 个文件 121,245,216 字节 0 个目录 34,826,956,800 可用字节Demo database created succesfully
3. 检测试用demo数据库:
直接使用Sybase Central for IQ就可以连接上demo数据库,端口用2638, 用户:dba, 密码sql 或者选择ODBC数据源:Sybase IQ Demo也可以,连接如下图所示:只是示例中的数据量并不大:
至于LOAD table以及 Input对加载数据时性能的比较,可以在后边进行介绍。
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 11-28Bossjob宣布上线AI翻译功能
- 11-28腾讯应用宝电脑版推小宝AI助手 部分功能已
- 11-28周鸿祎亲自上阵演短剧,将于发布会上播出
- 11-28机构:2024第三季度全球NAND闪存产业营收增
- 11-18LG新能源宣布与Bear Robotics达成合作,成为