posts - 297,  comments - 1618,  trackbacks - 0
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。
posted on 2010-04-20 10:27 阿蜜果 阅读(3828) 评论(3)  编辑  收藏 所属分类: database


FeedBack:
# re: informix使用备忘录[未登录]
2010-04-24 21:29 | fantasybei
-_-!!!!!!  回复  更多评论
  
# re: informix使用备忘录
2010-08-30 10:09 | Aries001
导出除了unload之外还有好几种语法  回复  更多评论
  
# re: informix使用备忘录
2014-04-11 16:59 | 娄小娄
上次好像也有看到您关于informix的知识分享,多谢了。  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2010年4月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

      生活将我们磨圆,是为了让我们滚得更远——“圆”来如此。
      我的作品:
      玩转Axure RP  (2015年12月出版)
      

      Power Designer系统分析与建模实战  (2015年7月出版)
      
     Struts2+Hibernate3+Spring2   (2010年5月出版)
     

留言簿(262)

随笔分类

随笔档案

文章分类

相册

关注blog

积分与排名

  • 积分 - 2280143
  • 排名 - 3

最新评论

阅读排行榜

评论排行榜