Set up a program to increase the hard limit.
#include <sys/time.h>
#include <sys/resource.h>
#include <sys/types.h>
/*
** define MAX_CONNECTIONS to a number less than
** 10000. The number defined will then become the maximum
** number of connections allowed by an SAP ASE.
*/
#define MAX_CONNECTIONS 9999
extern int errno;
main(argc,argv)
char **argv;
{
struct rlimit rlp;
uid_t uid;
rlp.rlim_cur = MAX_CONNECTIONS;
rlp.rlim_max = MAX_CONNECTIONS;
/* set the number of open file descriptors to
MAX_CONNECTIONS */
if (setrlimit (RLIMIT_NOFILE,&rlp) == -1)
{
perror("setrlimit");
exit(1);
}
/* reset the user id to disable superuser
privileges */
uid = getuid();
setuid(uid);
/* run the program indicated as arguments to
this program */
execv(*++argv, argv);
}
cc file_name.c -o program_name
where program_name is the compiled file name.
chmod 755 program_name chown root program_name
# program_name dataserver -d master_device_name
where master_device_name is the full path of the SAP ASE master device.Alternatively, you can add program_name preceding the dataserver command line in the SAP ASE RUN_server_name file.
See Setting Configuration Parameters in the System Administration Guide, Volume 1.