IQ學習筆記

-- 啓動IQ管理
>> start_iq -n utility_db -n utility_db
>> dbisql -c "uid=dba;pwd=sql;eng=utility_db;dbn=utility_db"

-- 建立數據庫
CREATE DATABASE 'D:\\SyLabs\\data\\mydb'
  CASE IGNORE
  PAGE SIZE 4096
  BLANK PADDING ON
  IQ PATH 'D:\\SyLabs\\data\\mydb'
  IQ SIZE 200
  IQ PAGE SIZE 131072
  DBA USER 'dba'
  DBA PASSWORD 'sql'

-- 啓動mydb
start_iq mydb

-- 鏈接到mydb
dbisql -c "uid=dba;pwd=sql;eng=mydb;dbn=mydb"
 
-- 爲temp dbspace添加dbfile
ALTER DBSPACE IQ_SYSTEM_TEMP ADD FILE ds_tmp 'D:\\SyLabs\\data\\mydb_temp' SIZE 200;
-- 建立用戶dbspace,並添加dbfile
CREATE DBSPACE user_ds USING FILE ds_f1 'D:\\SyLabs\\data\\ds_f1' SIZE 200;
ALTER DBSPACE user_ds ADD FILE ds_f2 'D:\\SyLabs\\data\\df_f2' SIZE 200;

-- 建立測試表,添加數據
CREATE TABLE TEST1(F_ID INT, F_NAME VARCHAR(32)) IN USER_DS;
INSERT INTO TEST1 VALUES(101, 'FOO');
INSERT INTO TEST1 VALUES(102, 'BAR');

/* 移除dbfile */
-- 首先設置要移除的dbfile屬性爲readonly
ALTER DBSPACE user_ds ALTER FILE ds_f1 READONLY;
-- empty要移除的dbfile
SP_IQEMPTYFILE ds_f1;
-- 刪除dbfile
ALTER DBSPACE user_ds DROP FILE ds_f1;

-- 查看dbfile信息
SP_IQFILE;


-- 查看options
sp_iqcheckoptions;

sa_conn_properties;
sa_conn_options;

SET OPTION PUBLIC.FORCE_NO_SCROLL_CURSORS='ON';
SET OPTION PUBLIC.STRING_RTRUNCATION='OFF';
SET OPTION PUBLIC.DEFAULT_DBSPACE='USER_DS';
SET OPTION PUBLIC.INDEX_ADVISOR='ON';
SET OPTION PUBLIC.INDEX_ADVISOR_MAX_ROWS=1000;

SP_IQCHECKOPTIONS;


-- grant 用戶
GRANT CONNECT TO u1 IDENTIFIED BY '123456';

-- 添加用戶u2,密碼爲sybase
SP_IQADDLOGIN 'u2', 'sybase'


-- 數據庫的備份和恢復

/* 版本信息
   每一個客戶端操做時會產生一個版本,執行commit版本提交消除。
*/
-- 查看otherversion信息
sp_iqversionuse;

/*
 * 當IQ version過多致使IQ性能降低時,執行
   sp_iqversionuse
 * 查看當前version信息;
 * 而後執行
  sp_iqconnection
 * 查看IQ鏈接信息connID;
 * 再經過
  sp_iqcontext
* 查看鏈接是否有任務在執行,若是沒有,能夠經過
  drop connection
* 語句斷開該鏈接。
*/

/* multiplex IQ集羣
 * 在單節點上設置IQ集羣,將本地數據庫轉換爲multiplex
*/
-- start_iq啓動coordinator
>> start_iq @params.cfg -n mpxnode_c -x "tcpip{port=2763}" mydb.db

-- 鏈接到coordinator
>> dbisql -c "uid=dba;pwd=sql;eng=mpxnode_c;dbn=mydb"

-- create multiplex server
CREATE MULTIPLEX SERVER mpxnode_w1 DATABASE 'D:\\SyLabs\\data2\\mydb.db'
HOST 'localhost' PORT 2957 ROLE WRITER STATUS INCLUDED

-- 從新啓動coordinator
>> start_iq @params.cfg -n mpxnode_c -x "tcpip{port=2763}" mydb.db

-- 備份catalog信息
>> dbbackup -y -d -c "uid=DBA;pwd=sql;links=tcpip{port=2763};eng=mpxnode_c" D:\\SyLabs\\data2

-- 進入節點db所在目錄,重置log信息
>> cd D:\\SyLabs\\data2
>> dblog -r -t mydb.log mydb.db

-- 啓動節點db
>> start_iq @params.cfg -n mpxnode_w1 -x "tcpip{port=2957}" mydb.db

-- 鏈接到節點IQ
dbisql -c "uid=DBA;pwd=sql;eng=mpxnode_w1;links=tcpip{port=2957}"

-- 添加臨時dbspace文件
ALTER DBSPACE IQ_SYSTEM_TEMP ADD FILE mpxnode_w1_temp 'w1_temp1.iqtmp' SIZE 100


-- 以後使用mydb,不使用multiplex模式
start_iq @params.cfg -n mydb mydb.d

-- 啓用IQ查詢計劃
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='D:\\temp';
set temporary option query_timing='On';
IQ Store



IQ Store:
    DBSPACES: IQ_SYSTEM_MAIN
        默認只有一個DBSPACE,若是添加須要額外受權。

Catalog Store:
    catalog.db文件;
    catalog.log文件;
        以上2個文件恢復數據庫所需的文件,不可以刪除或者修改!!!

    必須放在文件系統上。
        
IQ Temporary Store:

params.cfg:

    -c catalog緩存
    -cl 緩存下限
        配置和.db的文件大小同樣 
    -ch 緩存上限
        配置和-cl大小的4到8倍
    
    -iqtc
    -iqmc
    -iqlm
    (選擇系統內存80%左右,三者內存分配建議爲1:1:1)
相關文章
相關標籤/搜索