![]() |
![]() |
![]() |
![]() |
![]() |
•
•
2. Select the messages you think most likely reflect the current problem. Note the catalog name and the number of each of message, so you can look up the message in System Messages. The manual entry provides:
4.
•
• The stdout and stderr files for your clients and servers may have been renamed. (You can rename the stdout and stderr files by specifying -e and -o in the appropriate client and server definitions in your configuration file. For details, see servopts(5) in the File Formats, Data Descriptions, MIBs, and System Processes Reference.)
5. Look for any core dumps in the directory defined by the APPDIR.variable. Use a debugger such as dbx to get a stack trace. If you find core dumps, notify your application developer.
6. Check your system activity reports (for example, by running the sar(1) command) to determine why your system is not functioning properly. Consider the following reasons:
• TPEOS messages indicate errors in the operating system.
• TPESYSTEM messages indicate errors in the Oracle Tuxedo system.
2. Select the messages you think most likely reflect the current problem. Note the catalog name and number of each of message, so you can look up the message in System Messages. The manual entry provides:
• Shut down the suspend service.
• Use tmboot -n -s(server) -d1. (This will not boot the server, but prints the command line used to boot the server by the Oracle Tuxedo system.) Use that command line with a debugger such as dbx.
•
•
• The text may not include more than 80 characters. The system sends the message in a STRING type buffer, which means the client’s unsolicited message handling function (specified by tpsetunsol(0)) must be able to handle this type of message. The tptypes() function may be useful in this case.
•
•
Note:
1. Run tmadmin -c.
• Specify the device on the lidl command line:
• Set the environment variable FSCONFIG to the name of the desired device.
1. Run tmadmin -c.
• Specify the following on the lidl command line:
• Set the environment variable FSCONFIG to the name of the desired device.
1. Run tmadmin -c.
Note: The value of devindx is the index to the file to be destroyed.
• Entering its name after the -z option (as shown here), or
• Setting the environment variable FSCONFIG to the device name
4. If you include the -yes option on the command line, you are not prompted to confirm your intention to destroy the file before the file is actually destroyed.
1. Run tmadmin -c.
• The value of devicename [devindx] is the desired device name. (Another way to assign a name to a new device is by setting the FSCONFIG environment variable to the desired device name.)
• To destroy a device list with index devindx, complete the following procedure.
1. Run tmadmin -c.
Note: The value of devindx is the index to the file to be destroyed.
• Entering its name after the -z option (as shown here), or
• Setting the environment variable FSCONFIG to the device nameApplication clients and servers that use the FASTPATH model of SYSTEM_ACCESS (the default) have direct memory access to the Oracle Tuxedo shared data structures. Using the FASTPATH model helps ensure that the Oracle Tuxedo system achieves its outstanding performance. The Oracle Tuxedo system uses the IPC (InterProcess Communication and File System) facilities provided by the operating system.This topic provides instructions for troubleshooting a partition, identifying its cause, and taking action to recover from it. A network partition exists if one or more machines cannot access the MASTER machine. As the application administrator, you are responsible for detecting partitions and recovering from them.
• A machine failure on either the MASTER machine or the nonmaster machine
• A BRIDGE failure
• Check the user log (ULOG) for messages that may shed light on the origin of the problem.When problems occur with the network, Oracle Tuxedo system administrative servers start sending messages to the ULOG. If the ULOG is set up over a remote file system, all messages are written to the same log. In this scenario, you can run the tail(1) command on one file and check the failure messages displayed on the screen.Listing 9‑1 Example of a ULOG Error MessageThe following is an example of a tmadmin session in which information is being collected about a partitioned network, a server, and a service on that network. Three tmadmin commands are run:
• pnw (the printnetwork command)
• psr (the printserver command)
• psc (the printservice command)Listing 9‑2 Example tmadmin SessionBecause the BRIDGE tries, automatically, to recover from any transient network failures and reconnect, transient network failures are usually not noticed. If, however, you need to perform a manual recovery from a transient network failure, complete the following procedure.
1.
2. rco non-partioned_node1 partioned_node2
1.
2. Run the pclean command, specifying the name of the partitioned machine:pcl partioned_machineThe procedure you follow to restore a failed machine depends on whether that machine was the MASTER machine.To restore a failed MASTER machine, complete the following procedure.
2.
3.
4.
1.
2. Run pclean, specifying the partitioned machine on the command line.
4. In the following list, SITE2, a nonmaster machine, is restored.Listing 9‑3 Example of Restoring a Failed Nonmaster Machine
1. Start a tmadmin session.
2. The bbclean command takes one optional argument: the name of the machine to be cleaned.
1. Start a tmadmin session.
2.
Note: You must specify a value for machine; it is a required argument.
pclean will invoke bbclean. pclean will remove all entries for servers and services from all nonpartitioned bulletin boards.This command is useful for restoring order to a system after partitioning has occurred unexpectedly.If a Oracle Tuxedo CORBA application fails to boot, open the application’s UBBCONFIG file with a text editor and check whether the servers are booted in the correct order in the SERVERS section. The following is the correct order in which to boot the servers in a Oracle Tuxedo CORBA environment. A Oracle Tuxedo CORBA application will not boot if this order is not adhered to.
1. The system EventBroker, TMSYSEVT.
2. The TMFFNAME server with the -N option and the -M option, which starts the NameManager service (as a MASTER). This service maintains a mapping of application-supplied names to object references.
3.
4. For a detailed example, see the section “Required Order in Which to Boot CORBA C++ Servers” in Setting Up an Oracle Tuxedo Application.The network address that is specified by programmers in the Bootstrap object constructor or in TOBJADDR must exactly match the network address in the server application’s UBBCONFIG file. The format of the address as well as the capitalization must match. If the addresses do not match, the call to the Bootstrap object constructor will fail with a seemingly unrelated error message:For example, if the network address is specified as //TRIXIE:3500 in the ISL command-line option string (in the server application’s UBBCONFIG file), specifying either //192.12.4.6:3500 or //trixie:3500 in the Bootstrap object constructor or in TOBJADDR will cause the connection attempt to fail.On UNIX systems, use the uname -n command on the host system to determine the capitalization used. On Windows systems, see the host system’s Network control panel to determine the capitalization used.You may want to perform the following steps on a Windows server that is running a Oracle Tuxedo CORBA application, if the following problem occurs: some Internet Inter-ORB Protocol (IIOP) clients boot, but some clients fail to create a Bootstrap object and return an InvalidDomain message, even though the //host:port address is correctly specified. (For related information, see the section “How to Check the Hostname Format and Capitalization of Oracle Tuxedo CORBA Servers” on page 9‑14.)
1. Start regedt32, the Registry Editor.
2. Go to the HKEY_LOCAL_MACHINE on Local Machine window.
3.
2.
3. If groupname is specified, a message is sent to the TMS of that group to mark as “aborted” the transaction for that group. If a group is not specified, a message is sent, instead, to the coordinating TMS, requesting an abort of the transaction. You must send abort messages to all groups in the transaction to control the abort.
Note: Be careful about using the committrans command. The only time you need to run it is when both of the following conditions apply:Also, a client may be blocked on tpcommit(), which will be timed out. If you are going to perform an administrative commit, be sure to inform this client.
1. Shut down the Oracle Tuxedo application. (For instructions, see “Starting Up and Shutting Down an Application” on page 1‑1 in Setting Up an Oracle Tuxedo Application.)Inter-process communication (IPC) resources are operating system resources, such as message queues, shared memory, and semaphores. When a Oracle Tuxedo application shuts down properly with the tmshutdown command, all IPC resources are removed from the system. In some cases, however, an application may fail to shut down properly and stray IPC resources may remain on the system. When this happens, it may not be possible to reboot the application.One way to address this problem is to remove IPC resources with a script that invokes the system IPCS command and scan for all IPC resources owned by a particular user account. However, with this method, it is difficult to distinguish among different sets of IPC resources; some may belong to the Oracle Tuxedo system; some to a particular Oracle Tuxedo application; and others to applications unrelated to the Oracle Tuxedo system. It is important to be able to distinguish among these sets of resources; unintentional removal of IPC resources can severely damage an application.The Oracle Tuxedo IPC tool (that is, the tmipcrm command) enables you to remove IPC resources allocated by the Oracle Tuxedo system (that is, for core Oracle Tuxedo and Workstation components only) in an active application.The command to remove IPC resources, tmipcrm, resides in TUXDIR/bin. This command reads the binary configuration file (TUXCONFIG), and attaches to the bulletin board using the information in this file. tmipcrm works only on the local server machine; it does not clean up IPC resources on remote machines in a Oracle Tuxedo configuration.tmipcrm [-y] [-n] [TUXCONFIG_file]
Note: This command will not work unless you have set the TUXCONFIG environment variable correctly or specified the appropriate TUXCONFIG file on the command line.