我正在使用 Red Hat 5.5,并且正在尝试运行 Sybase ASE 12.5.4。
昨天我尝试使用命令“service sybase start”,控制台显示 sybase 反复尝试初始化主数据库服务器,但失败了。
更新:
我使用以下命令在 /ims_systemdb/master 初始化了一个数据库:
dataserver -d /ims_systemdb/master -z 2k -b 51204 -c $SYBASE/ims.cfg -e db_error.log
chmod a=rwx /ims_systemdb/master
ls -al /ims_systemdb/master
它在 /ims_systemdb/master 为我提供了一个很好的数据库,大小为 104865792 字节 (2048x51240)。
但是当我跑步时
service sybase start
/logs/sybase_error.log 中的错误日志如下所示:
00:00000:00000:2013/04/26 16:11:45.18 kernel Using config area from primary master device.
00:00000:00000:2013/04/26 16:11:45.19 kernel Detected 1 physical CPU
00:00000:00000:2013/04/26 16:11:45.19 kernel os_create_region: can't allocate 11534336000 bytes
00:00000:00000:2013/04/26 16:11:45.19 kernel kbcreate: couldn't create kernel region.
00:00000:00000:2013/04/26 16:11:45.19 kernel kistartup: could not create shared memory
如果您没有将 sysctl 中的 shmmax 设置得足够高,我读到“os_create_region”是正常的,所以我将其设置为 16000000000000,但我仍然收到此错误。有时,当我使用 .cfg 文件时,我会收到以下错误消息:
00:00000:00000:2013/04/25 14:04:08.28 kernel Using config area from primary master device.
00:00000:00000:2013/04/25 14:04:08.29 kernel Detected 1 physical CPU
00:00000:00000:2013/04/25 14:04:08.85 server The size of each partitioned pool must have atleast 512K. With the '16' partitions we cannot configure this value f
为什么会出现这两个错误,我该怎么办?
更新:
目前,我看到了第一条错误消息(操作系统无法分配字节)。/etc/sysctl.conf 的内容如下:
kernel.shmmax = 4294967295
kernel.shmall = 1048576
kernel.shmmni = 4096
但是之前的日志语句指出
os_create_region: can't allocate 11534336000 bytes
那么为什么它试图分配的区域如此之大,又是在哪里设置的呢?