OGG-02077 Extract encountered a read error in the asynchronous reader thread and is abending: Error code 1683

Have this crazy in ggserr.log?

Source Context :
SourceModule : [er.redo.ora]
SourceID : [/scratch/aime/adestore/views/aime_stuya22/oggcore/OpenSys/src/app/er/redo/oracle/redoora.c]
SourceFunction : [REDOORA_handle_read_error(errmsg_t &)]
SourceLine : [11630]

ERROR OGG-02077 Extract encountered a read error in the asynchronous reader thread and is abending: Error code 1683, error message: ORA-01683: unable to extend index . partition by in tablespace.

Check db alert_*.log, you should find some alert.

ORA-1688: unable to extend table SYS.WRH$_ACTIVE_SESSION_HISTORY partition WRH$_ACTIVE_1470969483_24757 by 128 in tablespace SYSAUX
ORA-1688: unable to extend table SYS.WRH$_ACTIVE_SESSION_HISTORY partition WRH$_ACTIVE_1470969483_24757 by 128 in tablespace SYSAUX

Resolving issue:

alter tablespace SYSAUX add datafile '+DG' size 1g;

Some options are:
Reduce AWR retention:

SQL> SELECT extract(day from snap_interval) *24*60+extract(hour from snap_interval) *60+extract(minute from snap_interval) snapshot_Interval,
extract(day from retention) *24*60+extract(hour from retention) *60+extract(minute from retention) retention_Interval
FROM dba_hist_wr_control;
SQL> exec DBMS_WORKLOAD_REPOSITORY.modify_snapshot_settings(retention => 10800, interval => 10);

Reduce Statistics Level:

SQL> show parameter STATISTICS_LEVEL
NAME                 TYPE        VALUE
---------------------------------------------------------
statistics_level     string     ALL

SQL> alter system set STATISTICS_LEVEL = TYPICAL scope=both sid='*';

Type your message when beep 🙂

Teradata ODBC for Unix OS

To connection between unix machine with teradata environment is needed to install ODBC Driver and some others components (dependencies). All Items can be found in Teradata Downloads site: https://downloads.teradata.com/

Teradata OBDC Driver has 3 dependecies:

1. Shared common components for Internationalization (TDICU)
2. Teradata GSS client package (TeraGSS)
3. Teradata Tools and Utilities Base (TTU)

After download all items, run as root: rpm -ivh “component_name” –nodeps

Eg: rpm -ivh teragss1510-15.10.02.06-1.noarch.rpm --nodeps

Use “–nodeps” only to not need to install in order

More“Teradata ODBC for Unix OS”

GoldenGate supplemental log check

Are you bored with GoldenGate objects with no supplemental log on Oracle Database?

This script will check ALL tables in GG PRM, after check on database supplemental log information.

PRM, dblogin should be changed.

Try this script on crontab:

vi gg_trandata_checkup.sh

cd $GGATE

echo > gg.out
echo "dblogin USERID @ PASSWORD > template_check.tmp
echo "" >> template_check.tmp
cat dirprm/ext_1.prm|grep -i TABLE|awk {' print $1" "$2 '}|awk -F"," {' print $1 '}|sed 's/TABLE/INFO TRANDATA/g' >> template_check.tmp

./ggsci -s gg.out
obey template_check.tmp
EOF

cat gg.out|sed '/^$/d'|grep -v ": ALL."|grep -v -i "info trandata"|grep -v "data is enabled for table"|grep -v "ERROR OGG-01784"

Mail this to GGAdmins.
Maiquel.

Error OGG-00354 Invalid BEFORE column:(column_name)

When we use extraction process with certain macro filters, and send the trails to a goldengate with JAVA adapter, the java extract process fails with the following error: OGG-00354 Invalid BEFORE column:(column_name).

EXTRACT PROCESS

EXT01
exttrail ./dirdat/e1, FORMAT RELEASE 11.1
GETUPDATEBEFORES
include ./dirmac/filter.mac
TABLE OWNER01.TABLE01, #filter01();

PUMP PROCESS

PUMP01
rmthost ggjava.net
rmttrail ./dirdat/j1 , format release 11.1
GETUPDATEBEFORES
TABLE OWNER01.TABLE01;

EXTRACT GG JAVA

EXTRACT JAVA01
GETUPDATEBEFORES
TABLE OWNER01.TABLE01;

In some cases, this issue can be resolved just removing the clause “GETUPDATEBEFORES”, as reported in the Oracle note (Doc ID 2151605.1). But in some environments this procedure not resolve, because it is an undocumented bug in goldengate JAVA 11.1, which is caused by the use of format release 11.1.
This same process has been testing in goldengate 12.1, with format release 12.1, and the problem not occurs.

The solution is the upgrade!  \o/
Dieison.

Auto start GoldenGate

How to autostart GoldenGate services after system startup?

On Linux: /etc/rc.local

#Auto start GoldenGate 
su - oracle -c "/oracle/goldengate/./ggsci paramfile startGG.obey"

On GoldenGate ggsci path, create follow file:

cd /oracle/goldengate/
echo "start mgr" > startGG.obey
./ggsci
GGSCI  1> edit params mgr
--Startup  MGR
AUTOSTART er *
AUTORESTART er *,RETRIES 5,WAITMINUTES 5,RESETMINUTES 30

Maiquel.

GoldenGate: Replicate data from SQLServer to TERADATA – Part 2

This steps should still be performed in SQLserver Host:

The pump process configuration is very simple, its only function is to transport the trail files to destination.

ADD extract P_MSQL, exttrailsource ./dirdat/tr

C:\goldengate> edit param P_MSQL

extract P_MSQL
SOURCEDB db0sql1, USERID ggate, PASSWORD ??????
CACHEMGR CACHESIZE 2GB
rmthost teradata1.net, mgrport 8809
rmttrail ./dirdat/td

--TABLE MAP
TABLE dbo.DLOG_ERRORS;
TABLE dbo.SAC_DATA;
TABLE dbo.SAC_LIST;
TABLE dbo.SAC_TITLE;

Still in the SQLserver Host, is need to create a definition file, wich will be used in gg-teradata.
First, create a “tables.def” file that should contain a dblogin and tables that will be replicated.

defsfile tables_sqlserver.sql purge 
SOURCEDB db0sql1, 
USERID ggate, PASSWORD ?????? 
TABLE dbo.DLOG_ERRORS; 
TABLE dbo.SAC_DATA; 
TABLE dbo.SAC_LIST; 
TABLE dbo.SAC_TITLE;

More“GoldenGate: Replicate data from SQLServer to TERADATA – Part 2”

ODI – Import(ANT) Modes

Oracle introduce in Data Integrator 12c an spectacular way to avoid object duplication (10g/11g users will bad remember)

With “Global ID”, ODI repository will generate special HASH to each object created on the repository (sometimes it will be updated).

This internal ID should be available on “Version” tab as below:important_modes

So, why this global id makes sense?

According oracle docs, “read carefully this section in order to determine the import mode you need.”

Changing ODI import modes, will be able to import/customize duplicated objects, generated by devops scripts.

Let’s understand the Import Modes:

More“ODI – Import(ANT) Modes”

GoldenGate: Replicate data from SQLServer to TERADATA – Part 1

Since we are arriving at the end of the year, I have taken the mission to replicate data between SQL server and TERADATA. The worst part in this task, is to install and configure a Goldengante in a Windows environment.

Believe, it is not possible to do a Unix installation of goldengate to collect data from SQLserver, goldengate binary needs to be installed on Windows SQLserver host.

After installing the GG binaries, it is good practice to add the MGR as a Windows service:

C:\goldengate> install addevents addservice manualstart

Oracle GoldenGate messages installed successfully.
Service 'GGSMGR' created.

Install program terminated normally.

In order for GG to access the sql database, you need to create a data source (ODBC), and configure a new system DSN (here is db0sql1), and select SQL Server as the database driver.

More“GoldenGate: Replicate data from SQLServer to TERADATA – Part 1”