程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SyBase數據庫 >> SyBase教程 >> SAP Sybase IQ15.1的demo數據庫創建及啟動

SAP Sybase IQ15.1的demo數據庫創建及啟動

編輯:SyBase教程

網上一直有朋友勸我寫一篇關於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" -y

if 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%.sql

if 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.bat

Demo database needs to be created. Create now? Y/N: Y

Current Directory is: c:ProgramDataSybaseIQdemo


This script creates the iqdemo database in the current
directory: c:ProgramDataSybaseIQdemo

Continue <Y/N>? Y


Setting 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.cfg
2013-11-30  12:10         2,908,160 iqdemo.db
2013-11-30  12:10        26,214,400 iqdemo.iq
2013-11-30  12:10            43,681 iqdemo.iqmsg
2013-11-30  12:10        13,107,200 iqdemo.iqtmp
2013-11-30  12:10               194 iqdemo.lmp
2013-11-30  12:10           327,680 iqdemo.log
2013-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對加載數據時性能的比較,可以在後邊進行介紹。

 

 

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved