免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3232 | 回复: 7
打印 上一主题 下一主题

关于informix初始化的几个问题的请教,先行谢谢了. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-22 23:46 |只看该作者 |倒序浏览
一直在CU看贴,但是现在好像只看搞不定.主要是些概念性的东西.望各位达人指点.
我先行谢过了.

前几天装了informix9.4UC1E1  LINUX RHEL 4 UPDATE 6
装成功了.oninit -
Informix Dynamic Server Version 9.40.UC1E1   -- On-Line -- Up 00:20:08 -- 30952 Kbytes

装成功后,我想像DB2那样的建表空间.
用LVM做LV.然后建了裸设备.

用onspaces 也成功.

后来参看CU的一个原创贴子.找到一个脚本..

如下:
       onspaces -c -b blobdbs -g 32 -p /home/informix/dbs/blobdbs -o 0 -s  48000
        onspaces -c -d tmpdbs -t -p /home/informix/dbs/tmpdbs -o 0 -s 100000

        onspaces -c -d phydbs -p /home/informix/dbs/phydbs -o 0 -s 50200
        onspaces -c -d logdbs -p /home/informix/dbs/logdbs -o 0 -s 200000
以上的我都可以理解.而且和DB2的原理差不多.不过一个是CHUNK一个是所谓的容器.


        echo "\nShut Down Server to Quiescent Mode..."
        echo "====================================================="
        onmode -s -y
这个语句我不知道是干什么的.使服务器处休眠吗? 类似于操作系统的safe模式吗?
        sleep 5

        echo "Adding Logical Log\n"
        onparams -a -d logdbs -s 20000
        onparams -a -d logdbs -s 20000
        onparams -a -d logdbs -s 20000
        onparams -a -d logdbs -s 20000
        onparams -a -d logdbs -s 20000
        onparams -a -d logdbs -s 20000
        onparams -a -d logdbs -s 20000
        onparams -a -d logdbs -s 20000
        onparams -a -d logdbs -s 20000
        onparams -a -d logdbs -s 10000
以上的是干什么的???
我的理解是空间已经存在,这样是告诉数据库,在logdbs空间里分配一部分给LOGIC log 用..以后写LLOG就写到这个空间.
请问是这样吗?
为什么要运行10次??
直接
onparams -a -d logdbs -s 190000
不行吗?
还有20000这个是怎么得出来吗,一定要这么大吗?
最后一个为什么又是10000了?


        echo "\nArchiving Database Server Please Wait 20 seconds.\n"
        echo "====================================================="
        ontape -s
这里是备份的.后面不加级也行吗?那到底是多少级呢?
        sleep 5

        onmode -l
        onmode -l
        onmode -l
        onmode -l
        onmode -l
        onmode -l
以上六个是干什么的?
我试过,没这几句,删除不了.INFORMIX说什么正在用.
我看网上说,这是向下一个LOGIC 日志转移,是这样吗?
但是,当前日志是哪个呢?从哪里看?
因为只有知道当前日志是哪个,以及它们的先后顺序,才能转到我们想让它去的地方.
        onmode -c
这个是校验.我在网上查到了.
        sleep 10

        echo "\nDrop the old Logical Log Files... \n"
        echo "====================================================="
        onparams -d -l 1 -y
        onparams -d -l 2 -y
        onparams -d -l 3 -y
        onparams -d -l 4 -y
        onparams -d -l 5 -y
        onparams -d -l 6 -y
根据ID一一删除之.
        echo "\nChange Physical Log Files, please wait about 1 minutes...\n"
        echo "====================================================="
        onparams -p -s 50000 -d phydbs -y
这个也是告诉数据库空间在这里,对吗?
        sleep 100

        echo "\nNow add more dbspaces/chunks...\n"
        echo "====================================================="


        onspaces -c -d datadbs   -p /home/informix/dbs/datadbs -o 0 -s 500000

        echo "\nTake a level 0 archive.\n"
        echo "====================================================="

        ontape -s  -L 0
是不是每指定一次日志空间所在,就要备份一次.那这次为什么又有那个-L 0了呢?

        echo "\nReboot IDS...\n\n"
        echo "====================================================="

        onmode -ky
        oninit
以上的类似于重启系统,这个能理解.

        sleep 10

        echo "\n====================================================="
        echo "Well done! \n"
        echo "====================================================="

        最后修改onconfig.cs文件
        DBSPACETEMP     tmpdbs         # Default temp dbspaces
        onmode -ky
        oninit




以上的问题,对各位高手可能很好笑,但是我的确是不知道干什么的..


而且,装之后,我还有一些问题.

装之后,我看onconfig里面 LOGFILES 改为4了(我自己加的,每个100M)
我记得原来是6的.INFORMIX会自己改自己的配置??

这个弄的我很困惑..
这个参数和上面那些onparams -a -d logdbs -s 20000有关系吗?
是不是加几次,后面LOGFILES就变成多少了?
但是,这样也说不通呀.配置里LOGSIZE没变.还是2000
然而,我自己加的时候是onparams -a -d logdbs -s 100000

请问它们之间到底是什么关系.


另外nstat -l里的东西是不是不准呀,或者是我没有操作成功.
[informix@localhost bin]$ onstat -l

Informix Dynamic Server Version 9.40.UC1E1   -- On-Line -- Up 00:36:03 -- 30952 Kbytes

Physical Logging
Buffer bufused  bufsize  numpages numwrits pages/io
  P-1  0        16       0        0        0.00
      phybegin         physize    phypos     phyused    %used   
      2:53             100000     0          0          0.00   

Logical Logging
Buffer bufused  bufsize  numrecs  numpages numwrits recs/pages pages/io
  L-2  0        16       1        1        1        1.0        1.0     
        Subsystem    numrecs  Log Space used
        OLDRSAM      1        36            

address  number   flags    uniqid   begin                size     used    %used
0x10f3e8a8 7        U---C-L  10       4:53                50000       12     0.02
0x10f3e8e8 8        U-B----  6        4:50053             50000        1     0.00
0x10f3e928 9        U-B----  7        5:3                 50000        1     0.00
0x10f3e968 10       U-B----  8        5:50003             50000        2     0.00
4 active, 4 total



我想问下为什么size是50000而不是我加的100000
???
对了,我加物理日志是200000上面也变成了100000
难道都是减半的?



另外,我还想问下.rootdbs大体上多少合适.
我本人认为这和DB2那些系统表差不多..SMS足够了..也不要太大.100M足够了.
是这样的吗?



还有在DB2里 是  IN DATA_DMS LONG IN  BLOB_DMS INDEX IN IDX_DMS

请问INFORMIX里是怎么操作的?



谢谢各位了..实在是很乱,但是不懂..万望赐教

论坛徽章:
0
2 [报告]
发表于 2008-04-22 23:56 |只看该作者
刚才我看了下onstat -d
发现所有的空间大小都是减半的.
是我操作错了.还是就是这样显示的??

[informix@localhost bin]$ onstat -d

Informix Dynamic Server Version 9.40.UC1E1   -- On-Line -- Up 00:00:40 -- 30952 Kbytes

Dbspaces
address  number   flags      fchunk   nchunks  flags    owner    name
0x10e317d8 1        0x20001    1        1        N        informix rootdbs
0x10f2fe50 2        0x20001    2        1        N        informix phydbs
0x116f2018 3        0x20011    3        1        N B      informix blobdbs
0x116f2168 4        0x20001    4        2        N        informix logdbs
0x116f22b8 5        0x20001    6        1        N        informix idxdbs
0x116f2408 6        0x20001    7        5        N        informix datadbs
0x116f2558 7        0x20001    12       1        N        informix tmpdbs
7 active, 2047 maximum

Note: For BLOB chunks, the number of free pages shown is out of date.
      Run 'onstat -d update' for current stats.

Chunks
address  chunk/dbs  offset     size       free       bpages     flags pathname
0x10e31928 1     1    512        100000     98042                 PO--  /opt/IBM/informix/dbs/rootdbs
0x10f3e9a8 2     2    512        107500     7447                  PO--  /opt/IBM/informix/dbs/phydbs
0x10f3eb30 3      3   512        480000    ~15000      15000      POB-  /opt/IBM/informix/dbs/blobdbs
0x10f3ecb8 4     4    512        107500     7447                  PO--  /opt/IBM/informix/dbs/logdbs
0x10f3ee40 5     4    512        107500     7497                  PO--  /dev/raw/raw4
0x10e31af0 6     5    512        100000     99947                 PO--  /opt/IBM/informix/dbs/idxdbs
0x10e31c78 7     6    512        107500     107447                PO--  /opt/IBM/informix/dbs/datadbs
0x10e31e00 8     6    512        107500     107497                PO--  /dev/raw/raw7
0x10f2f830 9     6    512        107500     107497                PO--  /dev/raw/raw8
0x10f2f9b8 10    6    512        107500     107497                PO--  /dev/raw/raw9
0x10f2fb40 11    6    512        107500     107497                PO--  /dev/raw/raw10
0x10f2fcc8 12    7    512        125000     124947                PO--  /opt/IBM/informix/dbs/tmpdbs
12 active, 2047 maximum

Expanded chunk capacity mode: disabled

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
3 [报告]
发表于 2008-04-23 00:15 |只看该作者

回复 #2 du51 的帖子

先回答2楼的问题........informix数据库,你看到的空间大小的单位是pages,在9.40的数据库中,根据系统,一般为2KB,或者4KB每页.

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
4 [报告]
发表于 2008-04-23 00:27 |只看该作者
如下:
       onspaces -c -b blobdbs -g 32 -p /home/informix/dbs/blobdbs -o 0 -s  48000
        onspaces -c -d tmpdbs -t -p /home/informix/dbs/tmpdbs -o 0 -s 100000

        onspaces -c -d phydbs -p /home/informix/dbs/phydbs -o 0 -s 50200
        onspaces -c -d logdbs -p /home/informix/dbs/logdbs -o 0 -s 200000
以上的我都可以理解.而且和DB2的原理差不多.不过一个是CHUNK一个是所谓的容器.


        echo "\nShut Down Server to Quiescent Mode..."
        echo "====================================================="
        onmode -s -y
这个语句我不知道是干什么的.使服务器处休眠吗? 类似于操作系统的safe模式吗?
没有使用过DB2,这里的quiescent模式,是informix的一个状态,此状态下,用户不能访问数据库..
        sleep 5

        echo "Adding Logical Log\n"
        onparams -a -d logdbs -s 20000
        onparams -a -d logdbs -s 20000
        onparams -a -d logdbs -s 20000
        onparams -a -d logdbs -s 20000
        onparams -a -d logdbs -s 20000
        onparams -a -d logdbs -s 20000
        onparams -a -d logdbs -s 20000
        onparams -a -d logdbs -s 20000
        onparams -a -d logdbs -s 20000
        onparams -a -d logdbs -s 10000
以上的是干什么的???
我的理解是空间已经存在,这样是告诉数据库,在logdbs空间里分配一部分给LOGIC log 用..以后写LLOG就写到这个空间.
请问是这样吗?
为什么要运行10次??
直接
onparams -a -d logdbs -s 190000
不行吗?
还有20000这个是怎么得出来吗,一定要这么大吗?
最后一个为什么又是10000了?

逻辑日志是循环使用的,如果只有一个的话,那么就不能进行循环使用....一个逻辑日志满了以后,数据库可以进行逻辑日志备份,太大的逻辑日志并不见得好..
到于为什么最后一个是10000,是因为最后一次不能分配20000的空间了.呵........(如果空间配置好的话,还是可以是20000的,比如增加逻辑日志空间时改为204000)



        echo "\nArchiving Database Server Please Wait 20 seconds.\n"
        echo "====================================================="
        ontape -s
这里是备份的.后面不加级也行吗?那到底是多少级呢?
......
        sleep 5

        onmode -l
        onmode -l
        onmode -l
        onmode -l
        onmode -l
        onmode -l
以上六个是干什么的?
我试过,没这几句,删除不了.INFORMIX说什么正在用.
我看网上说,这是向下一个LOGIC 日志转移,是这样吗?
但是,当前日志是哪个呢?从哪里看?
因为只有知道当前日志是哪个,以及它们的先后顺序,才能转到我们想让它去的地方.
使用onstat -l查看日志使用状态.
        onmode -c
这个是校验.我在网上查到了.
        sleep 10

        echo "\nDrop the old Logical Log Files... \n"
        echo "====================================================="
        onparams -d -l 1 -y
        onparams -d -l 2 -y
        onparams -d -l 3 -y
        onparams -d -l 4 -y
        onparams -d -l 5 -y
        onparams -d -l 6 -y
根据ID一一删除之.
        echo "\nChange Physical Log Files, please wait about 1 minutes...\n"
        echo "====================================================="
        onparams -p -s 50000 -d phydbs -y
这个也是告诉数据库空间在这里,对吗?
对.并指定大小.
        sleep 100

        echo "\nNow add more dbspaces/chunks...\n"
        echo "====================================================="


        onspaces -c -d datadbs   -p /home/informix/dbs/datadbs -o 0 -s 500000

        echo "\nTake a level 0 archive.\n"
        echo "====================================================="

        ontape -s  -L 0
是不是每指定一次日志空间所在,就要备份一次.那这次为什么又有那个-L 0了呢?
这个是正常的0级备份....对于空间的操作,都要求0级备份..

        echo "\nReboot IDS...\n\n"
        echo "====================================================="

        onmode -ky
        oninit
以上的类似于重启系统,这个能理解.

        sleep 10

        echo "\n====================================================="
        echo "Well done! \n"
        echo "====================================================="

        最后修改onconfig.cs文件
        DBSPACETEMP     tmpdbs         # Default temp dbspaces
        onmode -ky
        oninit




以上的问题,对各位高手可能很好笑,但是我的确是不知道干什么的..


而且,装之后,我还有一些问题.

装之后,我看onconfig里面 LOGFILES 改为4了(我自己加的,每个100M)
我记得原来是6的.INFORMIX会自己改自己的配置??

这个弄的我很困惑..
这个参数和上面那些onparams -a -d logdbs -s 20000有关系吗?
是不是加几次,后面LOGFILES就变成多少了?
但是,这样也说不通呀.配置里LOGSIZE没变.还是2000
然而,我自己加的时候是onparams -a -d logdbs -s 100000

请问它们之间到底是什么关系.


另外nstat -l里的东西是不是不准呀,或者是我没有操作成功.
[informix@localhost bin]$ onstat -l

Informix Dynamic Server Version 9.40.UC1E1   -- On-Line -- Up 00:36:03 -- 30952 Kbytes

Physical Logging
Buffer bufused  bufsize  numpages numwrits pages/io
  P-1  0        16       0        0        0.00
      phybegin         physize    phypos     phyused    %used   
      2:53             100000     0          0          0.00   

Logical Logging
Buffer bufused  bufsize  numrecs  numpages numwrits recs/pages pages/io
  L-2  0        16       1        1        1        1.0        1.0     
        Subsystem    numrecs  Log Space used
        OLDRSAM      1        36            

address  number   flags    uniqid   begin                size     used    %used
0x10f3e8a8 7        U---C-L  10       4:53                50000       12     0.02
0x10f3e8e8 8        U-B----  6        4:50053             50000        1     0.00
0x10f3e928 9        U-B----  7        5:3                 50000        1     0.00
0x10f3e968 10       U-B----  8        5:50003             50000        2     0.00
4 active, 4 total



我想问下为什么size是50000而不是我加的100000
???
对了,我加物理日志是200000上面也变成了100000
难道都是减半的?



另外,我还想问下.rootdbs大体上多少合适.
我本人认为这和DB2那些系统表差不多..SMS足够了..也不要太大.100M足够了.
是这样的吗?



PS:我觉得你还是得看看INFORMIX的基础知识........虽然从另一个数据库转到新数据库很多知识可以复用,但新数据库毕竟有自己的特点....

论坛徽章:
0
5 [报告]
发表于 2008-04-23 00:52 |只看该作者
谢谢楼上了..关于循环日志那块我明白了.

还有一点,就是onconfig里配的那个LOGFILES 是不是要改掉.改的和上面增加的一致..包括大小(LOGSIZE).
如果不一致会出现什么后果.
还有那个物理日志的配置是不是也要一致起来..


关于显示的是页大小..我也明白了.非常感谢.这说明,我操作虽然糊涂.但大体都是成功的.呵呵.

万分感谢.麻烦您了.

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
6 [报告]
发表于 2008-04-23 09:12 |只看该作者

回复 #5 du51 的帖子

LOGFILES 这个是初始化时数据库在rootdbs上的自动生成逻辑日志的个数......
将日志移出rootdbs后.手动增加逻辑日志后,这个值不用手动修改的.

论坛徽章:
0
7 [报告]
发表于 2008-04-25 00:14 |只看该作者
liaosnet
非常感谢你.
让我明白了很多东西.

论坛徽章:
0
8 [报告]
发表于 2008-04-28 08:59 |只看该作者
liaosnet 真是热心,优秀成员呀,
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP