Thursday, April 26, 2012

Relationship Between Init.ora Parameters and Unix, Linux Kernel Parameters

The following table documents Unix and Linux kernel parameters that should be monitored and possibly increased after changes are made to the related init.ora parameter. Please check with your Operating System documentation for specific details on the parameter changes.
                                    Init.ora Parameter                        Kernel Parameter
db_block_buffers                            shmmax, shmall
db_files(maxdatafiles)                    nfile, maxfiles
large_pool_size                                shmmax, shmall
log_buffer                                        shmmax, shmall
processes                                        nproc, semmsl, semmns
shared_pool_size                            shmmax, shmall

Friday, April 13, 2012

GGS ERROR 500 Oracle GoldenGate Capture for Oracle, ext1.prm: Could not find archived log for sequence

Oracle GoldenGate - Version: 10.4.0.19 and later   [Release: 10.4.0 and later ]
Information in this document applies to any platform.


Symptoms

ORACLE RAC Extract fails with the error
GGS Error 500 Could Not Find Archived Log For Sequence
The error message describes an archive log for a thread is not available when it is on disk.
A diagnostic is to run the query that OGG is running to see if you return more than one row which is a symptom of the a known bug.
Here is the query that will help you diagnose the issue
SELECT sequence#, DECODE(archived, 'YES', 1, 0) FROM v$log WHERE
sequence# = (select max(sequence#) from v$log where first_time <
TO_DATE('timeinyourerrormessage','YYYY-MM-DD HH24:MI:SS') AND thread# = <thread # in error message> );

here is an example error and the pieces that were used to complete the query :-
GGS ERROR 500 Oracle GoldenGate Capture for Oracle, e1.prm: Could not find archived log for sequence 13861 thread 7 under default destinations SQL <SELECT name FROM gv$archived_log WHERE sequence# = :ora_seq_no AND thread# = :ora_thread AND resetlogs_id = :ora_resetlog_id AND archived = 'YES' AND deleted = 'N>, error retrieving redo file name for sequence 13861, archived = 1, use_alternate = 0 Not able to establish initial position for begin time 2010-07-22 03:02:40
Here is the completed query ready to be excuted against the DB :-
SELECT sequence#, DECODE(archived, 'YES', 1, 0) FROM v$log WHERE
sequence# = (select max(sequence#) from v$log where first_time <
TO_DATE('2010-07-22 03:02:40','YYYY-MM-DD HH24:MI:SS') AND thread# = 7 );

When run returned the following output
SEQUENCE# DECODE(ARCHIVED,'YES',1,0)
13881 0
13881 1


Cause
The query executed in OGG to obtain the correct archive file for the thread returned more than one row. The query didn't take having multiple threads into account with log sequence # that were close in value, this is a known bug 9846123
Solution
Upgrade to 10.4.0.77 or higher, and restart your extract,
or do the following
1. switch log file
2. position extract to current sequence number minus 1.

 

Thursday, April 12, 2012

error while loading shared libraries: libnnz11.so: wrong ELF class: ELFCLASS32

Golden Gate  issue.

Cause:
When you run ./ggsci from your host, you can see below error

./ggsci: error while loading shared libraries: libnnz11.so: wrong ELF class: ELFCLASS32

Solutions:
    You need setup  LD_LIBRARY_PATH in your host
for example
export LD_LIBRARY_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib