The Sybase cannot work because of insufficient number of alarms. The detailed problems are as follows:
1. The alarm “uasetalarm: no more alarms available” in the Sybase logs is displayed repeatedly. More and more Sybase logs are generated and the logs sometimes reach a capacity of dozens of GBs. This leads to insufficient disk space of the /opt/sybase directory.
2. As logs occupy more and more space, login to the Sybase through the isql command fails.
uasetalarm: no more alarms available
1. Run the ps -ef|grep sybase command to query the Sybase process. The process runs normally.
2. Test the related interface files of the Sybase. It is found that the configuration, such as the IP address, is correct.
3. Query the Sybase logs. It is found that the alarm “uasetalarm: no more alarms available” is displayed repeatedly. Run the df -k command to query the disk space of the /opt/sybase directory and find that the usage of the disk space reaches 100%. The N2000DBServer.log log reaches a capacity of 58 GB. To solve the problem, the number of alarms should be increased. Set the parameter to 100 and restart the Sybase. The problem is solved. (For details, see the following section.)
1. The Sybase process fails to be started.
2. The related configuration of the Sybase, such as the IP address, is incorrect.
3. The resources of the Sybase are insufficient because the applications are busy.
To solve the problem, the number of alarms needs to be increased. Each alarm structure occupies a memory of 20 Bytes. Hence, the actual resource usage of the alarms is low. Memory consume is considered only when the number of alarms is increased greatly. You can increase the number of alarms with the following two methods:
1. Directly modify the parameter number of alarms in the servername.cfg file and restart the Sybase. 2. Run the isql command to log in to the database and dynamically modify the value of the parameter:
1) To obtain the existing configuration value, run the following commands:
1> sp_configure “number of alarms"
2) Set the number of alarms to a larger value. If the existing value is 40 and the application waitfor is not used, modify the value to 100. To perform this operation, run the following commands:
1> sp_configure “number of alarms”, new_value
In versions later than ASE 12.5, the parameter takes effect dynamically. In versions earlier than ASE 12.0, the parameter takes effect only after the server is restarted.