Sybase:SAP 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:

    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)
 
 

最新文章

  1. COGS 2533. [HZOI 2016]小鱼之美
  2. MySQL Replication需要注意的问题
  3. Ubuntu 安装java环境搭建
  4. LYK 快跑!(LYK别打我-)(话说LYK是谁)
  5. Servlet常见错误及解决方法
  6. Strategy 模式
  7. android run process
  8. 学习ios设计(1)
  9. 开发一个微信小程序项目教程
  10. 如何在Eclipse中添加Servlet-api.jar的方法
  11. spring boot / cloud (二) 规范响应格式以及统一异常处理
  12. IIS中遇到无法预览的问题(HTTP 错误 401.3 - Unauthorized 因为 Web server上此资源的訪问控制列表(ACL)配置或加密设置,您无权查看此文件夹或页面。)
  13. 双接口(回调)promise cb
  14. Spring生态研习【二】:SpEL(Spring Expression Language)
  15. Jmeter正则表达式提取器二(转载)
  16. python界面Tkinter编程(tkMessageBox对话框使用)
  17. c#实现windows远程桌面连接程序代码
  18. Js扩容
  19. relativeURL 相对URL的坑
  20. JQuery Mobile - 解决页面点击时候,页眉和页脚消失问题!

热门文章

  1. 修改了JS代码,刷新网页后,加载的JS还是原来旧的?
  2. 简易新闻网站NewsWeb-网页抓取
  3. HDU4267(2012年长春站)
  4. Android搜索控件的基本使用方法
  5. Parrot Linux国内源
  6. Linux中Oracle的sqlplus下退格和Del键无效的问题解决
  7. MVC4 WebAPI中如何返回一张图片
  8. 常用的SQLAlchemy列选项
  9. Python菜鸟之路:Django 数据验证之钩子和Form表单验证
  10. MySQL日期时间字段