zenyusun 发表于 2008-04-22 17:41

informix9.4 使用onstat时遇到问题

informix版本9.4,之前一直用的很好,现在dbaccess也能够访问数据库,但onstat时出现如下问题:
只能使用onstat -c 和onstat -m查看命令,onstat -l onstat -p什么的想看数据库状态都不行。online.log中也没有报错信息,只有增加了两个共享内存段的信息。
可能重启数据库就没有问题了,但是想知道到底什么原因引起这个现象的,或者有什么其它的解决方法,
各位大侠,请一定帮帮忙!多谢!

15:43:25Maximum server connections 262
15:45:24Dynamically allocated new virtual shared memory segment (size 64000KB)
15:45:35Dynamically allocated new virtual shared memory segment (size 64000KB)
15:48:25Fuzzy Checkpoint Completed:duration was 0 seconds, 1406 buffers not flushed,
timestamp: 0xe128ac9f.
15:48:25Checkpoint loguniq 1249, logpos 0x814b3d0, timestamp: 0xe128ac9f

15:48:25Maximum server connections 262
15:53:25Fuzzy Checkpoint Completed:duration was 0 seconds, 1415 buffers not flushed,
timestamp: 0xe128c182.
15:53:25Checkpoint loguniq 1249, logpos 0x818f3b8, timestamp: 0xe128c182

p55a2$onstat -l
16:07:27shmat: : operating system error
onstat: Cannot attach to shared memory. errno = 22

p55a2$onmonitor时显示如下
Dynamic Server:   StatusParametersDbspacesModeForce-CkptArchiveLogical-LogsExit
Status menu to view Dynamic Server.

** WARNING: Network Down **--On-Line------- Press CTRL-W for Help. --------


onconfig配置文件如下:
# Root Dbspace Configuration
ROOTNAME      rootdbs         # Root dbspace name
ROOTPATH      /home/informix/data/rtestroot
                              # Path for device containing root dbspace
ROOTOFFSET      4000            # Offset of root dbspace into device (Kbytes)
ROOTSIZE      2000000         # Size of root dbspace (Kbytes)

# Disk Mirroring Configuration Parameters
MIRROR          0               # Mirroring flag (Yes = 1, No = 0)
MIRRORPATH                      # Path for device containing mirrored root
MIRROROFFSET    0               # Offset into mirrored device (Kbytes)

# Physical Log Configuration
PHYSDBS         logdbs          # Location (dbspace) of physical log
PHYSFILE      1000000         # Physical log file size (Kbytes)

# Logical Log Configuration
LOGFILES      10            # Number of logical log files
LOGSIZE         2000            # Logical log size (Kbytes)
LOG_BACKUP_MODE MANUAL          # Logical log backup mode (MANUAL, CONT)

# Diagnostics
MSGPATH         /home/informix/online_test.log # System message log file path
CONSOLE         /dev/console    # System console message path

# To automatically backup logical logs, edit alarmprogram.sh and set
# BACKUPLOGS=Y
ALARMPROGRAM    /home/informix/etc/alarmprogram.sh # Alarm program path

TBLSPACE_STATS1               # Maintain tblspace statistics

# System Archive Tape Device
TAPEDEV         /dev/null       # Tape device path
TAPEBLK         2048            # Tape block size (Kbytes)
TAPESIZE      204800000       # Maximum amount of data to put on tape (Kbytes)

# Log Archive Tape Device
LTAPEDEV      /dev/null       # Log tape device path
LTAPEBLK      32            # Log tape block size (Kbytes)
LTAPESIZE       10240         # Max amount of data to put on log tape (Kbytes)

# Optical
STAGEBLOB                     # Informix Dynamic Server staging area

# System Configuration
SERVERNUM       1               # Unique id corresponding to a OnLine instance
DBSERVERNAME    test            # Name of default database server
DBSERVERALIASES               # List of alternate dbservernames
NETTYPE         soctcp,4,200,NET # Configure poll thread(s) for nettype
DEADLOCK_TIMEOUT 60            # Max time to wait of lock in distributed env.
RESIDENT      0               # Forced residency flag (Yes = 1, No = 0)

MULTIPROCESSOR1               # 0 for single-processor, 1 for multi-processor
NUMCPUVPS       4               # Number of user (cpu) vps
SINGLE_CPU_VP   0               # If non-zero, limit number of cpu vps to one

NOAGE         0               # Process aging
AFF_SPROC       0               # Affinity start processor
AFF_NPROCS      4               # Affinity number of processors

# Shared Memory Parameters
LOCKS         2000000         # Maximum number of locks
BUFFERS         100000          # Maximum number of shared buffers
NUMAIOVPS       2               #changed 2007/03/22
PHYSBUFF      1024            # Physical log buffer size (Kbytes)
LOGBUFF         1024            # Logical log buffer size (Kbytes)
CLEANERS      8               # Number of buffer cleaner processes
SHMBASE         0x700000010000000 # Shared memory base address
SHMVIRTSIZE   128000         # initial virtual shared memory segment size
SHMADD          64000          # Size of new shared memory segments (Kbytes)
SHMTOTAL      0               # Total shared memory (Kbytes). 0=>unlimited
CKPTINTVL       300             # Check point interval (in sec)
LRUS            8               # Number of LRU queues
LRU_MAX_DIRTY   2.000000      # LRU percent dirty begin cleaning limit
LRU_MIN_DIRTY   1.000000      # LRU percent dirty end cleaning limit
TXTIMEOUT       0x12c             # Transaction timeout (in sec)
STACKSIZE       128

p55a2$ipcs -mb
IPC status from /dev/mem as of Tue Apr 22 17:22:19 BEIST 2008
T      ID   KEY      MODE       OWNER    GROUP   SEGSZ
Shared Memory:
m   1048576 0x580011d9 --rw-r--r--   imnadm   imnadm      4096
m   1048577 0x470011d9 --rw-r--r--   imnadm   imnadm      48
m   1048578 0x780001e7 --rw-rw-rw-   root   system16777216
m         3 0x4d0011d9 --rw-r--r--   imnadm   imnadm      4096
m         4 0x490011d9 --rw-r--r--   imnadm   imnadm      4096
m         5 0x500011d9 --rw-r--r--   imnadm   imnadm      3222
m         6 0x450011e1 --rw-rw-rw-   imnadm   imnadm      96
m         7 0x430011e1 --rw-rw-rw-   imnadm   imnadm   97708
m         8 0x420011e1 --rw-rw-rw-   imnadm   imnadm   36028
m         9 0x410011e1 --rw-rw-rw-   imnadm   imnadm   42148
m      10 0x440011e1 --rw-rw-rw-   imnadm   imnadm      2844
m      11 0xffffffff --rw-rw----   root   system      4096
m      12 0x0d022760 --rw-rw----   root   system      1440
m   1048589 0x52574801 --rw-rw----   root informix 681148416
m   7340046 0xffffffff --rw-------   test    staff      3848
m   3145743 0x0000aaf7 --rw-rw-rw-      try    staff   1653228
m   3145744 0xffffffff --rw-------      try    staff   38048
m   4194321 0xffffffff --rw-------    prejf    staff   38048
m   4194322 0x0000ddde --rw-rw-rw-    prejf    staff   1653228
m   3145747 0x0000ca4d --rw-rw-rw-    check    staff   1653228
m   3145748 0xffffffff --rw-------    check    staff      3848
m   6291477 0x0000ddd5 --rw-rw-rw-   test    staff   1653228
m   1048598 0x52574802 --rw-rw----   root informix 131072000
m      23 0xffffffff D-rw-rw----   test informix65536000
m      24 0xffffffff D-rw-rw----   test informix65536000

liaosnet 发表于 2008-04-22 21:59

系统已经提示了..无法分配更多的内存~~.....

看你这个数据库还是很大的哦...不过BUFFERS配置只有100000而SHMADD64000来看,你的系统内存并不多.....

zenyusun 发表于 2008-04-23 17:25

回复 #2 liaosnet 的帖子

有些愚钝,平常监控时看数据库用到内存并不大,系统可用内存也很多,不知您说的意思是分给数据库的内存不够用吗?我调大些BUFFER可行吗?
p55a2[/]#svmon
            size      inuse       free      pin    virtual
memory      2035712   816060    1219652   219306   708341
pg space    2228224       4023

            work       pers       clnt
pin          219306          0          0
in use       708338          0   107722

PageSize   PoolSize      inuse       pgsp      pin    virtual
s   4 KB          -   772460       4023   190810   664741
m64 KB          -       2725          0       1781       2725

lavanyy 发表于 2008-04-28 11:22

通常BUFFERS的值建议设置大小是物理内存的20%-25%,我也觉得BUFFERS看上去有些小,可以尝试调整看看会不会避免出现类似情况。另外informix对于“22”错误代码的解释如下:
-22        无效的参数。

一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。查找其它操作系统错误信息,可能会给出更详细的信息。如果错误重复出现,请参考“Informix-OnLine管理员指南附录B "的“陷井错误 ”以得到进一步诊断。
请就诊断信息与 Informix 技术支持部联系。

以前遇到过类似提示“22”错误的情况,当时日志提示是“check system SHMSEG”,有时也可能是数据库分配内存时有异常,通常重启之后会正常,也可以看看操作系统的日志中有没有什么异常提示。

czw1413_cn 发表于 2008-04-29 11:29

页: [1]
查看完整版本: informix9.4 使用onstat时遇到问题