转载:http://blog.csdn.net/zhou1862324/article/details/17512191
IPS(incident packaging service)是11G的新特性,其目的是查看某个错误相关的所有dump文件和trace文件,并可以很方便的打成一个包,我认为这个特性极大的方便了DBA进行远程诊断。PRE:使用前首先设置好ORACLE_HOME和PATH环境变量。进入adrci控制台:$adrciadrci tool is started.列出ADR HOME:adrci> show homediag/rdbms/v11/V11 设置ADRhome path:adrci> set homepath diag/rdbms/v11/V11列出problem:adrci> show problem--将会列出ORA-600, ORA-7445, ORA-1578,并伴随PROBLEM_ID , Problem_key和错误发生日期。把错误trace文件打包adrci> ips pack problem <problem id> in /tmp--该操作根据PROBLEM_ID将错误相关的trc文件打包到/tmp.附一: ADR How to Package Diagnostic Information in 11gInvoke adrci and set ADR_HOME.You can create a logical package based on an incident number, a problem number, a problem key, or a time interval. Create a logical package such that it will be most useful to diagnose the error of your concern.I) Creating package based on incident. Select correct incident if there are many incidents.adrci>SHOW INCIDENT adrci>IPS CREATE PACKAGE INCIDENT incident_numberII) Creating Empty package. adrci>IPS CREATE PACKAGEThis creates an empty package. You must use the IPS ADD INCIDENT or IPS ADD FILE commands to add diagnostic data to the package before generating it. III) Creating package based on problem ID adrci>IPS CREATE PACKAGE PROBLEM problem_IDThis creates a package and includes diagnostic information for incidents that reference the specified problem ID. (Problem IDs are integers.) You can obtain the problem ID for an incident from the report displayed by the SHOW INCIDENT -MODE BRIEF command. Because there can be many incidents with the same problem ID, ADRCI adds to the package the diagnostic information for the first three incidents ("early incidents") that occurred and last three incidents ("late incidents") that occurred with this problem ID, excluding any incidents that are older than 90 days. IV) Creating package based on problem key adrci>IPS CREATE PACKAGE PROBLEMKEY "problem_key"The problem key must be enclosed in single quotes (') or double quotes (") if it contains spaces or quotes. V)Creating package based on time interval. This creates a package and includes diagnostic information for all incidents that occurred from sec seconds ago until now. sec must be an integer.adrci>IPS CREATE PACKAGE SECONDS secadrci>IPS CREATE PACKAGE TIME 'start_time' TO 'end_time'This creates a package and includes diagnostic information for all incidents that occurred within the specified time range. start_time and end_time must be in the format 'YYYY-MM-DD HH24:MI:SS.FF TZR'. This is a valid string for the NLS_TIMESTAMP_TZ_FORMAT initialization parameter. The fraction (FF) portion of the time is optional, and the HH24:MI:SS delimiters can be colons or periods.Adding Incidents and files to the logical package :You can add more files or more incidents to the package. adrci>IPS ADD INCIDENT incident_number PACKAGE package_numberadrci>IPS ADD FILE filespec PACKAGE package_numberfilespec is the complete path and name of the trace file to add .package_number is the package id.Generate a physical incident package :Once you have created a logical package using one of the above methods, next step is to generate a physical package.adrci>IPS GENERATE PACKAGE package_number IN pathThis generates a complete physical package (zip file) in the designated path. For example, the following command creates a complete physical package in the directory /home/steve/diagnostics from logical package number 2: adrci>IPS GENERATE PACKAGE 2 IN /home/steve/diagnosticsUpload this package to the SR for diagnosing the problem.You can also create and generate package with one command : IPS Pack .adrci>IPS PACK INCIDENT incident_id IN pathAll the methods discussed above apply to 'IPS pack' as well. 附二:Database 11g: Quick Steps to Package and Send Critical Error Diagnostic Information to Support :Oracle11g provides tools and methods to automatically identify and gather trace files related to a problem (a critical error in the database environment) or an incident (an occurrence of a problem). This facility is known as the Incident Packaging Services (IPS). The Support Workbench (GUI) and ADRCI (command line) utilities are the two interfaces to the Incident Packaging Services. Every occurrence of a critical error (problem) in the database creates an incident.Steps in identifying and sending files to support.1. You are notified of a critical error reported in the database environment:SQL> select * from atab;select * from atab*ERROR at line 1:ORA-01578: ORACLE data block corrupted (file # 6, block # 11)ORA-01110: data file 6: '/opt/oracle/oradata/db11g/tt.dbf'2. Check for the error reported in the instance alert file and in the ADR.To check for the error reported in the ADR:With the 11g environment being set, from the OS command prompt invoke the ADRCI utility:$ adrciLet ADRCI know which Oracle environment to investigate:adrci> show home--show home will list all the ADR homes. Set the proper database ADR home for use with ADRCI.adrci> set homepath database_homeCheck for the problems reported: adrci> show problemADR Home = /opt/oracle/diag/rdbms/db11g/db11g:*************************************************************************PROBLEM_ID PROBLEM_KEY LAST_INCIDENT LASTINC_TIME------------ -------------- --------------- ---------------------------------1 ORA 1578 18104 2009-06-01 22:06:19.501207 +10:001 rows fetchedYou can have multiple problems reported. Create a package for the one which needs to be investigated.3. Check for the incidents reported for the problem which needs to be packagedEach occurrence of the problem is called an 'incident'. The instance alert file will show all the incidents reported. Each incident will be associated with a unique incident id in the ADR.From the ADRCI prompt, execute the SHOW INCIDENT command for the problem to be investigated, by specifying the associated problem key. You can get the problem key from the SHOW PROBLEM command:adrci> show incident -p "problem_key='ORA 1578'"ADR Home = /opt/oracle/diag/rdbms/db11g/db11g:*************************************************************************INCIDENT_ID PROBLEM_KEY CREATE_TIME--------------- ------------------------ ----------------------------------18147 ORA 1578 2009-06-01 22:02:08.805002 +10:001 rows fetchedYou can see multiple incidents reported for the same problem.Note the incident number for which you need to create a package.4. Package the trace files invoking IPS.Generate the package using the IPS PACK command and store the generated package in a directory of your choice. The example below shows the package for the incident will be created in the /tmp directory.adrci> ips pack incident 18147 in /tmpGenerated package 9 in file /tmp/ORA1578_20090602113045_COM_1.zip, mode completeIf at this step the ADRCI utility complains that the incident was flood-controlled and that no package can be generated for it, then instead of choosing the most recent incident to be packaged, choose the first incident that occurred after an instance startup.Examples of IPS PACK include:ips pack problem 100 in /tmp--Generates the package for the problem id 100 in /tmpips pack incident 6439 in /tmp--Generates the package for the incident id 6439 in /tmpips pack problemkey "ORA 1578"--Generates the package for the problem with the problem_key 'ORA 1578'ips pack seconds 8--Generates the package with the incidents occurred in last 8 seconds.ips pack time '2007-05-01 10:00:00.00' to '2007-05-01 23:00:00.00'--Generates the package with the incidents occurred between the times '2007-05-01 10:00:00.00' and '2007-05-01 23:00:00.00'Upload the ZIP file generated to the Service Request you created on the My Oracle Support website . This file will include all the trace files, instance alert file and other diagnostic information for the critical error. Make sure that the ZIP file is uploaded WITHOUT any post processing (such as TAR). 附三:11g Understanding Automatic Diagnostic RepositoryWhat is New in 11g? In 11g, RDBMS diagnostic data has been reorganized and is stored inside a common directory structure, the Automatic Diagnostic Repository (ADR). An ADR is a centralized directory structure where one can find trace files, alert messages, incident dumps, core files, etc. Automatic Diagnostic Repository ( ADR ) : All trace files, core files, and the alert files are now organized into a directory structure comprising the Automatic Diagnostic Repository (ADR). The ADR is a file-based repository for database diagnostic data. It has a unified directory structure across multiple instances and multiple products. Beginning with Release 11g, the database, Automatic Storage Management (ASM), Cluster Ready Services (CRS), and other Oracle products or components store all diagnostic data in the ADR. Each instance of each product stores diagnostic data underneath its own ADR home directory. For example, in an Oracle Real Application Clusters environment with shared storage and ASM, each database instance and each ASM instance has a home directory within the ADR. ADR's unified directory structure, consistent diagnostic data formats across products and instances, and a unified set of tools enable customers and Oracle Support to correlate and analyze diagnostic data across multiple instances.Problems and Incidents : Problem : is a critical error in the database Eg : ora-600 , ora-7445 , ora-4031 etc.Problem key : Every problem has a problem key, which is a text string that includes an error code (such as ORA 600) and in some cases, one or more error parameters. Eg: ??ORA 4030?? , ??ORA 600 [ktfacht1-0] Incident : is a single occurance of a problem . Each incident has a numeric incident id. Where is ADR located : The location of the ADR is controlled by the Oracle "diagnostic_dest" parameter. Path specified in the 'diagnostic_dest' parameter defines the ADR root directory,ADR BASE. The first subdirectory inside an ADR (under the <adr_base> directory) is always named "diag"For example, if the 'diagnostic_dest' and thus the <adr_base> is specified as "$ORACLE_HOME/log", then expect to find the subdirectory "$ORACLE_HOME/log/diag". Below this will be <adr_home> . Any number of instances/components can share same ADR BASE. Under ADR BASE there will be individual ADR HOMES. Under ADR BASE ,the address of an <adr_home> will be similar to : diag/<product_type>/<prod_id>/<instance_id>. Inside each ADR home, you can find several subdirectories, each for storing a specific type of diagnostic data. Among the subdirectories, you should be able to find TRACE, ALERT, INCIDENT, CDUMP etc. ADR HOME contents : You will find the following directories under ADR HOME - Alert : The alert directory contains the XML alert log Cdump : core dumps are stored in this directory Trace : Process trace files and Alert.log are stored in the trace directory. 'Background_dump_dest' and 'user_dump_dest' are now ignored in 11g. Now all the trace files will be generated in 'trace' directory. Incident : The incident directory stores dump files created when critical errors are encountered. Each occurrence of a critical error( incident ) is given its own incident directory, with the incident ID used to form the directory name. Metadata : The metadata directory stores a series of files that contain diagnostic metadata. HM : The hm directory stores reports for health checks Incpkg, ir, lck, sweep : These directories contain internal diagnosability framework state. DIAGNOSTIC_DEST - Default value : If environment variable ORACLE_BASE is set, DIAGNOSTIC_DEST is set to the directory designated by ORACLE_BASE. If environment variable ORACLE_BASE is not set, DIAGNOSTIC_DEST is set to ORACLE_HOME/logV$DIAG_INFO : For each database , you can query v$diag_info to check its ADR locations. This shows us the ADR BASE , ADR home , trace file locations , XML Alert location , incident dump locations , core dump and health monitor reports. Also gives us the default session trace ( for the current session ) and number of problems , incidents reported in the database. ADR Command Interpreter (ADRCI) :ADRCI is the command line utility using which ADR is accessed.Enter the following command at the operating system command prompt:%]ADRCIThe utility starts and displays the following prompt:adrci>There are various commands that can be executed from 'adrci' to view Alert log , trace files , incidents reported , etc.There is no need to log in to ADRCI, because the data in ADR is just for diagnostic purposes and not intended to be secure. ADR data is secured only by operating system permissions on the ADR directories.