lavanyy 发表于 2007-04-24 15:54

请教:关于逻辑日志满怎么解决的问题!(已解决,十分感谢!)

我是刚刚接触的Informix数据库,上午对stores_demo数据库使用SQL语句进行查询,后来不知为什么就在进行查询语句的时候数据库突然不能显示查询结果了。后查看online.log发现六个日志已经全部满,onconfing文件中的LTAPEDEV中设置为/dev/tape,后我将其改为/dev/null也不起作用。现在我无法使用dbaccess,不知道该怎么解决了。这是公司搭环境用的测试机,数据不用备份,可我试图用oninit -iv重新初始化数据库还是没成功,系统提示如下:
Checking group membership to determine server run mode...succeeded
Reading configuration file '/infmix/etc/onconfig.hldht'...succeeded
Creating /INFORMIXTMP/.infxdirs...succeeded
Creating infos file "/infmix/etc/.infos.hldht"...succeeded
Linking conf file "/infmix/etc/.conf.hldht"...succeeded
Writing to infos file...succeeded
Checking config parameters...succeeded
WARNING : If you intend to use J/Foundation or GLS for Unicode feature(GLU) with this Server instance, please make sure that your SHMBASE value specifies in onconfig is 0x700000010000000 or above. Otherwise you will have problems while attaching or dynamically adding virtual shared memory segments. Please refer to Server machine notes for more information.
Allocating and attaching to shared memory...FAILED
oninit: Fatal error in shared memory creation
$
我现在该怎么解决?希望有人帮帮我!

[ 本帖最后由 lavanyy 于 2007-4-25 10:44 编辑 ]

liaosnet 发表于 2007-04-25 08:52

先释放oninit原申请的内存再试

lavanyy 发表于 2007-04-25 09:32

能再说详细点吗?我应该怎么释放原申请的内存?

lavanyy 发表于 2007-04-25 09:49

刚才试着用了下onmode -F,结果光标一直在闪,系统没有任何反应,我该怎么做?

liaosnet 发表于 2007-04-25 09:50

ipcs查看申请的内存
ipcrm移除申请的内存
具体查看man ipcs, man ipcrm

或者重启服务器


PS:楼主描述的情况应该是初始日志太小,你用ontape -a就可以对日志进行备份,建议建个link到/dev/null就好。

lavanyy 发表于 2007-04-25 10:28

我这样做的,onconfig文件中的LTAPEDEV改为/dev/tape,然后
$ ls -s /dev/null /dev/tape
   0 /dev/null   0 /dev/tape
$ ontape -a

Performing automatic backup of logical logs.

Please mount tape 1 on /dev/tape and press Return to continue ...


Tape is full ...

Please label this tape as number 1 in the log tape sequence.

This tape contains the following logical logs:
    1 - 6

Please mount tape 2 on /dev/tape and press Return to continue ...
Logbackup failed - buc_fe.c : Archive API processing failed at line 542 for msgtype

Interrupt received ...

然后oninit -v
现在已经可以初始化了,问题应该是解决了,十分感谢你的提示!但是后面那个tape2是什么意思啊?我刚刚才接触的informix,结果教我的人已经出差很长时间了,我每天都只能自己看书上网找资料学习,还属于摸索中前进,也许有些问题问的很低级,麻烦大家了,非常感谢你们的热心帮助!

liaosnet 发表于 2007-04-25 11:09

tape 2 意思是说,你的每一个磁带已经用光,请插入第二个磁带。。。。。。

这里有个小问题,/dev/tape 实际是磁带的标识,你用/dev/null 链到/dev/tape,onconfig中的TAPESIZE还是有效的,还是将其改为一个直接的链接文件。

lavanyy 发表于 2007-04-25 11:16

不是定向到空设备了吗?为什么还会提示插入第二个磁带?
我现在把onconfig文件中的内容修改如下:
# System Archive Tape Device

TAPEDEV         /dev/null       # Tape device path      
TAPEBLK         32            # Tape block size (Kbytes)
TAPESIZE      10240         # 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)

是不是这样以后就不会提示逻辑日志满了?如果满会自动标志为已备份进行覆盖呢?
页: [1]
查看完整版本: 请教:关于逻辑日志满怎么解决的问题!(已解决,十分感谢!)