Although some problems may be unforeseen, in many cases problems may be avoidable if signs are detected early enough. Additionally, if an issue does occur, it is no use collecting information about that issue after the event. HANGFG is one of the tools that support recommend for collecting such diagnostics. For information on suggested uses, other proactive preparations and diagnostics, see:
HANGFG (Hang file generator) is a series of unix shell scripts used to automate the generation and collection of hanganalyze and systemstate trace files. HANGFG generates and collects hang trace files based on the impact of taking diagnostic traces on a system which is already in a degraded state. The overall decision on what level of impact the user can afford is left up to the user when he runs HANGFG, as the level of impact is passed in as an argument to the tool. HANGFG is also capable of making this decision for the user if the user selects light or medium impact (option 1 or 2) as an argument to the tool. HANGFG is RAC aware and can run in either a RAC or non RAC environment.
One of the major problems with obtaining the necessary diagnostic information to diagnose database hanging problems is having the necessary diagnostic data collected while the problem is actually occurring. Additionally, the necessary diagnostic data is seldom collected because of the time it takes to react to recognizing there is a problem, trying to determine what kind of data to collect, and knowing how to collect the data. Frequently, the problem has passed or the database has to be shutdown to correct the problem. HANGFG automates the generation and collection of hang diagnostic traces. The user need only run one diagnostic, HANGFG, during the database hang. The commands to issue the generation of diagnostic traces are performed by HANGFG, thus freeing the user from having to know and issue the individual cryptic commands to the database to generate these traces. HANGFG will also look to see how badly a system is degraded before issuing any commands that could degrade the system even further. Finally HANGFG will collect all the trace files that are produced from issuing these commands as well as any other oracle trace file that gets updated from the time the first hang diagnostic is performed. This greatly increases the probability that all the necessary hang related diagnostic traces are collected at one time thereby reducing the amount of pinging between the user and Oracle support for requests for additional diagnostic data requests.
Current HANGFG Version: 1.3.0 October 25, 2012
Click here to download the file .
If a file download dialog box does not appear when clicking on the above link, you may need to clear your web browser's cache and/or restart your web browser. If you are still unable to download the file, you may request that we email you a copy: Carl.Davis@oracle.com
Download of HANGFG is available through MetaLink and can be downloaded as a tar file. The user can then copy the tar file to the directory where HANGFG is to be installed and issues the following command:
This will create a directory called hangfg. The hangfg files are then untar'd into this new directory. Next, make
sure to change the file permissions on these files to execute by using the chmod command.
To uninstall HANGFG issue the following command on the hangfg directory:
To run HANGFG standalone go to the directory hangfg and issue the following command:
This script takes 1 argument which controls the number and level of detail of the hang trace files generated.
ARG1 = level of impact (1, 2 or 3).
|1||Light impact on system. This option collects 2 hanganalyze level 3 traces and then determines whether it can also collect 1 hanganalyze level 4 trace with minimal impact to the system. If so, it collects the hanganalyze level 4 trace. If not, it does not collect an additional trace file.|
|2||Medium impact on system (default value). This option collects 1 hanganalyze level 3 trace and then determines whether it can also collect 2 hanganalyze level 4 traces with minimal impact to the system. If so, it collects the 2 additional hanganalyze level 4 traces. If not, it collects an additional hanganalyze level 3 trace. This option also collects 1 systemstate level 258 trace.|
|3||Heavy impact on system. This option collects 2 hanganalyze level 4 traces and 2 systemstate level 258 traces.|
If you do not enter any argument the script runs with a default value of 2 meaning collect trace files with a medium impact on the system.
HANGFG is RAC aware. If the node you are running on is part of a RAC cluster the hanganalyze and systemstate dump commands are issued with the -g option. If the current node where you are running hangfg is hung you will be given a notification and asked to run hangfg from another node in the cluster. HANGFG finds all files on all nodes in the cluster and lists these files along with nodename in the file hangfiles.out. HANGFG bundles all the trace files from all the nodes and puts them into one compressed tar file named hfiles_
HANGFG creates hang trace files in the respective udump and bdump directories. In addition the following files are also generated in the directory where you are running hangfg.
If you encounter problems running HANGFG or would like to provide feedback, please send email to Carl.Davis@oracle.com.
来自 “ ITPUB博客 ” ，链接：http://blog.itpub.net/17252115/viewspace-1134076/，如需转载，请注明出处，否则将追究法律责任。