Sybase初始化但不运行

时间:2013-04-24 15:58:13

标签: sybase

我正在使用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

那么为什么该地区试图分配如此之大,以及它在哪里设定?

1 个答案:

答案 0 :(得分:0)

解决方案:

当你收到类似“os_create_region:无法分配11534336000字节”的消息时,这意味着Sybase的配置文件要求内核创建一个超过/etc/sysctl.conf中的shmmax变量的区域。 p>

要做的主要是更改ims.conf(或您正在使用的任何配置文件)。然后,更改物理内存部分中的最大内存变量。

[Physical Memory]
    max memory = 64000
    additional network memory = 10485760
    shared memory starting address = DEFAULT
    allocate max shared memory = 1

为了您的信息,我的/etc/sysctl.conf文件以这三行结尾:

kernel.shmmax = 16000000000
kernel.shmall = 16000000000
kernel.shmmni = 8192

完成此操作后,键入“showserver”以显示正在运行的进程。

有关详细信息,请参阅“Sybase系统管理员指南”第2卷以及Michael Gardner在前面评论中指向Red Hat内存管理的链接。