D Troubleshooting

This section describes problems that you may encounter when using the Oracle Database 10g release 2 on BS2000, and provides you with information on how to diagnose and overcome such problems.

To solve a problem, identify the type of the problem and locate the relevant information in this appendix. Examine each of the listed points to find the cause of the problem. Carry out the suggested solution, and try again. The event log file described in this document may help you to diagnose the problem.

Refer to the Appendix A, "Oracle Error Messages for BS2000/OSD" in this guide and Oracle Database Error Messages manual for information about specific messages.

Problems Installing Oracle Database 10g

The following sections describe some of the probable problems faced while installing Oracle Database 10g release 2.

Problems Creating a Database

You should always use INSTALL.P.SUPER or INSTALL.P.DBA to create a new database, because this is the easiest way to get a correct instance. If you encounter problems during this process, study the diagnostic output, correct, and run the respective part manually, or remove the partially-created database, and re-run the whole process. All files belonging to a specific database are prefixed with the system identifier (ORASID) for that database, except for log files which have an extra prefix.

Also, check the following:

  • Does the BS2000 account have the necessary space in the JOIN file?

  • Is enough disk space available on the pubset or disks used to create the databases?

  • Is disk space fragmentation too high?

Problems Starting a Database

The following section lists some of the probable issues that you might face when you start a database.

Problems Starting a Database

This section lists information related to problems encountered when starting a database.

  • Did you get an ORA-05032 error with no extra information?

    When you attempt to start up a database and the startup fails, you sometimes get an ORA-05032 message and not much other information. This indicates that a problem occurred in a very early stage of the startup, when Oracle Database 10g error stack and backtracking mechanism was not yet active. If this is the case, you should check the following:

    • Did you call the ORAENV procedure prior to calling SQL*Plus?

    • Did you specify a correct and unique ORASID value in the ORAENV file?

    • Are there potential address range conflicts?

      The address ranges assigned to the kernel memory pool, the SGA, and the PGA, in each task, could be partially occupied by shared subsystems also used in the instance. Contact the System Administrator to find out how the subsystems are arranged. Then change the corresponding xxx_BASE environment variables in the ORAENV file to relocate the Oracle Database 10g areas to suitable address ranges.

    • Is the user address space large enough?

      A small address space limit in the JOIN file may not leave enough room for Oracle Database 10g requirements.

    • Has a previous startup attempt failed, leaving invalid background, database, or user tasks?

      If the Oracle Database 10g has not been shut down properly, old background or database tasks may hang and still be connected to the SGA of the old instance. This inhibits the creation of a new SGA. You may get a message indicating shutdown in progress.

      Cancel the remaining background, server, and user tasks. Exit SQL*Plus (this is required to release shared memory pools of the old instance) and retry.

Problems with Tasks

If you get a time out message when starting the background tasks, check the following points:

  • Are the background tasks blocked in the BS2000 job queue? This may occur due to system overload or insufficient task priority.

    The background tasks should always be started with the IMMEDIATE option and preferably in a reserved Jobclass. Check the ORAENV BGJPAR environment variable and the BS2000 JOIN entry. Cancel any background tasks that have already started.

  • If no background task can be found using the /STATUS command, the jobs have probably aborted. Check the job outputs.

Problems Accessing the Database

Refer to this section if you are facing issues accessing the database.

Problems with Database and Log files

If you have problems opening, closing, reading, or writing a database or log file, check the following points:

  • Does the file exist?

  • Is the file accessible to the program which is trying to open it?

  • Is there a hardware problem?

  • Did you specify the correct block size?

If you specified the ORAENV environment variable, SF_PBLKSIZE, at database creation, you must continue to use the same specification whenever you run an ALTER DATABASE statement.

Oracle Database 10g Trace Files

Whenever Oracle Database 10g encounters an exception, it writes a trace (or dump) file. You may need to send the file to the Oracle Support Services Representative if any unusual problem occurs.

Note that these files are created at database startup with a standard header and are modified for the last time at database shutdown. If no problems have occurred, you may wish to remove these files after a successful shutdown.

Trace File names

A trace file name is constructed using the pattern defined by the ORADUMP environment variable in the ORAENV file.

Oracle Database-Level Error Information

When you get an Oracle Database message, the OER-xxxx message may sometimes be followed by a message like the following:

SOSD error 8xxxyyyy from mmmmmmmm : text

This indicates that the error originated in operating system code or low-level Oracle Database code interfacing with the operating system. The SOSD error code provides important diagnostic information, and when contacting the Oracle Support Services Representative you should always supply this code, if present, in addition to the Oracle Database error number.

The error code is displayed in hexadecimal, and is structured as follows:

  • xxx identifies the function reporting the error. This information is useful to the Oracle Support Services Representative.

  • yyyy details the error. It is either an internal code of the function, or a compacted return code of a BS2000 system macro (see subsequent section).

  • mmmmmmmm is the name of the Oracle Database internal function. Text, if present, explains the error code. Often it says "RC FROM zzzzz MACRO".

A BS2000 system macro return code is condensed into the 2-byte value yyyy as follows:

  • For system macros that return a code bb0000aa, yyyy is bbaa

  • For I/O calls, yyyy is the DMS error code

In all other cases, yyyy contains the right halfword of the return code of the BS2000 macro.