2013-04-24 61 views
1

我正在使用Red Hat 5.5,并试图运行Sybase ASE 12.5.4。Sybase初始化但未运行

昨天我试图使用命令“service sybase start”,控制台显示sybase反复尝试初始化,但失败,主数据库服务器。

UPDATE:

我使用下面的命令初始化一个数据库/ ims_systemdb /主:

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 /主大小为104865792个字节( 2048x51240)。

但是当我在/logs/sybase_error.log运行

service sybase start 

错误日志是这样的:

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 

我读 “os_create_region” 是正常的,如果你没有设置SHMMAX在sysctl足够高,所以我把它设置为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 

为什么会出现这两种错误,我能做些什么呢?

UPDATE:

目前,我看到的第一个错误消息(OS无法分配字节)。是/etc/sysctl.conf文件的内容如下:

kernel.shmmax = 4294967295 
kernel.shmall = 1048576 
kernel.shmmni = 4096 

但日志报表早期状态

os_create_region: can't allocate 11534336000 bytes 

那么,为什么区是试图分配这么大,和放哪儿那会被设置?

+0

您运行的是什么Sybase产品?假设它是ASE,那么Sybase ASE Log会说什么?通常它位于〜/ ASE - ?? _ ??/install/NAME_OF_DB_SERVER.log下的安装目录中。问号与您正在运行的ASE的版本(15_0,15_5,15_7等)相对应。 – 2013-04-25 02:15:27

+0

嗨迈克尔。我查看了ASE-12_5/install,但没有找到任何日志语句。但是,我确实在/logs/sybase_error.log中找到了一些相关信息,我在上面发布了这些信息。我还设法使用dataserver命令初始化数据库,如果您有兴趣,我可以在这里发布输出。 – stephen 2013-04-25 23:11:32

+0

查看安装目录,应该有一个与dataserver的名称相对应的文件,其前缀为RUN_,而不是运行dataserver,请尝试运行ASE_12-5/install/startserver -f RUN_NAME_OF_DB_SERVER。在尝试启动它之前,请确保没有其他实例正在运行(./install/showserver)。在运行该命令后,从sybase错误日志中发布条目。 – 2013-04-26 01:27:01

回答

0

解决方案:

当你收到这样的消息“os_create_region:无法分配11534336000个字节”,它的意思是,Sybase的配置文件请求内核创建超过shmmax的可变区域/etc/sysctl.conf

要做的主要事情是更改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内存管理的链接。