informix使用备忘录

informix使用备忘录
1.  启动与停止命令

     停止命令如下:
onmode   - k
    onmode 命令 语法: onmode [-k] [-m] [-s] [-u] [-y]
    onmode -k     执行立即shutdown,将系统变为off-line模式
    onmode -m     将系统从quiescent模式变为on-line模式
    onmode -s     执行graceful shutdown
    onmode -u      执行immediate shutdwon
    onmode -y     对提示自动回答yes
    也可以在informix或root用户下运行如下命令将数据库模式转换到关机状态:
onmode  - ky
   启动命令如下:
oninit   -
    使用如下命令也能启动:
oninit
    或者使用root或informix用户运行如下语句将数据库模式转换为online状态:
oninit  - vy

2.  创建数据库
     1)使用可视化界面创建
            i)    运行dbaccess命令进入;
            ii) 选择“Database”菜单,Enter进入;
            iii) 选择“Create”菜单,Enter进入;
            iv) 输入数据库的名字,例如amigoxie,按Enter键确认输入;
            v) 在菜单中的“Dbspace”中选择数据库空间,笔者的服务器只有rootdbs这个数据库空间,Enter键确认选择;
            vi) 在菜单中的“Log”中选择“Buffered_log”后按Enter键确认选择(Buffered_log支持存储过程);
            vii)按Tab键选择“Exit”后按Enter确认选择;
            viii)在“Create-new-database”和“Discard-new-database”两个选项中选择前者,按Enter键确认创建。数据库“amigoxie”创建完成。
       2)使用数据库创建命令创建
           使用如下命令创建1)中类似的amigoxing数据库:
create   database  amigoxing  in  rootdbs  with   log ;

3. 创建数据库空间
     我们将存储数据库信息的空间叫做:dbspaces。
     Dbspace=一个或多个chunks。
     Chunk=物理的存储单元,比如一个文件,或者一个磁盘设备。
     在下面的实例中添加一个名为amigo_dbspace数据库空间,在Unix中,chunk文件的所有者必须是informix用户,informix用户组,并且具有660权限,创建该数据库空间的命令如下:
[ informix@minicc ~ ] $ touch  / home / informix / chunklink / amigo_dbspace
[ informix@minicc ~ ] $ chmod  660   / home / informix / chunklink / amigo_dbspace
[ informix@minicc ~ ] $ onspaces –c –d amigo_dbspace –p  / home / informix / chunklink / amigo_dbspace –o  0  –s  102400

 
4. 查看数据库编码
    dbaccess进入后,进入到sysmaster库,运行如下命令可查看当前各个库的编码:
select   *   from  sysdbslocale;
      运行结果类似如下:
dbs_dbsname  sysmaster
dbs_collate  en_US.
819
 
dbs_dbsname  sysutils
dbs_collate  en_US.
819
 
dbs_dbsname  sysuser
dbs_collate  en_US.
819
 
dbs_dbsname  sdp
dbs_collate  en_US.
57372
 
dbs_dbsname  smp
dbs_collate  en_US.
57372

5. 查看informix占用的端口
     在informix的安装目录的etc目录下的sqlhosts文件,可查看端口信息,例如下面表示informix的端口为7778:
sdpdb    onsoctcp     minicc2          7778

6. 使用dbaccess命令从文件导入建表信息
    若想从某个包含建表建索引等信息的文件里面将信息导入到某个库中,可将文件拷贝到要运行命令的目录,而后运行:
    dbaccess 数据库名称 文件名称
    例如运行如下命令表示将create.sql文件中的信息导入到amigo数据库中:
dbaccess amigo  create .sql

7. 给某个用户赋予某个库的dba权限
   使用dbaccess命令进去后,选择“Query-language”,接着选择需要赋予dba权限的库,再选择“New”,输入如下命令并运行来赋予权限:
grant  dba  to  用户名;
 
8. 连接informix库的用户的.bash_profile的配置
    参考配置如下:
SDFDB = sdp
export SDFDB

INFORMIXDIR
=/ home / informix
INFORMIXSERVER
= sdpdb1 
ONCONFIG
= onconfig.scp2
PATH
= $PATH:$INFORMIXDIR / bin
LD_LIBRARY_PATH
= $LD_LIBRARY_PATH:$INFORMIXDIR / lib:$INFORMIXDIR / lib / esql 

export INFORMIXDIR
export INFORMIXSERVER
export ONCONFIG PATH
export LD_LIBRARY_PATH

export LANG
= en_US.utf8
export DB_LOCALE
= en_US.utf8
export CLIENT_LOCALE
= en_US.utf8
      其中SDFDB为数据库的名称,INFORMIXDIR为informix的安装根路径,sdpdb1为INFORMIXSERVER

9. informix导出表数据 
     进入查询页面后,运行命令:
unload  to  文件名  select   *   from  表名
     例如,将cti_callstat的数据导入到data.txt文件中,命令如下:
unload  to  data.txt  select   *   from  cti_callstat;

10. informix修改表字段属性
    alter table 表名modify(列名 char(300)); {这时300的长度使用varchar会报错,超过了最大长度限制}
    例如更新ss_trunk表的nonce字段为varchar(255),更新语句为:
alter table ss_trunk modify(nonce varchar( 255 ));
 
11. informix的小数类型
    类型为:DECIMAL(p, s)
    其中p就是有效数字长度,s就是小数点后数字长度。例如在下面示例中,建立cti_humantaskexp表,该表的probability字段为小于1的小数,小数位数为6位,总位数为8位。
create   table  cti_humantaskexp  (
  serviceid            
VARCHAR ( 30 )                    not   null ,
  seconds              
INTEGER                             default   0   not   null ,
  probability          
DECIMAL ( 8 , 6 )                  default   0 ,
  updatekey            
VARCHAR ( 30 )
);

11. 查看informix的状态是否正常

    可以通过命令查看informix的状态是否正常:
onstat
     例如笔者服务器上informix的该语句的返回结果如下:
IBM Informix Dynamic Server Version  10.00 .UC1      --  On-Line -- Up 00:00:28 -- 962380 Kbytes

Userthreads
address  flags   sessid   
user      tty      wait     tout locks nreads   nwrites
7d721018 
-- -P--D 1        informix -        0        0    0     23       7
7d721544  -- -P--F 0        informix -        0        0    0     0        0
7d721a70  -- -P--F 0        informix -        0        0    0     0        0
7d721f9c  -- -P--F 0        informix -        0        0    0     0        0
7d7224c8  -- -P--F 0        informix -        0        0    0     0        0
7d7229f4  -- -P--F 0        informix -        0        0    0     0        0
7d722f20  -- -P--F 0        informix -        0        0    0     0        0
7d72344c  -- -P--F 0        informix -        0        0    0     0        0
7d723978  -- -P--F 0        informix -        0        0    0     0        0
7d723ea4  -- -P--F 0        informix -        0        0    0     0        0
7d7243d0  -- -P--F 0        informix -        0        0    0     0        0
7d7248fc  -- -P--F 0        informix -        0        0    0     0        0
7d724e28  -- -P--F 0        informix -        0        0    0     0        0
7d725354  -- -P--- 6        informix -        0        0    0     0        0
7d725880  -- -P--B 7        informix -        0        0    0     0        0
7d725dac  -- -P--- 9        informix -        0        0    0     0        0
7d726804  -- -P--D 10       informix -        0        0    0     0        0
  17  active,  128  total,  29  maximum concurrent

Profile
dskreads   pagreads   bufreads   
% cached dskwrits   pagwrits   bufwrits    % cached
25           185          671          96.27     7            7            0            0.00    

isamtot    
open        start       read        write      rewrite     delete       commit      rollbk
22           6            6            4            0            0            0            0            0

gp_read    gp_write   gp_rewrt   gp_del     gp_alloc   gp_free    gp_curs   
0            0            0            0            0            0            0          

ovlock     ovuserthread ovbuff     usercpu  syscpu   numckpts   flushes   
0            0              0            2.76       1.52       1            2          

bufwaits   lokwaits   lockreqs   deadlks    dltouts    ckpwaits   compress   seqscans  
0            0            14           0            0            0            0            0          

ixda
- RA    idx - RA     da - RA      RA - pgsused lchwaits  
0            0            0            0            21       

12. 查看informix数据库空间的使用情况
    使用的命令如下:
onstat  - d
     笔者所在informix服务器该命令的运行结果如下:
IBM Informix Dynamic Server Version  10.00 .UC1      --  On-Line -- Up 01:06:09 -- 962380 Kbytes

Dbspaces
address  
number    flags      fchunk   nchunks  pgsize   flags    owner    name
7d5247e0 
1          0x40001      1          1          2048      N  B     informix rootdbs
 
1  active,  2047  maximum

Chunks
address  chunk
/ dbs  offset     size       free       bpages     flags pathname
7d524938 
1       1      0            1000000      922473                 PO - B   / home / informix / chunklink / rootdbs
 
1  active,  32766  maximum

NOTE: The 
values   in  the "size"  and  "free" columns  for  DBspace chunks are
      displayed 
in  terms  of  "pgsize"  of  the DBspace  to  which they belong.

Expanded chunk capacity mode: always
    其中size表示的是一个有多少个page,在此为1000000,free表示空间多少个page,这里为922473,pgsize表示每个page的大小,在这里为2048字节。

13. 查看informix日志的一些情况     
    使用如下命令可以查看informix逻辑日记和物理日志的一些情况:
onstat  - l
    笔者的informix服务器的运行结果如下:
IBM Informix Dynamic Server Version  10.00 .UC1      --  On-Line -- Up 01:15:46 -- 962380 Kbytes

Physical Logging
Buffer bufused  bufsize  numpages   numwrits   pages
/ io
  P
- 1    0          160        315          3            105.00
      phybegin         physize    phypos     phyused    
% used   
      
1 : 263              50000        13910        0            0.00     

Logical Logging
Buffer bufused  bufsize  numrecs    numpages   numwrits   recs
/ pages pages / io
  L
- 1    0          160        24333        1620         18           15.0         90.0     
        Subsystem    numrecs    
Log   Space  used
        OLDRSAM      
24333        3258504        

address  
number    flags    uniqid    begin                 size     used     % used
7d75b630 
1         U - B -- --  37       1:50263              2500     2500   100.00
7d75b678  2         U - B -- --  38       1:52763              2500     2500   100.00
7d75b6c0  3         U - B -- --  39       1:55263              2500     2500   100.00
7d75b708  4         U -- -C-L  40       1:57763              2500     2041    81.64
7d75b750  5         U - B -- --  35       1:60263              2500     2500   100.00
7d75b798  6         U - B -- --  36       1:62763              2500     2500   100.00
  6  active,  6  total
      其中physize表示physical log file的page数,在这里数量为50000.
      下面的used列表示每个logical log file的page数。%used表示每个logical log file的已经使用的page数。6 total表示的是一个有6个logical log file。

你可能感兴趣的:(informix使用备忘录)