Analyze Core Files for Oracle Goldengate Processes on Unix/Linux_1360352.1
How to Analyze Core Files for Oracle Goldengate Processes on Unix/Linux (Doc ID 1360352.1)
In this Document
Purpose |
Questions and Answers |
How to generate a core file ? |
Where can the core file be found ? |
What to do with a core file? |
References |
Applies to:
Oracle GoldenGateInformation in this document applies to any platform.
***Checked for relevance on 21-Nov-2013***
Purpose
When troubleshooting Oracle GoldenGate (OGG) issues, especially for abend/hang problem, core file information may be collected. This Note answers the questions about how to analyze core files and what to collect from them.
Questions and Answers
How to generate a core file ?
1. If extract and/or replicat abend
A. make sure ulimit settings allow the core generation at operating system level:
"ulimit -c" will show the current setting.
"ulimit -c unlimited" will allow the core file to be generated to its maximum size.
after changing the ulimit settings, GoldenGate manager and GGSCI must be restarted to make the change effective.
B. add parameter to extract or replicat
ABORTONFATALERROR
This parameter will not affect performance under normal conditions. It will generate core dump when the extract/replicat abends abnormally.
2. When the OGG process is still running
For example, when the OGG extract is running but hanging, core file (as well as other information) may help to troubleshoot the problem.
The exact command is different for different OS and versions. Please check with the OS vendor documentation or your System Administrator for details. As well see KM note 1812.1 for more information.
A. gcore
(e.g., in Sun Solaris, Linux, HP-UX)
B. gencore
(e.g., in IBM AIX)
C. debug utilities (e.g., dbx, gdb)
example1: extract is running with pid 1234
cd
gdb ./extract
gdb> generate-core-file
gdb> detach
gdb> quit
example2: extract is running with pid 1234
gdb
gdb> attach 1234
gdb> dumpcore
gdb> quit
Where can the core file be found ?
The core file may be searched in following directories:
1. GoldenGate installation home
2. Directories specified by OS configuration
e.g.,
hp-ux: /etc/rc.config.d/savecrash
solaris: /etc/coreadm.conf
linux: /proc/sys/kernel/core_pattern
OS vendor and your system administrator may be contacted for further information.
3. Oracle 11g: OCI Automatic Diagnostic Repository (ADR) location
Fault diagnosability was introduced into OCI in Oracle Database 11g.
The location of the ADR base is determined by OCI in the following order:
(for more detail of ADR, see http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10646/oci10new.htm#LNOCI1020)
A. OCI first looks in the file sqlnet.ora (if it exists) for a statement such as (Linux or UNIX):
ADR_BASE=/foo/adr
adr (the name of a directory) must exist and be writable by all operating system users who execute OCI applications and want to share the same ADR base. foo stands for a path name. The location of sqlnet.ora is given in the directory $TNS_ADMIN (%TNS_ADMIN% on Windows). If there is no $TNS_ADMIN then the current directory is used. If ADR_BASE is set and one sqlnet.ora is shared by all users, then OCI stops searching when directory adr does not exist or is not writable by the user. If ADR_BASE is not set, then OCI continues the search, testing for the existence of certain directories.
For example, if sqlnet.ora contains the entry ADR_BASE=/home/chuck/test then the ADR base is /home/chuck/test/oradiag_chuck and the ADR home could be something like /home/chuck/test/oradiag_chuck/diag/clients/user_chuck/host_4144260688_11.
B. $ORACLE_BASE (%ORACLE_BASE% on Windows) exists. In this case, the client subdirectory exists because it was created during installation of the database using Oracle Universal Installer.
For example, if $ORACLE_BASE is /home/chuck/obase then the ADR base is /home/chuck/obase and the ADR home could be similar to /home/chuck/obase/diag/clients/user_chuck/host_4144260688_11.
C. $ORACLE_HOME (%ORACLE_BASE% on Windows) exists. In this case, the client subdirectory exists because it was created during installation of the database using Oracle Universal Installer.
For example, if $ORACLE_HOME is /ade/chuck_l1/oracle then the ADR base is /ade/chuck_l1/oracle/log and the ADR home could be similar to /ade/chuck_l1/oracle/log/diag/clients/user_chuck/host_4144260688_11.
D. Operating system home directory: $HOME on Linux or UNIX, or %USERPROFILE% on Windows. On Linux or UNIX the location could be something like this for user chuck: /home/chuck/oradiag_chuck. On Windows, a folder named Oracle is created under C:\Documents and Settings\chuck.
For example, in an Instant Client, if $HOME is /home/chuck then the ADR base is /home/chuck/oradiag_chuck and the ADR home could be /home/chuck/oradiag_chuck/diag/clients/user_chuck/host_4144260688_11.
E. Temporary directory in the Linux or UNIX operating system: /var/tmp.
For example, in an Instant Client, if $HOME is not writable, then the ADR base is /var/tmp/oradiag_chuck and the ADR home could be /var/tmp/oradiag_chuck/diag/clients/user_chuck/host_4144260688_11.
What to do with a core file?
The core file itself is hard to read, unless the related information can be provided (from which executable is the core file, which environment is it from, ...). It should be analyzed in the same OS/setup, where it is generated.
In most cases it is not necessary to provide the core file itself, but to create the stack trace out of it.
First find out, from which executable the core is generated. This can be done e.g. with 'file', sometimes 'what' is helpful or other tools - see note 1812.1:
file core
Then, depended on the debug tools available, create a stack trace and upload it it support for analysis, if requested.
References
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17252115/viewspace-1127988/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle GoldenGate Best Practice - sample parameter files (文件 ID 1321696.1)OracleGo
- oracle goldengate 引數詳解(轉MOS:Oracle GoldenGates ample parameter files)OracleGo
- Oracle Analyze的用法Oracle
- Oracle RAC Background processesOracle
- Oracle FilesOracle
- 10 Awesome Examples for Viewing Huge Log Files in UnixView
- Oracle GoldenGate Best Practice - Testing Maximum Performance of Disks in UNIX [ID 1356855.1]OracleGoORM
- The Oracle Background Processes for Sybase ProsOracleROS
- Overview of Oracle Processes (111)ViewOracle
- 4.3.2.2.2 Oracle Managed FilesOracle
- Oracle Server Parameter FilesOracleServer
- Analyze table對Oracle效能的提升Oracle
- Oracle analyze table的使用總結Oracle
- Retrieve deleted files on Unix / Linux using File Descriptors [ID 444749.1]deleteLinux
- oracle-managed files (35)Oracle
- oracle中的processes,session,transaction引數OracleSession
- Oracle GoldenGate DirectorOracleGo
- oracle goldengate 配置OracleGo
- 【GoldenGate】Oracle GoldenGate(三) DDL同步配置GoOracle
- oracle 11.2 所有Background Processes 的功能描述Oracle
- 【GoldenGate】Oracle GoldenGate(二) 雙向同步配置GoOracle
- About the Oracle GoldenGate TrailOracleGoAI
- oracle goldengate維護OracleGo
- Oracle GoldenGate: 使用巨集OracleGo
- GoldenGate Oracle MSSQL DateGoOracleSQL
- db_writer_processes-log_archive_max_processesHive
- Unix kernel parameters for OracleOracle
- 程式(Processes)
- Oracle資料庫的資料統計(Analyze)Oracle資料庫
- Oracle dbms_stats包和analyze 的比較Oracle
- oracle中的processes,session,transaction引數詳解OracleSession
- New Background Processes Oracle 10g/11gOracle 10g
- Oracle 21C管理Voting FilesOracle
- 20 Differences Between Oracle on NT and Oracle on UnixOracle
- Oracle GoldenGate安裝(一)OracleGo
- Oracle GoldenGate安裝(二)OracleGo
- Oracle GoldenGate安裝(三)OracleGo
- ORACLE GoldenGate Initial LoadOracleGo