10/17
7 Troubleshooting OracleAS Adapter for Tuxedo
Troubleshooting OracleAS Adapters for Tuxedo involves checking various definitions and properties in Oracle Connect, including daemon status, workspace options, server parameters, and various system logs.
This chapter contains the following topics:
Troubleshooting the Daemon
Troubleshooting the daemon and the communication between Oracle Application Server and OracleAS Adapters for Tuxedo is performed using Oracle Studio. It is used to monitor the daemon and server activity and control what happens to the daemon and server processes.
Note:
The Tuxedo Gateway adapter logging goes to the Tuxedo log.
This section contains the following:
Starting the Daemon
The Oracle Connect daemon is started when OracleAS Adapters for Tuxedo are installed. In case you shut down the daemon, as described in Shutting Down the Oracle Connect Daemon, you can restart the daemon as described in the following task.
Note:
The Oracle Connect daemon is started only on the platform where OracleAS Adapters for Tuxedo run. It cannot be started remotely using Oracle Studio.
Task: Starting the Oracle Connect Daemon
-
Enter the following command:
irpcd [-u username [-p password]] -l ip:2551 start
Where username is the name of a user with a permission to start the daemon, and password is the password for this user and ip is the ip address of the computer.
Shutting Down the Oracle Connect Daemon
To shut down the Oracle Connect daemon, use Oracle Studio, as follows.
-
From the Start menu, select Programs, Oracle, and then select Studio.
-
Select the computer described in Configuring OracleAS Adapters for Tuxedo in Oracle Studio.
-
Right-click the computer and select Open Runtime Perspective.
-
In the Runtime Explorer, right-click the computer and select Shutdown Daemon.
Monitoring the Daemon During Run Time
Use the Runtime Manager perspective of Oracle Studio to monitor the daemon during Attunity SQLServer-CDC for SSIS.chm. Perform the following steps:
-
From the Start menu, select Programs, Oracle, and then select Studio.
-
Right-click the computer described in Configuring OracleAS Adapters for Tuxedo in Oracle Studio and select Open Runtime Perspective.
You can manage the daemon by expanding the relevant daemon, workspace or server process, and choosing the relevant option, as described in the following sections.
Daemon (Computer) Options
Right-click the daemon to display the options available for it, including the ability to display the daemon log.
The following table lists the available daemon options:
Workspace Options
Right-click a workspace to display the options available for the workspace, including the ability to display the workspace log.
The following options are available at the workspace level:
Server Options
Right-click a server to display the options available for the server, including the ability to display the server log.
The options available at the server level are listed in the following table:
Daemon Logs
Oracle Connect produces several logs that you can use to troubleshoot problems. The daemon manages the following logs:
-
The Daemon log
-
The Workspace log
-
The Server process log
The Runtime Manager perspective of Oracle Studio provides a monitor for these logs, as shown in the following figure:
Display the required log by right-clicking the level item want (daemon, workspace or server) and selecting View Log. Each log is displayed in a separate tab. You can flick between logs by clicking the appropriate tab.
The Daemon Log Monitor
The daemon log displays activity between clients and the daemon, including clients logging in and logging out from the daemon.
You can change the level of logging by clicking Properties. The following levels of logging are available:
-
none
: The log displays who has logged in and out from the daemon.
-
error
: The log displays who has logged in and out from the daemon and any errors that have been generated.
-
debug
: The log displays who has logged in and out from the daemon, any errors that have been generated, and any tracing that has been specified in the daemon configuration.
The Workspace Log Monitor
The workspace log displays information about the workspace being used by the client.
You can change the level of logging by clicking Properties. The following levels of logging are available:
-
none
: The log displays who has connected and disconnected from the server process.
-
error
: The log displays who has connected and disconnected from the server process and any errors that have been generated.
-
debug
: The log displays who has connected and disconnected from the server process, any errors that have been generated, and any tracing that has been specified in the workspace configuration.
The Server Log Monitor
The server log displays activity between clients and the server process used by that client to handle the client request.
You can change the level of logging by clicking Properties. The following levels of logging are available:
-
none
: The log displays who has connected and disconnected from the server process.
-
error
: The log displays who has connected and disconnected from the server process and any errors that have been generated.
-
debug
: The log displays who has connected and disconnected from the server process, any errors that have been generated, and any tracing that has been specified in the daemon configuration.
Resolving Communication Errors
When Oracle Studio disconnects from the Tuxedo computer, the computer is displayed in Oracle Studio with an X
in a red circle. If this situation occurs, try to access the computer later.
The following table describes the various scenarios that may exist when Oracle Application Server disconnects from the platform where OracleAS Adapters for Tuxedo run.
To troubleshoot client/server communication problems, you must be familiar with the following:
-
Daemon configuration settings.
-
Oracle Connect security.
-
TCP/IP subsystem. OracleAS Adapters for Tuxedo uses TPC/IP for internal inter-computer communications.
-
System details, such as the account name and password of the administrator account, the IP address of the computers involved and whether a portmapper is being used.
Resolving Specific Errors
The following error messages relate to errors received from Oracle Connect.
- C005: Could not open the IRPCD log file for write.
-
Cause: The daemon was not able to create or write to its log file. The log file is viewed using the Oracle Studio Runtime perspective, as described in
Daemon Logs. The log file location is set in the daemon configuration as described in Daemon
Logging.
-
Action: Check that the account where the daemon runs has permission to generate/write to the log file.
-
Action: Check the path specified for the log file in the daemon configuration.
-
Action: Check that there is no existing log file owned by another user at the specified location.
-
Action: Ensure that the disk device is not full.
- C007: Server initialization failed.
-
Cause: The daemon failed to start its network service.
-
Action: Check the processes being run on the system to see whether another daemon or program is using the port specified in the oc4j-ra.xml
file for the adapter.
-
Action: Check the TCP/IP subsystem on the current computer by trying to ping it or run FTP or Telnet to or from it.
-
Action: Check whether the daemon has privileges to use the TCP/IP services on the current computer with the port specified in the oc4j-ra.xml file for the adapter.
- C008: Setting server event handler failed.
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C009: IRPCD process has been terminated by user request.
-
Cause: This message is informational only. The daemon successfully shut down.
-
Action: No action required.
- C00A: Application %s not found.
-
Cause: The requested workspace does not exist.
-
Action: Check that the workspace defined in the oc4j-ra-xml file is also defined in the daemon configuration on the platform where OracleAS Adapter for Tuxedo runs. Use the Status option in the Runtime Manager perspective.
- C00B: Invalid IRPCD client context.
-
Cause: A non-Oracle Connect program is trying to connect to the daemon.
-
Action: Check the processes and terminate the relevant process with a system command.
- C00C: Daemon request requires a server login.
-
Cause: A non-Oracle Connect server or program was trying to use a daemon service reserved for Oracle Connect servers.
-
Action: Check the processes and terminate the relevant process with a system command.
- C00D: Daemon request requires a client login.
-
Cause: The requested daemon requires a valid client login, which was not supplied.
-
Action: Reissue the command and specify a OracleAS Adapter and password.
-
Action: Edit the user profile in Oracle Studio to specify a valid OracleAS Adapter and password for the platform where OracleAS Adapters for Tuxedo run.
- C00E: Daemon request requires an administrator login.
-
Cause: The requested daemon service requires an administrative login.
-
Action: Edit the daemon security in Oracle Studio to specify a valid administrator OracleAS Adapter and password.
- C00F: Anonymous client logins are not allowed.
-
Cause: The daemon is configured to require a valid username and password, which were not supplied.
-
Action: Enable anonymous client access in daemon security in Oracle Studio.
-
Action: Edit the user profile in Oracle Studio to specify a valid OracleAS Adapter and password for the platform where OracleAS Adapters for Tuxedo runs.
- C010: Anonymous server logins are not allowed.
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C011: Client has already timed out.
-
Cause: A server process was started on behalf of a client and the client has timed out before the server completed its startup.
-
Action: Increase the Connect timeout value for the server workspace in the Workspace
General tab.
- C012: Invalid username/password.
-
Cause: Invalid OracleAS Adapter/password supplied when logging on to the daemon.
-
Action: See the daemon log file because the OracleAS Adapter/password were not accepted.
-
Action: Edit the user profile in Oracle Studio to specify a valid OracleAS Adapter and password for the platform where OracleAS Adapters for Tuxedo run.
- C014: Client connection limit reached - try later.
-
Cause: The maximum number of server processes for the workspace has been reached, and none of the active servers could accept the client connection.
-
Action: Increase the value of the
Set maximum number of servers
and
Maximum
parameter for the
Clients per server limit
field in the
Server Mode tab.
-
Action: Try running the command later.
- C015: Failed to start server process.
-
Cause: The Oracle Connect daemon failed to start a server process or the started server failed upon starting up.
-
Action: See the daemon and server log files for the reason the server did not start. For example, you might receive an message with a reason specified in the log file similar to the following: [C015] Failed to start NAVIGATOR server process: No server account name defined for anonymous client; code: -1601: SQL code: 0
-
Action: If you use impersonation, check the user profile on the client. Also see C069.
- C016: Unexpected server state.
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C017: Active daemon clients exist. Shutdown canceled.
-
Cause: One or more clients are still connected to the daemon.
-
Action: Wait until all the clients log off the daemon and then retry the shutdown operation.
- C019: Request is not granted because someone else is locking it.
-
Cause: A request to lock a resource managed by the daemon was denied because another user has locked the resource.
-
Action: Wait for the other user to release the resource.
- C01A: Lock %s not found.
-
Cause: A request to free a resource was denied because the caller did not lock that resource (for example, another user shut down the daemon you are working with).
-
Action: Contact Oracle Support Services.
- C01B: Unexpected error in %s.
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C01C: Cannot update configuration without _APPLICATIONS lock.
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C01D: Need to lock the application first.
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C01F: Cannot set configuration of a deleted application.
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C020: Failed in looking up host name (gethostname())
-
Cause: Cannot connect to the remote computer.
-
Action: Check that the name specified for the computer in the oc4j-ra-xml file is correct.
-
Action: Check that a domain name server (DNS) is available to look up the host name.
-
Action: Check the TCP/IP subsystem on the computer by trying to ping it or run ftp or telnet to or from it.
- C021: Required variable %s not found
-
Cause: An environment variable required by the Oracle Connect server was not defined when the server started up.
-
Action: Check whether the startup script makes any changes to the environment variables used by Oracle Connect.
-
Action: Check whether the system-defined environment size is sufficiently large for Oracle Connect.
- C022: Server failed to connect and register with the daemon.
-
Cause: An Oracle Connect server started by the daemon was not able to connect or register back with the daemon.
-
Action: Try to connect again.
-
Action: Increase the Connect timeout value for the server workspace in the Workspace
General tab.
-
Action: Check that the startup script for the workspace launches the correct version of Oracle Connect.
-
Action: Increase the value of the
Set maximum number of servers
and
Maximum
parameter for the
Clients per server limit
in the
Server Mode tab.
- C023: Call made to unregistered module %d.
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C024: Failed to create a socket.
-
Cause: An error occurred within the TCP/IP subsystem.
-
Action: Check whether you have sufficient system privileges.
-
Action: Check the TCP/IP subsystem on the computer by trying to ping it or run ftp or telnet to or from it.
- C025: Failed to set socket option %s
-
Cause: An error occurred within the TCP/IP subsystem.
-
Action: Check whether you have sufficient system privileges.
-
Action: Check the TCP/IP subsystem on the computer by trying to ping it or run ftp or telnet to or from it.
- C026: Failed to bind server to port %s
-
Cause: An Oracle Connect server or daemon was not able to bind to the specified port.
-
Action: Check whether another program is holding the port that was specified in the oc4j-ra-xml file for the adapter.
-
Action: Check whether you have sufficient system privileges.
- C027: Cannot create TCP service for %s
-
Cause: An error occurred within the TCP/IP subsystem
-
Action: Check the TCP/IP subsystem on the computer by trying to ping it or run ftp or telnet to or from it.
- C028: Unable to register (%s, %d, tcp)
-
Cause: This error may happen when a portmapper is used (host:a) but the portmapper is not available.
-
Action: Enable the portmapper.
-
Action: Avoid using the portmapper (by not using “:a” when starting the daemon).
- C029: Failed to create a server thread
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C02A: Server thread failed to start
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C02B: Stopping the %s server - no client
-
Cause: A server that was started by the Oracle Connect daemon to service a client did not get a client connection request within one minute. The server terminates.
-
Action: In most cases, the client was terminated by a user request, so no specific action is required.
-
Action: If no client can connect to the server, it may be that the server has multiple network cards and the Oracle Connect daemon is not aware of this. In this case, start the daemon with an IP address.
- C02C: Unexpected event - a termination signal intercepted
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C02D: Modified transport, context unknown/lost
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C02F: Corrupted arguments passed to procedure
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C030: Unable to free arguments for %s() of %s
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C031: Cannot register a non-module RPC %s
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C032: An IRPCD program is required
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C033: An IRPCD super-server is required for module events
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C034: An invalid super-server module ID was specified, %d
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C035: Out of memory
-
Cause: Not enough memory to service a client request.
-
Action: Increase process memory quota or add memory to the system.
- C036: Failed to register RPC procedure module %s
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C037: Failed to register an invalid RPC procedure number %x
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C038: Cannot re-register RPC procedure number %x
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C042: Remote call to %s failed; %s
-
Cause: Remote call to API failed.
-
Action: Check the daemon log file.
-
Action: If necessary, change the level of detail written to the log file to help resolve the problem.
- C043: Failed to connect to host %s;%s
-
Cause: The remote host is not correctly defined to Oracle Connect or is not working.
-
Action: Check the remote computer definition in the oc4j-ra.xml file for the adapter.
-
Action: Check that the daemon is up on the platform where OracleAS Adapters for Tuxedo run. Use the Status option in the Runtime Manager perspective.
-
Action: Check the network connection by trying to ping the host computer or run ftp or telnet to or from it.
- C045: Failed to create a service thread
-
Cause: The server failed to create a thread to service a client request.
-
Action: A system or process quota limit has been exceeded. Either increase the quota or lower the
Clients per server limit
field value in the Workspace
General tab.
- C047: %s out of memory
-
Cause: Not enough memory was available to Oracle Connect to complete a requested operation.
-
Action: Terminate unnecessary processes running on the server.
-
Action: Add more memory to the system.
-
Action: Allow the process to use more memory.
-
Action: Limit the number of processes the daemon may start. If the demand for servers exceeds the number of available servers, clients get a message telling them the maximum number of servers has been reached and asking them to try again later.
- C066: Communication error with the server%s
-
Cause: Connection to the Oracle Connect daemon or server failed, or an established session with a server has failed.
-
Action: Check the remote computer definition in the weblogic-ra-xml file.
-
Action: Check that the daemon is up on the platform where OracleAS Adapters for Tuxedo run. Use the Status option in the Runtime Manager perspective.
-
Action: In case of a network problem, check the network connection by trying to ping the host computer or run ftp or telnet to or from it.
- C067: Unexpected error occurred in server function %s
-
Cause: One of the server functions has exited with an exception, such as an abend, or an Invalid Instruction.
-
Action: Contact Oracle Support Services.
- C068: Fail to login daemon
-
Cause: The daemon is not running on the server computer.
-
Action: Use the Status in Oracle Studio Runtime Manager perspective to check whether a daemon is running on the server
-
Action: Have the system administrator reinstall Oracle Connect on the server.
- C069: Fail to get server
-
Cause: The Oracle Connect daemon on the server computer could not start a server process to serve the client. A separate message provides more detail on why the server process could not start.
-
Action: There are many possible causes of this error. If the cause is not clear from the related message, see the Oracle Connect daemon log file on the server
-
Action: The resolution to this error is highly dependent on the particular cause. The following are some typical causes and resolutions.
-
Action: Some process creation quota was exceeded. Either try again later or increase the quota or the other relevant system resources.
-
Action: The server startup script failed.
-
Action: The OracleAS Adapter given is not allowed to use the requested server. Use an authorized OracleAS Adapter.
-
Action: A limit on concurrent clients for a server has been reached. Try again later.
-
Action: If you use impersonation, check the user profile on the client. Also see C015.
- C06A: Failed to connect to server
-
Cause: The server assigned to the client did not accept the client connection. A separate message provides more detail about why the server process did not accept the connection.
-
Action: See the daemon and server log files because the server was not available to accept its assigned client.
-
Action: If a shared server processes are used and many clients are trying to connect to it at the same time, some may get a Connection Refused error if the TCP/IP request queue fills up.
- C06B: Disconnecting from server
-
Cause: A network failure, or a server computer failure or a server program failure caused the connection to stop. The currently active transaction is stopped as well.
-
Action: Oracle Connect automatically tries to reestablish a connection with a server upon the next SQL command issued against the server. Once the network or computer failure is corrected, the connection to the daemon is reestablished automatically.
- C070: Server failed to send reply to the client
-
Cause: Server terminated unexpectedly.
-
Action: Unless the client was intentionally stopped (for example, using Control-C), contact Oracle Support Services.
- C071: Connection to server %s was disconnected. Cursors state was lost.
-
Cause: Either a network failure, a server computer failure, or server program failure caused the connection to stop. The currently active transaction is stopped as well.
-
Action: Normally, Oracle Connect automatically tries to create a session with the server upon the next attempt to access the server. If the network and server are accessible, the next operation should succeed. Otherwise, the network or server should be fixed before connection can be resumed.
-
Action: In case of a server malfunction that is not related to callable user code, contact Oracle Support Services.
- C072: Reconnect to server %s
-
Cause: This is an informational message only. The client has reestablished its connection with the server.
-
Action: No action is required.
- C073: The parameters passed to the admin server are invalid: %s
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- C074: No authorization to perform the requested operation (%s)
-
Cause: User/account has insufficient privileges.
-
Action: Grant administrative privileges to the user/account using the Administrator parameter of the Daemon
Security or Workspace
Security tabs.
- C075: Failed to register daemon in the TCP/IP service table
-
Cause: Registration of the daemon in the TCP/IP services file has failed.
-
Action: Check that the account running the daemon has the permissions to update the TCP/IP services file.
- E001: Failed in lock/release operation
-
Cause: A lock or release operation of a global resource has failed. A separate message provides more details. The separate message specifies the cause of this error.
-
Action: There are various causes for this error, including lack of sufficient privileges or a system resource shortage.
- J0006: Operation on already closed connection was requested
-
Cause: A request using a connection that was closed was attempted.
-
Action: Reopen the connection and try again.
- J0028: Internal Error: Unknown XML tag %s
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- J0030: Internal Error: Method %s needs to be overwritten
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- J0031: Internal Error: Required attribute %s not found in %s verb
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- J0032: Internal Error: %s ACP object was returned instead of %s as expected
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- J0033: Internal Error: Attempt to work with closed socket
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- J0034: Internal Error: corrupted message; %s bytes read instead of %s as expected
-
Cause: XML sent from the client to the server has become corrupted.
-
Action: Check compression settings for XML transferred from the client to the server. If the settings are correct, retry sending the request from the client to the server.
- J0035: Internal Error: Invalid redirection address %s returned by daemon
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- J0036: %s: %s
-
Cause: One of the following errors was received from the server: 0 - server.internalError, 1 - client.xmlError, 2 - client.requestError, 3 - client.noActiveConnection, 4 - server.resourceLimit, 5 - server.redirect, 6 - client.noSuchResource, 7 - client.authenticationError, 8 - client.noSuchInteraction, 9 - client.noSuchConnection, 10 - server.notImplemented, 11 - server.xaProtocolError, 12 - server.xaUnknownXID, 13 - server.xaDuplicateXID, 14 - server.xaInvalidArgument, 15 - client.autogenRejected, 16 - server.xaTransactionTooFresh, 17 - server.resourceNotAvailable, 18 - client.authorizationError, 19 - server.configurationError
-
Action: Review the server log file to determine the problem.
- J0037: Internal Error: No ACP response when %s was expected
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- J0039: Internal Error: ACP root is not found in the XML
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- J0040: Internal Error: Input record is required for interaction %s execution
-
Cause: Internal error.
-
Action: Contact Oracle Support Services.
- J0048: Invalid metadata type %s is passed to %s function
-
Cause: A request for metadata was not fulfilled.
-
Action: Check the validity of the request.
- J0050: Key of the put method must be of type string
-
Cause: In either a GET or PUT operation, the key must be a string.
-
Action: Change the key used in the operation to a valid key.
- J0059: Value %s is invalid for attribute %s
-
Cause: A request for metadata was not fulfilled.
-
Action: Check the validity of the request.
- J0068: Value must be of type string
-
Cause: In a PUT operation, the value must be a string.
-
Action: Change the value used in the operation to a valid value.
- J0069: Value must be of type MappedRecord
-
Cause: In a PUT operation, the value must be a mapped record.
-
Action: Change the value used in the operation to a valid value.
- J0070: Value must be of type "MappedRecord[]"
-
Cause: In a PUT operation, the value must be mapped record array.
-
Action: Change the value used in the operation to a valid value.
- J0071: Bad key for mapped record, #element or #element[] is required
-
Cause: In a PUT operation, the value must be mapped record array.
-
Action: Change the key used in the record to a valid key.
- J0072: Value must be of type Object[]
-
Cause: In a PUT operation, the value must be mapped record array.
-
Action: Change the value used in the operation to a valid value.
- J0078: In nonpersistent connection and non keep alive encryption is not supported - ignored
-
Cause: Encryption is not supported for nonpersistent connections.
-
Action: There is no action to take. This warning can be ignored.
- J0079: Invalid argument passed to %s - Argument: %s, Value: %s
-
Cause: The value pass.
-
Action: Change the argument used to a number.