免费注册 查看新帖 |

Chinaunix

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

informix入门之---日志分析 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-01-13 17:58 |只看该作者 |倒序浏览
Informix入门之---日志分析

大家都知道informix是需要日志的,但各日志都做什么用,各有什么意义等等,我们在下面做一个探讨:
    首先需要说明的是informix的日志有两种:一种是物理日志,用来存放数据的前映象;另一种是逻辑日志,用来存放所有事物的操作过程。
    在初始化的配置中,物理日志和逻辑日志的不是存放在根的磁盘空间的。默认的大小物理日志2M,逻辑日志6个,每个日志文件2M。但在实际的生产环境中,这两个参数一般是需要调整的。
    从informix的本身的建议来说,要求逻辑日志的大小一般是要求一天的业务量,逻辑日志滚一圈,物理日志/逻辑日志=1/3。但是有的数据量很大的业务系统,这样做是不可能的,要做适当的调整。
    物理日志文件的个数仅为1,逻辑日志文件的个数最小为3,最大为32767。
    关于物理日志和逻辑日志的改变,我们可以使用onparams命令来完成。
   C:\Informix>;onparams --
Usage:  onparams  -a -d <DBspace>; [-s <size>;] [-i] |
                  -d -l <log file number>; [-y]     |
                  -p -s <size>; [-d <DBspace>;] [-y]
    -a  - Add a logical log file
    -i  - Insert after current log
    -d  - Drop a logical log file
    -p  - Change physical log size and location
    -y  - Automatically responds "yes" to all prompts
上面是onparams的帮助文件,
下面我们首先来改变物理日志的位置和大小:
C:\Informix>;onparams -p -s 40000 -d phydbs -y
Shutting down, please wait ...
Initializing, please wait ...
Recovering, please wait ...
可以通过onstat –l 中的phybegin来查看物理日志当前存在了哪个chunk上。Physize来查看当前物理日志文件大大小,单位是页。
在这之前我们创建了phydbs,并指定了他大小。我们在-s后指定物理日志文件的大小,在-d后指定物理日志文件的位置。
接着我们来做逻辑日志位置和大小的改变:
C:\Informix>;onparams -a -d logdbs -s 30000 -i
Logical log successfully added.
然后用onstat –l来查看新加的逻辑日志:
C:\Informix>;onstat -l
IBM Informix Dynamic Server Version 9.40.TC2E1   -- Quiescent -- Up 00:08:10 -- 25728 Kbytes
Physical Logging
Buffer bufused  bufsize  numpages numwrits pages/io
  P-1  0        8        8        7        1.14
      phybegin         physize    phypos     phyused    %used
      3:53             10000      12         0          0.00

Logical Logging
Buffer bufused  bufsize  numrecs  numpages numwrits recs/pages pages/io
  L-3  0        8        37       14       14       2.6        1.0
        Subsystem    numrecs  Log Space used
        OLDRSAM      37       2628

address  number   flags    uniqid   begin                size     used    %used
0CB37CA8 1        U-B----  1        1:763                 500      500   100.00
0CB37CE8 2        U-B----  2        1:1263                500      500   100.00
0CB37D28 3        U-B----  3        1:1763                500      500   100.00
0CB37D68 4        U-B----  4        1:2263                500      500   100.00
0CB37DA8 5        U-B----  5        1:2763                500      284    56.80
0CB37DE8 6        U---C-L  6        1:3263                500      315    63.00
0CED8B98 12       A------  0        2:37553              7500        0     0.00
0CED8B58 11       A------  0        2:30053              7500        0     0.00
0CED8B18 10       A------  0        2:22553              7500        0     0.00
0CED8AD8 9        A------  0        2:15053              7500        0     0.00
0CED8A98 8        A------  0        2:7553               7500        0     0.00
0CED8A58 7        A------  0        2:53                 7500        0     0.00
12 active, 12 total
可以发现新加的逻辑日志状态都是A,先做0级备份ontape –s –L 0之后用onstat –l可以发现所有日志的flag位都变成了F状态。
然后用onmode –l切换逻辑日志到新加的逻辑日志,用onmode –c强制做检查点操作。
最后用onparams –d –l log_file_num –y来删除原来的逻辑日志文件。
这样就完成了informix日志的迁移。
在onstat –l中,flag位表示了逻辑日志的状态,
A表示新加了还不能使用的日志
F表示空闲的可以使用的日志,一般是在0级备份之后才有这样的状态
U表示已经使用的逻辑日志
L表示当前的日志文件包含一个检查点
C表示正在使用当前的日志文件
B表示已经备份的日志文件
一般在新增或删除日志文件之后都要做0级备份。
在onconfig文件中,LOGFILES指定了IDS逻辑日志的个数,LOGSIZE指定了逻辑日志的大小,PHYSDBS指定了物理日志的位置,PHYSFILE指定了物理日志大小。LTAPEDEV指定了逻辑日志备份的位置,LTAPEBLK指定了每个block块的大小,LTAPESIZE指定了备份文件的大小。
下面我们讨论数据库的日志模式:
无日志
无缓冲日志
缓冲日志
ansi模式
我们可以通过ontape 来改变日志的模式
采用无日志的方式时,所有的DML语句都不写日志,也就是说此时,数据库不支持事物。当数据库恢复系统备份的时候,无日志的数据库不能完全恢复。因为在备份中只记录了备份时的状态,备份后的数据库的变化必须从逻辑日志中恢复,所以这些改变是不可恢复的。
缓冲日志:
所有的DML语句都写入log buffer,当log buffer写满的时候,就开始写入磁盘。这样就可以大大减少磁盘的I/O,从而提高数据库的性能。
但是在系统发生问题恢复的时候,缓冲区内的数据将丢失。这些数据是不可能恢复的。
无缓冲日志模式:
所有的 DML语句在发生的时候是写到缓冲里的,但事物commit之后就立刻写回磁盘,这样在系统发生问题就保证了数据丢失的最少,但是增加了磁盘的I/O,所以数据库的性能会受到一定的影响。
Ansi模式:
此模式和无缓冲日志模式具有相同的日志缓冲处理方法,但是此模式是不可逆的。
另外BLOB日志的处理也是十分特别的,他不需要物理日志,不写前映象。BLOB页是直接写磁盘的,不经过共享内存的处理。任何BLOB空闲映象的改变都将记录到逻辑日志中,所有的blob spaces数据刷新到硬盘上是随逻辑日志的的备份而写下去的。

论坛徽章:
0
2 [报告]
发表于 2004-01-13 21:05 |只看该作者

informix入门之---日志分析

ding
顶!!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
3 [报告]
发表于 2004-01-13 22:39 |只看该作者

informix入门之---日志分析

学习!!

论坛徽章:
0
4 [报告]
发表于 2004-01-14 09:21 |只看该作者

informix入门之---日志分析

顶!!!

论坛徽章:
0
5 [报告]
发表于 2004-01-14 09:23 |只看该作者

informix入门之---日志分析

好文章

论坛徽章:
0
6 [报告]
发表于 2004-01-14 09:37 |只看该作者

informix入门之---日志分析

学习!!感谢!!

论坛徽章:
0
7 [报告]
发表于 2004-01-14 09:53 |只看该作者

informix入门之---日志分析

建议加精!!

论坛徽章:
11
数据库技术版块每日发帖之星
日期:2016-06-25 06:20:00数据库技术版块每日发帖之星
日期:2016-06-24 06:20:00数据库技术版块每日发帖之星
日期:2016-05-03 06:20:00数据库技术版块每日发帖之星
日期:2016-04-21 06:20:00数据库技术版块每日发帖之星
日期:2016-01-23 06:20:00数据库技术版块每日发帖之星
日期:2015-12-03 06:20:00综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-19 06:20:00数据库技术版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15数据库技术版块每日发帖之星
日期:2016-07-30 06:20:00
8 [报告]
发表于 2004-01-14 10:48 |只看该作者

informix入门之---日志分析

不错~~~
学习~~~

论坛徽章:
0
9 [报告]
发表于 2004-01-14 10:58 |只看该作者

informix入门之---日志分析

学习中...

论坛徽章:
0
10 [报告]
发表于 2004-01-14 15:47 |只看该作者

informix入门之---日志分析

是个好贴。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP