Troubleshoot Startup, Shutdown, or Configuration Problems
Use the following flow chart to isolate a problem with startup, shutdown or configuration of your Vector installation:
Check Vector Installation on Windows
To check if the installation is working fine, follow these steps:
1. Check that you are logged in as the installation owner. If not, log off and log in again as this user.
2. Check that all users have II_SYSTEM set by issuing the following command at the operating system prompt:
echo %II_SYSTEM%
All users must have Vector executables in their path variables. Check that everyone has the full search path to %II_SYSTEM%\ingres\bin.
The installation owner must also include %II_SYSTEM%\ingres\utility.
3. Check that each of the Vector variables has a valid value.
Vector environment variables are only used and “seen” by Vector and can be displayed with the following command entered at the operating system prompt:
ingprenv
If you are in doubt about the function or legal value of a particular environment variable, see the chapter on setting environment variables and the appendix on environment variables.
Vector environment variables denoting installation locations cannot be reset. To change these, you must unload the databases, rerun the installation program, and reload the databases, as described in
Installation Locations on page 53.
4. Check the Vector environment variables that have been set locally, overriding the installation-level definitions.
Only a small category of Vector environment variables must be defined in the local user environment: those that permit you to access Vector, and those that define values that are different for your local environment. They include TERM_INGRES and ING_EDIT.
If you trace the problem to a Vector environment variable setting, correct the value. For procedures and scenarios for setting these environment variables, see the chapter on setting environment variables. If the installation does not start up, continue with this procedure.
6. Restart Vector. Attempt once again to start up the installation by issuing the following command at the operating system prompt:
ingstart
If startup problems persist, continue diagnostics in the Detect Startup Problems section.
Detect Vector Startup Problems on Windows
To troubleshoot startup problems on Windows, follow these steps:
1. Determine which Vector processes are running.
2. Verify that all required Vector system processes are running. The following processes are the minimum required for a complete installation:
iigcn
Name Server process
iigcc
Communications Server process (present only on sites with Ingres Net)
II_IUSV_nnn
Recovery Server process
dmfacp
Archiver process
iidbms
DBMS Server process
iigcd
Data Access Server process
rmcmd
Remote command process
3. If ingstart does not complete successfully, do the following:
b. Check the output from ingstart. This is saved in the file:
%II_SYSTEM%\ingres\files\ingstart.log
c. Try to determine the reason for startup failure.
d. A process failed to start. If a process failed to start, continue on to the detailed sections on startup problems for that specific process.
Check Vector Installation on Linux
To check if the Vector installation is working fine, follow these steps:
1. Check that you are logged in as the installation owner by issuing the following command at the operating system prompt:
whoami
If the user ID of the installation owner is not shown, log off and log in again as this user.
2. Check that all users have II_SYSTEM set by issuing the following command at the operating system prompt:
echo $II_SYSTEM
/ usr/r6 (this varies by system)
All users must have Vector executables in their path variables. Check that everyone has the full search path to $II_SYSTEM/ingres/bin.
The installation owner must also include $II_SYSTEM/ingres/utility.
3. Check that each of the Vector installation variables has a valid value.
Vector environment variables are only used and “seen” by Vector and can be displayed with the following command entered at the operating system prompt:
ingprenv
If you are in doubt about the function or legal value of a particular environment variable, see the chapter "Setting Environment Variables" and the appendix "Environment Variables."
Vector environment variables denoting installation locations cannot be reset. To change these, you must rerun the installation program, ingbuild, and on Linux possibly unload and reload your database with unloaddb. More information is provided in
Installation Locations on page 53.
4. Check the Vector environment variables that have been set locally, overriding the Vector installation-level definitions. Issue the following commands at the operating system prompt:
BSD:
printenv | grep II
printenv | grep ING
System V:
env | grep II
env | grep ING
Only a small category of Vector environment variables must be defined in the local user environment: those that permit you to access Vector, and those that define values that are different for your local environment. They include TERM_INGRES and ING_EDIT.
If you trace the problem to a Vector environment variable setting, correct the value. For details, see "Setting Environment Variables." If the installation does not start up, continue with this procedure.
5. Identify your installation code. If there is more than one Vector installation on this machine, type the following command at the operating system prompt. The installation code is used to distinguish which processes belong to which installation at sites with more than one Vector installation on the same machine:
ingprenv | grep II_INSTALLATION
The two-letter installation code is displayed (for example, the following code R6):
II_INSTALLATION=R6
Take note of your installation code: ______.
7. Restart Vector: Attempt once again to start up the installation by issuing the following command at the operating system prompt:
ingstart
Ingbuild on Linux
The executable script ingbuild performs all the steps necessary to set up an installation. It checks system resources, installs shared memory and semaphores, configures DBMS server parameters, configures the logging and locking system, and starts all the required processes.
The ingbuild program is located in $II_SYSTEM/ingres/utility. It makes use of numerous shell commands as well as the following Vector binary and shell executables:
• createdb
• ingstop
• ingstart
• ingprenv
• ingunset
• sql
One of the last things ingbuild does is call the ingstart
script to start installation processes. When ingstart
is called, it displays the message “Starting the Name Server process (iigcn).” If there are startup problems after this message has displayed, see
Detect Vector Startup Problems on Linux.
Before you can diagnose a problem with ingbuild, you must identify which subroutine is failing. If you know which routine is failing and it is ingstart or one of the main installation processes (iigcn, iigcc, II_IUSV_nnn, dmfacp or iidbms), see the section below that addresses that executable.
Details on tracing are described in
Bourne Shell -x Option on page 178.
Detect Vector Startup Problems on Linux
To diagnose Vector problems, use the following procedure.
1. Display which processes are running by using the csreport and operating system ps commands.
2. Verify that all required Vector system processes are running. The following processes (in the order they are started) are the minimum required for a complete installation:
iigcn
Name Server process
iigcc
Communications Server process (present only on sites with Vector Net)
iidbms (II_IUSV_nnn)
Recovery Server process
iigcd
Data Access Server process (present only if JDBC and/or .NET access is configured)
dmfacp
Archiver process
iidbms
DBMS Server process
Note: If the command ingprenv | grep II_CLIENT shows “II_CLIENT = true”, you need to run only the Name Server and Communications Server processes.
After a Vector database has been accessed, there will also be an iix100 process for that database. If no Vector databases have been accessed, it is normal to see no iix100 processes running. The system databases iidbdb and imadb are not considered Vector databases.
3. If ingstart does not complete successfully, try to identify the reason for startup failure. For example:
The problem is with ingstart. The ingstart script fails due to results of the checks it makes for sufficient resources and installation settings. If this is the reason for startup failure, correct the deficiency.
A process failed to start. If a process failed to start, continue on to the details sections on startup problems for that specific process.
Detect Vector Startup Problems on System Reboot (Windows)
To detect Vector startup problems on system reboot on Windows, follow these steps:
1. Check that the “Startup Type” for the “Ingres Intelligent Database” service has been set to “automatic” in the services dialog.
2. Check that the password specified for the service matches the installation owner user password.
3. Start the service manually.
4. If the service fails to start, run ingstart from the command prompt.
Detect Vector Startup Problems on System Reboot (Linux)
To detect Vector startup problems on system reboot on Linux, follow these steps:
1. The most common cause of startup failure following a reboot is failure to include the startup command ingstart in the boot script for your machine. (The boot file is vendor-specific but can be named “/etc/rc” or “etc/rc.local”.) This file contains the commands that are to be executed immediately after a reboot.
Make sure that the following line appears in the boot script:
su userid -c "ii_system/ingres/utility/ingstart ii_system" /dev/console
where:
userid refers to the user that owns the installation
ii_system refers to the value of II_SYSTEM for your installation.
2. Make sure that /dev/kmem is readable to the user that owns the installation. If this is a security problem for your machine, you can add this user as a member of /dev/kmem’s group and make the /dev/kmem group readable.
Issue the following command at the operating system prompt:
chmod g+w /dev/kmem
The user that owns the installation must be able to read /dev/kmem or the kernel resource checks in ingstart fails.
Check Shutdown Problems on Windows
If Vector has problems during shutdown on Windows, follow these steps:
1. Check environment variables in the local user environment by entering the following commands at the operating system prompt:
a. Verify that II_SYSTEM is set correctly.
echo %II_SYSTEM%
b. Check that you have the full search path to %II_SYSTEM%\ingres\bin, and %II_SYSTEM%\ingres\utility
echo %PATH%
If you are having problems shutting down a client installation because Vector believes a Communications Server is running locally when there is none, remove this file:
%II_SYSTEM%\ingres\files\name\clientname\IICOMSVR_clientname
2. Identify whether Vector is recovering aborted transactions. Details of recovery delays are described in
Recovery Process Monitoring. Issue the following command at the operating system prompt and examine the output for the word “RECOVER.”
logstat | findstr RECOVER
If Vector is recovering aborted transactions, wait for this process to finish. Continue reissuing the logstat command and examining the STATUS field. When it reads “ONLINE, ECP DONE,” proceed with normal shutdown.
3. Shut down the installation by typing the following command:
ingstop
You can also shut down the installation by using the Stop operation in Actian Director or Visual Manager.
Note: All users must be logged out of Vector (that is, no sessions running in the server) for ingstop to succeed.
4. Check that all processes are shut down. If shutdown succeeds, none of the following processes are running on your machine:
• iigcn
• iigcc
• II_IUSV_nnn
• dmfacp
• iidbms
• iijdbc
• iigcd
• iigcb
• rmcmd
• iix100
5. Use one of your operating system utilities to kill any of these processes that are still running.
6. Remove any shared memory segments that remain allocated to this installation. Execute the following command at the operating system prompt:
ipcclean
Your installation is now shut down.
Check Shutdown Problems on Linux
If Vector has problems during shutdown on Linux, follow these steps:
1. Check environment variables in the local user environment by entering the following commands at the operating system prompt.
c. Verify that II_SYSTEM is set correctly:
echo $II_SYSTEM
/usr/r6 (this varies system by system)
d. Check that you have the full search path to $II_SYSTEM/ingres/bin and $II_SYSTEM/ingres/utility
echo $PATH
2. If there is more than one Vector installation on this machine, identify your installation code by typing the following command at the operating system prompt:
ingprenv | grep II_INSTALLATION
The two-letter installation code is displayed (for example, the code here is JB):
II_INSTALLATION=JB
Take note of your installation code: ______.
3. Identify if you are shutting down a client installation or a full installation by issuing the following command at the operating system prompt:
ingprenv | grep II_CLIENT
If this displays “II_CLIENT=true”, this is a client installation, and only two processes (iigcn, iigcc) are running on this node.
4. If you are having trouble shutting down a client installation because Vector believes a Communications server is running locally when there is none, remove this file:
$II_SYSTEM/ingres/files/name/clientname/IICOMSVR_clientname
For troubleshooting details see the Connectivity Guide.
5. Identify whether Vector is recovering aborted transactions. Details on recovery delays are described in
Recovery Process Monitoring. Issue the following command at the operating system prompt and examine the output for the word “RECOVER”:
logstat | grep RECOVER
If Vector is recovering aborted transactions, wait for this process to finish. Continue reissuing the logstat command and examining the STATUS field. When it says: “ONLINE, ECP DONE,” proceed with normal shutdown.
6. Now shut down the installation:
ingstop
Note: All users must be logged out of Vector (that is, no sessions running in the server) for the ingstop script to succeed.
7. Check that all processes are shut down:
e. Display running processes by issuing the following command at the operating system prompt:
BSD:
ps -aux | grep ingres
System V:
ps -ef | grep ingres
f. If shutdown succeeds, none of the following processes are running:
• iigcn
• iigcc
• II_IUSV_nnn
• dmfacp
• iidbms
• iijdbc
• iigcd
• iistar
• rmcmd
• iigcb
• iix100
8. If any of these installation processes are not shut down, note the process ID of the running processes and do the following:
a. Shut them down manually with the operating system command:
kill- QUIT process_id
where:
process_id refers to the process ID of the process to stop.
b. If processes are still not shut down, issue the operating system command:
kill -9 process_id
IMPORTANT! If your site has more than one Vector installation, examine the installation code associated with the iidbms process to make sure you are stopping only the processes associated with the installation you need to shut down.
9. Check that no shared memory segments remain allocated to this installation. Execute the operating system command:
csreport
The following message indicates that shared segments have been properly removed:
!Can’t map system segment
10. If shared memory segments remain for this installation, interactively remove them:
a. To deallocate shared memory resources, issue the operating system command:
ipcclean
b. Use the Linux command ipcs to verify that the actual segments have been removed:
ipcs
c. If they have not been properly removed, you must delete them manually.
IMPORTANT! If your site has more than one Vector installation, you must take care to only remove shared memory or semaphores for the installation to be shut down. If your machine contains more than one installation, enter the following command from the environment of the installation you need to target:
csreport
The csreport utility displays the shared memory and semaphore segment identifiers for this installation.
To remove the targeted segment(s), use the Linux command:
ipcrm -mmid
or
ipcrm -ssid
where mid is the shared memory segment identifier and sid is the semaphore identifier.
11. Verify that the following files are not present. If they are still present, you must remove them:
$II_SYSTEM/ingres/files/memory/lockseg.mem
$II_SYSTEM/ingres/files/memory/sysseg.mem