on 04-02-2014 8:32 PM
I reboot ASE 12.5 on CentOS by reboot command.
After that, I then want to start Sybase ASE by the script like RUN_ASEServer, but got the error:
....
00:00000:00000:2014/04/02 15:20:59.29 kernel os_create_region: shmget(0xf402f68e): No space left on device
00:00000:00000:2014/04/02 15:20:59.29 kernel kbcreate: couldn't create kernel region.
00:00000:00000:2014/04/02 15:20:59.29 kernel kistartup: could not create shared memory
Not sure why.
How to resolve it?
you need to have your max shared mem setting set in /etc/sysctl.conf
# grep "kernel.shmmax" /etc/sysctl.conf
If the above doesn't return a line from the file, or if the setting is too low -
Add a line at the bottom of the /etc/sysctl.conf file (substituting your memory setting):
kernel.shmmax=<bytes of shared memory you want reserved for ASE>
To permanently save the setting for next boot, run:
# /sbin/sysctl -p
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I put ASE .cfg file back to backup file and now I am able to start the ASE, but the starting process is in waiting. I even can't login with isql.
Check error log and got the message on tempdb:
00:00000:00001:2014/04/07 09:32:11.34 server Device 'tempdb_data' (with physical name '/db/tempdb/tempdb_data.dat', and virtual device number 3) has not been correctly activated at startup time. Please contact a user with System Administrator (SA) role.
00:00000:00001:2014/04/07 09:32:11.34 server Error: 1619, Severity: 21, State: 1
00:00000:00001:2014/04/07 09:32:11.34 server Could not open TEMPDB, unable to continue.
here is the meomory from free -m cmd:
total used free shared buffers cached
Mem: 17668 7792 9875 0 140 7533
-/+ buffers/cache: 119 17548
Swap: 4094 0 4094
here is the out put from df -h cmd about tempdb device:
tmpfs 2.1G 0 2.1G 0% /db/tempdb
Why are you messing around with tmpfs???? But, if you are going to use it, you must TOUCH the device file in the file system....e.g. '/db/tempdb/tempdb_data.dat' - doesn't EXIST in /db/tempdb until you first touch and create the file. ASE is not going to do that for you as it already created the device once and now thinks you have had a HW failure and the device is missing. Remember, tmpfs is not persistent, so you will need to touch the file after *every* OS reboot.
thanks. I have create the files. but I still can't login with isql. I want to stop ASE and restart it again see if is fine. because I can't use isql, so I can't issue shutdown for ASE. How to stop it?
here is the out put from showserver:
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
0 T sybase 6546 6536 0 75 0 - 2022870 finish 09:32 pts/0 00:00:00 /opt/sybase/ASE-12_5/bin/dataserver -ONLINE:1,0,0xfffffffff402f74d, 0x2a95b68000, 0x1e8480000, 0x1159
0 T sybase 6536 6383 0 76 0 - 2028048 finish 09:31 pts/0 00:00:20 /opt/sybase/ASE-12_5/bin/dataserver -d/db/system/data/master.dat -e/db/oe/system/logs/my.log -c/opt/sybase/ASE-12_5/my.cfg -M/opt/sybase/ASE-12_5 -smy -m
thank you very much for help. Now I am able to start sybase. Another interesting is:
after start sybase, then I login with isql from command line, at first time using isql is okay. if I quit from isql and then login in with isql again, I can't login it anymore. I get the message:
CT-LIBRARY error:
ct_connect(): network packet layer: internal net library error: Net-Library operation terminated due to disconnect
in console(in errorlog), get following error:
01:00000:00012:2014/04/07 13:20:19.75 server Unable to read in login record.
If I kill ASE process and start ASE again, then I only able to use isql to login for one time.
I try to connect ASE with powerbuilder, it is fine.
Confused. how to figure it out?
User | Count |
---|---|
93 | |
11 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.