• Sybase:SAP IQ学习笔记


    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)
     
     
  • 相关阅读:
    Open_basedir 开启后项目变慢
    PHP导入百万级excel数据方案
    使用Python统计项目代码行数(Python3.X)
    AttributeError: '_io.TextIOWrapper' object has no attribute 'xreadlines'
    startTime = time.clock()AttributeError: module 'time' has no attribute 'clock
    SyntaxError: Missing parentheses in call to 'print'. Did you mean print
    误删 Win10 应用商店应该如何恢复?
    win10无法开启Windows Defender Firewall服务,错误1058
    设备管理器里面的AAP Server是什么?
    layui——Cannot create property 'LAY_TABLE_INDEX' on number '2'
  • 原文地址:https://www.cnblogs.com/lizm166/p/8533398.html
Copyright © 2020-2023  润新知