Scalable Database Server, HiRDB Version 8 Messages
Table 4-4 shows the causes and required actions for return codes from representative system calls. For errors that are not listed in Table 4-4, see the applicable OS manual.
Table 4-4 System call return codes
| System Call | errno | Mnemonic | Possible Cause | Action |
|---|---|---|---|---|
| fork | 11 | EAGAIN | Either there are too many processes or a temporary memory shortage has occurred. | If this error occurs repeatedly when the command is rerun, terminate any unneeded processes. |
| 12 | ENOMEM | One of the following problems is suspected:
|
If the swap area (in Windows, virtual memory) is too small, increase it. If this is not possible, terminate the processes that are not needed. If some of the processes are using too much memory, determine whether they can be terminated. |
|
| malloc | 12 | ENOMEM | One of the following problems is suspected:
|
If the swap area (in Windows, virtual memory) is too small, increase it. If this is not possible, terminate the processes that are not needed. If some of the processes are using too much memory, determine whether they can be terminated. |
| 22 | EINVAL | Invalid memory management information was detected. | Contact the customer engineer. | |
| mkdir | 13 | EACCESS | An access privilege is invalid. | Check if access privileges to files under the HiRDB directory are correct. |
| 28 | ENOSPC | There is not enough free space for the file system. | Either delete files that are no longer needed from the file system or move files to a file system that has adequate free space. | |
| msgget | 28 | ENOSPC | UNIX version: The value specified in msgmni (number of message queue identifiers) is too small. Windows version: The capacity of the installation drive or the number of resources in use is insufficient. |
UNIX version: Estimate the memory requirements of all programs that are running on the server machine indicated by msgmni, change the specified value, and then reboot the applicable server machine. Windows version: On the installation drive, allocate at least as much free space as is required for the shared memory size. Or, specify the required number of resources (message queue identifiers) in the PDUXPLMSGMNI system environment variable. For the formula for determining the number of message queue identifiers, see the HiRDB Version 8 Installation and Design Guide. The default value of the PDUXPLMSGMNI system environment variable is 50. |
| msgrcv | 22 36 |
EINVAL EIDRM |
UNIX version: The ipcrm command of the OS or the pdsetup command of HiRDB was incorrectly executed when HiRDB was running, which resulted in the deletion of the message queue used by HiRDB. Windows version: It is possible that the work files in the HiRDB installation directory were deleted when HiRDB was running. |
If HiRDB has not terminated abnormally, terminate it. After that, reboot the applicable server machine. (In the case of Windows, restart the HiRDB service.) |
| msgsnd | 11 | EAGAIN | The value specified in msgmni (number of message queue identifiers) or msgtql (number of messages) is too small. | UNIX version: Estimate the memory requirements of all programs that are running on the server machines indicated by msgmni or msgtql, change the specified values, and then reboot the applicable server machine. Windows version: Set the value for the number of required resources (number of message queue tables) in the PDUXPLMSGTQL system environment variable. For the formula for determining the number of message queue tables, see the HiRDB Version 8 Installation and Design Guide. The default for the PDUXPLMSGTQL system environment variable is 80. |
| 22 | EINVAL | The ipcrm command of the OS or the pdsetup command of HiRDB was incorrectly executed when HiRDB was running, which resulted in the deletion of the message queue used by HiRDB. | If HiRDB has not terminated abnormally, terminate it. After that, reboot the applicable server machine. | |
| open open |
2 | ENOENT | The indicated file or directory is not found. If the file logblib.c is output to the calling module for a KFPO00107-E message, a message text file cannot be found. If that is the case, the cause is as follows: UNIX version: Consider one of the following:
The PDDIR environment variable might not be set correctly. |
UNIX version: Take the following actions according to the cause of the error:
Ensure that the PDDIR environment variable is set correctly. If the command was executed from the command prompt, use the set command to determine whether the PDDIR environment variable was set correctly. If using a product such as OpenTP1, JP1, DBPARTNER, HiRDB Datareplicator, or HiRDB CM, confirm that the PDDIR environment variable has been set correctly for these products. |
| 6 | ENXIO | No access privilege for the file. | Confirm that the device exists and that the device is validated. If the device is not validated, validate it. If the error still cannot be resolved, refer to the manual for the OS in use and take corrective action. | |
| 13 | EACCES | No access privilege for the file. |
|
|
| 17 | EEXIST | The file to be created already exists. | Either rerun the command by renaming the file or, if the existing file is not needed, delete the file, and then rerun the command. | |
| 23 | ENFILE | UNIX version: The number of open files exceeds the maximum for the system. Windows version: There is insufficient capacity on the installation drive. |
UNIX version: Increase the value specified for the maximum number of files that can be opened by the system, in terms of an operating system parameter (kernel parameter) (nfile for HP-UX, maxuproc Windows version: On the installation drive, allocate at least as much free space as is required for the shared memory size. |
|
| 24 | EMFILE | UNIX version: Too many files are open in the indicated process. Windows version: There is insufficient capacity on the installation drive. |
UNIX version: If this error occurs in a HiRDB command or utility process, increase the value of the maximum number of files that can be opened by a process, in terms of an operating system parameter (kernel parameter) (maxfiles for HP-UX, rlim_fd_cur for Solaris, nofiles for AIX 5L, or INR_OPEN for Linux). If this problem occurs in a HiRDB server process, contact the customer engineer. Windows version: On the installation drive, allocate at least as much free space as is required for the shared memory size. |
|
| open | 999 | ENOENT | For Windows, HiRDB work files may have been destroyed. | After confirming that HiRDB has stopped, delete all the files listed below and then restore them. Note that the files from No. 4 on may not exist in all cases.
|
| semget | 12 | ENOMEM | Shortage occurred in the number of resources used. | Specify the number of resources required (the number of semaphore identifiers) in the PDUXPLSEMMAX system environment variable. For details on how to compute the number of semaphore identifiers, see the HiRDB Version 8 Installation and Design Guide. The default for the PDUXPLSEMMAX system environment variable is 64. |
| 28 | ENOSPC | UNIX version: The value specified in semmni (number of semaphore identifiers) or semmns (number of semaphores in the system) is too small. Windows version: There is insufficient capacity on the installation drive. |
UNIX version: Estimate the memory requirements of all programs that are running on the server machines indicated by semmni or semmns, change the specified values, and then reboot the applicable server machine. Windows version: On the installation drive, allocate at least as much free space as is required for the shared memory size. |
|
| semop | 22 | EINVAL | UNIX version: The ipcrm command of the OS or the pdsetup command of HiRDB was incorrectly executed when HiRDB was running, which resulted in the deletion of the semaphore used by HiRDB. Windows version: It is possible that the work files in the HiRDB installation directory were deleted when HiRDB was running. |
If HiRDB has not terminated abnormally, forcibly terminate it. After that, reboot the applicable server machine (for Windows, restart the HiRDB service). |
| shmat | 12 | ENOMEM | Consider one of the following:
|
1. For Windows, assign the number of required resources (size of required shared memory) in the system environment variable PDUXPLSHMMAX. For details on how to compute the size of the shared memory to be used, see the HiRDB Version 8 Installation and Design Guide. The PDUXPLSHMMAX default is 4096. If usable memory cannot be made available, change the HiRDB system definition (for example, by reducing the number of global buffers) to reduce the shared memory requirements. 2. Check the value specified for the pdntenv command's -shmfile operand. If it is other than regular, page, or blank, the Windows registry might be corrupt. If that is the case, contact a customer engineer. 3. If the shared memory is allocated to the paging file, confirm that the HiRDB service is started. If the HiRDB service is stopped, start the service. |
| 22 | EINVAL | UNIX version: Shared memory for HiRDB is missing. It is possible that a HiRDB command was entered before the OS was fully started (during the execution of /etc/rc) or a HiRDB command was coded in an environment file, such as /etc/localrc, which is executed upon completion of the startup of the OS. Windows version: It is possible that the work files in the HiRDB installation directory were deleted when HiRDB was running. Or, it is possible that the command was executed before the activation of HiRDB was complete. |
UNIX version: If a HiRDB command was entered before the OS was fully started, reenter the command after the startup of the OS is complete. Also, be careful not to code a HiRDB command in the /etc/localrc OS environment file. If activation of HiRDB is not complete, wait until HiRDB is complete, and then execute the command. Windows version: If HiRDB activation has not been completed, complete HiRDB activation and then re-execute. If HiRDB did not terminate abnormally, terminate it forcibly. After that, restart the HiRDB service. |
|
| shmdt | 12 | ENOMEM | In Windows, consider one of the following causes:
|
|
| shmctl | 1 | EPERM | Because the user is not an owner, the shared memory cannot be processed. | If a KFPH23015-E or KFPO00107-E message is output, see that message. |
| 12 | ENOMEM | In Windows, consider one of the following causes:
|
|
|
| shmget | 12 | ENOMEM | UNIX version: The required shared memory capacity is not available on the server unit. Windows version: Refer to Table 4-5. |
UNIX version: Reduce memory usage on the server unit. Or, increase the real memory under the operating system. Windows version: Refer to Table 4-5. |
| 22 | EINVAL | UNIX version: There was an attempt to acquire a shared memory volume that exceeds the value specified in the shmmax operating system parameter (kernel parameter). Windows version: It is possible that the work files in the HiRDB installation directory were deleted when HiRDB was running. |
UNIX version: Increase the value specified in the shmmax operating system parameter (kernel parameter). After changing the specified value, reboot the server machine. Windows version: If HiRDB did not terminate abnormally, terminate it forcibly. After that, restart the HiRDB service. |
|
| 28 | ENOSPC | UNIX version: The number of shared memory identifiers exceeds the OS limit. Windows version: There is insufficient capacity on the installation drive. Also, if the paging file is allocated as shared memory, the process native memory used by the HiRDB service to manage the shared memory might be insufficient. |
UNIX version: Take one or more of the following actions: (1) Reduce the number of shared memory segments set up on the same machine. (2) Increase the specified value in the operating system parameter (kernel parameter) shmmni. Windows version: On the installation drive, allocate at least as much free space as is required for the shared memory size. Also, if the paging file is allocated as shared memory, check the maximum available memory for the entire system, and increase either the physical memory or the size of the paging file. |
|
| write | 5 | EIO | An input/output error has occurred. | Take corrective action according to OS and hardware information. |
| 14 | EFAULT | An attempt was made to write to an inaccessible area. It is possible that the disk on which a write operation was attempted has been detached. | The problem can be ignored if it occurred during disk switching associated with system switchover. If the disk was detached by mistake when HiRDB was still running, either back up or restore the affected file, and initialize it before using. In other cases, contact a customer engineer. | |
| 27 | EFBIG | The file is greater than the system-imposed limit. | Change the file size limit for the HiRDB administrator and the root user either to a size greater than required in HiRDB or to unlimited size. Alternatively, reduce the size of the file to be used. | |
| 28 | ENOSPC | The file system does not have enough area. | Either delete files that are not needed from the file system or move to a file system that has more space. | |
| abort, creat, execl, execle, execlp, execv, execvp, fopen, fork, gethostbyaddr, gethostbyname, mmap, msgctl, msgget, msgrcv, msgsnd, open, read, readv, select, semctl, semget, semop, shmat, shmctl, shmdt, shmget, signal, sigrelse, sigset, sigsetmask, sigvector, stat, system, write, writev, etc. |
22 | EINVAL | For the Windows version, there may be insufficient memory. | For the Windows version, take corrective action from among the following options:
|
Table 4-5 Corrective action when an error occurs in the shmget system call (in Windows)
| Item | Location of shared memory allocation# | Cause | Determination | Action |
|---|---|---|---|---|
| 1 | Shared between files and the paging file | Insufficient memory | Check the value specified for the PDUXPLSHMMAX system environment variable. | Set the number of required resources (number of shared memories) in the PDUXPLSHMMAX system environment variable. For details about the formula for calculating the number of shared memories, see the manual HiRDB Version 8 Installation and Design Guide. If the PDUXPLSHMMAX system environment variable is omitted, 4,096 is assumed. |
| 2 | Files | Insufficient free space on the installation disk | Determine whether there is sufficient free space on the drive where HiRDB is installed. | If there is insufficient free space, delete unnecessary files. |
| 3 | Because the initial and maximum values specified for the virtual memory are different, there is no free space on the disk that allocated the disk paging file | Determine whether there is free space on the disk that allocated the disk paging file. | If there is no free space on the disk, re-allocate the virtual memory. When re-allocating the virtual memory, specify the same initial value and maximum value (fixed value), so as to be able to create a contiguous area on the drive. | |
| 4 | There is insufficient memory | Check the memory usage. | Expand or re-allocate the virtual memory. When expanding or re-allocating the virtual memory, specify the same initial value and maximum value (fixed value), so as to be able to create a contiguous area on the drive. | |
| 5 | Determine whether there is sufficient free space on the disk that holds the paging file. | If the virtual memory needs to be expanded, expand it. At this time, specify the same initial value and maximum value for the virtual memory. | ||
| 6 | The installation information cannot be referenced correctly | Check the installation information. The installation information can be displayed using the pdntenv command. For details about the pdntenv command, see the manual HiRDB Version 8 Command Reference. | Use the pdntenv command to check the value of ShmFile. If the value of ShmFile is other than regular, page, or blank, the Windows registry might be corrupt. If that is the case, contact a customer engineer. | |
| 7 | Paging file | There is insufficient free space on the installation drive | Determine whether there is sufficient free space on the drive where HiRDB was installed. | If there is insufficient space, delete any unnecessary files. |
| 8 | Because the initial and maximum values specified for the virtual memory are different, there is no free space on the disk that allocated the disk paging file | Determine whether there is free space on the disk that allocated the disk paging file. | If there is no free space on the disk, re-allocate the virtual memory. When re-allocating the virtual memory, specify the same initial value and maximum value (fixed value), so as to be able to create a contiguous area on the drive. | |
| 9 | There is insufficient memory | Check the memory usage. | Expand or re-allocate the virtual memory. When expanding or re-allocating the virtual memory, specify the same initial value and maximum value (fixed value), so as to be able to create a contiguous area on the drive. | |
| 10 | Determine whether there is sufficient free space on the disk that holds the paging file. | If the virtual memory needs to be expanded, expand it. At this time, specify the same initial value and maximum value for the virtual memory. | ||
| 11 | The installation information cannot be referenced correctly | Check the installation information. The installation information can be displayed using the pdntenv command. For details about the pdntenv command, see the manual HiRDB Version 8 Command Reference. | Use the pdntenv command to check the value of ShmFile. If the value of ShmFile is other than regular, page, or blank, the Windows registry might be corrupt. If that is the case, contact a customer engineer. | |
| 12 | The HiRDB service is not started | Confirm that the HiRDB service is started. | If the HiRDB service is stopped, start it. |
| Item | ShmFile value | Allocation location |
|---|---|---|
| 1 | regular | Files under the HiRDB directory |
| 2 | page | Paging file |
| 3 | blank | Files under the HiRDB directory |
All Rights Reserved. Copyright (C) 2007, Hitachi, Ltd.