<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4149664106915683492</id><updated>2024-10-24T04:45:20.400-04:00</updated><title type='text'>Random Oracle Posts</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>42</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-1542711656078984014</id><published>2019-12-03T14:35:00.000-05:00</published><updated>2019-12-03T14:47:21.049-05:00</updated><title type='text'>Resolving Gaps in Data Guard Apply Using Incremental RMAN BACKUP</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Arup Nanda had written a blogpost on this in 2009 and I highly recommend all of you read this.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://arup.blogspot.com/2009/12/resolving-gaps-in-data-guard-apply.html&quot;&gt;http://arup.blogspot.com/2009/12/resolving-gaps-in-data-guard-apply.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The basic technique of using&amp;nbsp; SCN of dataguard and taking backup from primary is well documented in his blog and I am not going to repeat that.&lt;br /&gt;
&lt;br /&gt;
Unfortunately the blog was written using normal filesystems and did not take into account about ASM with oracle managed files .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example is production might have all the files under&lt;br /&gt;
&lt;br /&gt;
+DATA/&amp;lt;prod db name&amp;gt;/DATAFILE&lt;br /&gt;
&lt;br /&gt;
whereas dataguard will have files under&lt;br /&gt;
&lt;br /&gt;
+DATA/&amp;lt;DR db name&amp;gt;/DATAFILE&lt;br /&gt;
&lt;br /&gt;
Since the path do NOT match , you will have to tweak his technique a bit.&lt;br /&gt;
&lt;br /&gt;
In this example , I will put in my perspective of how to fix this part.&lt;br /&gt;
&lt;br /&gt;
PLEASE NOTE TO REFER TO ARUP NANDA&#39;S ORIGINAL BLOG FOR THE RECOVERY PORTION USING RMAN.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PRIMARY&lt;br /&gt;
++++++&lt;br /&gt;
&lt;br /&gt;
oracle@prodhost orclpr1 trace: sqlplus &#39;/ as sysdba&#39;&lt;br /&gt;
&lt;br /&gt;
SQL*Plus: Release 12.1.0.2.0 Production on Tue Mar 7 10:21:58 2017&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 1982, 2014, Oracle.&amp;nbsp; All rights reserved.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Connected to:&lt;br /&gt;
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production&lt;br /&gt;
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,&lt;br /&gt;
Advanced Analytics and Real Application Testing options&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; alter database create standby controlfile as &#39;/tmp/control01.ctl&#39;;&lt;br /&gt;
&lt;br /&gt;
Database altered.&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; exit&lt;br /&gt;
Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production&lt;br /&gt;
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,&lt;br /&gt;
Advanced Analytics and Real Application Testing options&lt;br /&gt;
oracle@prodhost orclpr1 trace: scp /tmp/control01.ctl gchandra@drhost:/tmp/.&lt;br /&gt;
This computer system is for authorized users only. Unauthorized users are&lt;br /&gt;
prohibited. Users (authorized or unauthorized) have no explicit or implicit&lt;br /&gt;
expectation of privacy. Discontinue access immediately if you do not agree to&lt;br /&gt;
the conditions stated in this notice&lt;br /&gt;
Password:&lt;br /&gt;
control01.ctl&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 100%&amp;nbsp; &amp;nbsp;23MB&amp;nbsp; 23.3MB/s&amp;nbsp; &amp;nbsp;00:01&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Data Guard&lt;br /&gt;
++++++++++&lt;br /&gt;
&lt;br /&gt;
[root@drhost AKA ws-dr-bmodb01 tmp]# chown oracle:oinstall control01.ctl&lt;br /&gt;
&lt;br /&gt;
oracle@drhost orcldr1 trace: srvctl stop database -d orcldr&lt;br /&gt;
oracle@drhost orcldr1 trace: sqlplus &#39;/ as sysdba&#39;&lt;br /&gt;
&lt;br /&gt;
SQL*Plus: Release 12.1.0.2.0 Production on Tue Mar 7 10:26:28 2017&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 1982, 2014, Oracle.&amp;nbsp; All rights reserved.&lt;br /&gt;
&lt;br /&gt;
starConnected to an idle instance.&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; tup nomount&lt;br /&gt;
ORACLE instance started.&lt;br /&gt;
&lt;br /&gt;
Total System Global Area 4731174912 bytes&lt;br /&gt;
Fixed Size&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 4506744 bytes&lt;br /&gt;
Variable Size&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1291848584 bytes&lt;br /&gt;
Database Buffers&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3422552064 bytes&lt;br /&gt;
Redo Buffers&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;12267520 bytes&lt;br /&gt;
SQL&amp;gt; exit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
oracle@drhost orcldr1 trace: rman target /&lt;br /&gt;
&lt;br /&gt;
Recovery Manager: Release 12.1.0.2.0 - Production on Tue Mar 7 10:26:49 2017&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 1982, 2014, Oracle and/or its affiliates.&amp;nbsp; All rights reserved.&lt;br /&gt;
&lt;br /&gt;
connected to target database: FI9219PR (not mounted)&lt;br /&gt;
&lt;br /&gt;
RMAN&amp;gt; restore controlfile from &#39;/tmp/control01.ctl&#39;;&lt;br /&gt;
&lt;br /&gt;
Starting restore at 07-MAR-17&lt;br /&gt;
using target database control file instead of recovery catalog&lt;br /&gt;
allocated channel: ORA_DISK_1&lt;br /&gt;
channel ORA_DISK_1: SID=774 instance=orcldr1 device type=DISK&lt;br /&gt;
&lt;br /&gt;
channel ORA_DISK_1: copied control file copy&lt;br /&gt;
output file name=+DATA/orcldr/control01.ctl&lt;br /&gt;
Finished restore at 07-MAR-17&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RMAN&amp;gt; sql &#39;alter database mount&#39;;&lt;br /&gt;
&lt;br /&gt;
sql statement: alter database mount&lt;br /&gt;
released channel: ORA_DISK_1&lt;br /&gt;
&lt;br /&gt;
RMAN&amp;gt; catalog start with &#39;+data/orcldr/datafile&#39;;&lt;br /&gt;
&lt;br /&gt;
Starting implicit crosscheck backup at 07-MAR-17&lt;br /&gt;
allocated channel: ORA_DISK_1&lt;br /&gt;
Finished implicit crosscheck backup at 07-MAR-17&lt;br /&gt;
&lt;br /&gt;
Starting implicit crosscheck copy at 07-MAR-17&lt;br /&gt;
using channel ORA_DISK_1&lt;br /&gt;
Finished implicit crosscheck copy at 07-MAR-17&lt;br /&gt;
&lt;br /&gt;
searching for all files in the recovery area&lt;br /&gt;
cataloging files...&lt;br /&gt;
cataloging done&lt;br /&gt;
&lt;br /&gt;
List of Cataloged Files&lt;br /&gt;
=======================&lt;br /&gt;
File Name: +RECO/orcldr/ARCHIVELOG/2017_03_07/thread_1_seq_793.2753.937994585&lt;br /&gt;
File Name: +RECO/orcldr/ARCHIVELOG/2017_03_07/thread_2_seq_714.5482.937994587&lt;br /&gt;
File Name: +RECO/orcldr/ARCHIVELOG/2017_03_07/thread_2_seq_715.672.937994749&lt;br /&gt;
File Name: +RECO/orcldr/ARCHIVELOG/2017_03_07/thread_1_seq_794.2341.937994749Production&lt;br /&gt;
&lt;br /&gt;
searching for all files that match the pattern +data/orcldr/datafile&lt;br /&gt;
&lt;br /&gt;
List of Files Unknown to the Database&lt;br /&gt;
=====================================&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/system.468.929733757&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/sysaux.469.929733759&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/undotbs2.470.929733765&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/admin.471.929733767&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/archive.472.929733769&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/hubload.473.929733771&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/hubsys.474.929733773&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/intplat.475.929733779&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/keystore.476.929733781&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/undotbs1.477.929733787&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/users.478.929733787&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/webinit.479.929733789&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/webrpt.480.929733789&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/websys.481.929733797&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/wpdata.482.929733797&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/system.536.937132397&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/sysaux.537.937132397&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/undotbs2.538.937132413&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/admin.539.937132417&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/archive.540.937132425&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/hubload.541.937132431&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/hubsys.542.937132433&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/intplat.543.937132441&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/keystore.544.937132441&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/undotbs1.545.937132449&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/users.546.937132449&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/webinit.547.937132453&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/webrpt.548.937132453&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/websys.549.937132461&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/wpdata.550.937132461&lt;br /&gt;
&lt;br /&gt;
Do you really want to catalog the above files (enter YES or NO)? yes&lt;br /&gt;
cataloging files...&lt;br /&gt;
cataloging done&lt;br /&gt;
&lt;br /&gt;
List of Cataloged Files&lt;br /&gt;
=======================&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/system.468.929733757&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/sysaux.469.929733759&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/undotbs2.470.929733765&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/admin.471.929733767&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/archive.472.929733769&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/hubload.473.929733771&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/hubsys.474.929733773&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/intplat.475.929733779&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/keystore.476.929733781&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/undotbs1.477.929733787&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/users.478.929733787&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/webinit.479.929733789&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/webrpt.480.929733789&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/websys.481.929733797&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/wpdata.482.929733797&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/system.536.937132397&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/sysaux.537.937132397&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/undotbs2.538.937132413&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/admin.539.937132417&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/archive.540.937132425&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/hubload.541.937132431&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/hubsys.542.937132433&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/intplat.543.937132441&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/keystore.544.937132441&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/undotbs1.545.937132449&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/users.546.937132449&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/webinit.547.937132453&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/webrpt.548.937132453&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/websys.549.937132461&lt;br /&gt;
File Name: +DATA/orcldr/DATAFILE/wpdata.550.937132461&lt;br /&gt;
&lt;br /&gt;
RMAN&amp;gt; switch database to copy;&lt;br /&gt;
&lt;br /&gt;
datafile 1 switched to datafile copy &quot;+DATA/orcldr/DATAFILE/system.536.937132397&quot;&lt;br /&gt;
datafile 2 switched to datafile copy &quot;+DATA/orcldr/DATAFILE/sysaux.537.937132397&quot;&lt;br /&gt;
datafile 3 switched to datafile copy &quot;+DATA/orcldr/DATAFILE/undotbs2.538.937132413&quot;&lt;br /&gt;
datafile 4 switched to datafile copy &quot;+DATA/orcldr/DATAFILE/admin.539.937132417&quot;&lt;br /&gt;
datafile 5 switched to datafile copy &quot;+DATA/orcldr/DATAFILE/archive.540.937132425&quot;&lt;br /&gt;
datafile 6 switched to datafile copy &quot;+DATA/orcldr/DATAFILE/hubload.541.937132431&quot;&lt;br /&gt;
datafile 7 switched to datafile copy &quot;+DATA/orcldr/DATAFILE/hubsys.542.937132433&quot;&lt;br /&gt;
datafile 8 switched to datafile copy &quot;+DATA/orcldr/DATAFILE/intplat.543.937132441&quot;&lt;br /&gt;
datafile 9 switched to datafile copy &quot;+DATA/orcldr/DATAFILE/keystore.544.937132441&quot;&lt;br /&gt;
datafile 10 switched to datafile copy &quot;+DATA/orcldr/DATAFILE/undotbs1.545.937132449&quot;&lt;br /&gt;
datafile 11 switched to datafile copy &quot;+DATA/orcldr/DATAFILE/users.546.937132449&quot;&lt;br /&gt;
datafile 12 switched to datafile copy &quot;+DATA/orcldr/DATAFILE/webinit.547.937132453&quot;&lt;br /&gt;
datafile 13 switched to datafile copy &quot;+DATA/orcldr/DATAFILE/webrpt.548.937132453&quot;&lt;br /&gt;
datafile 14 switched to datafile copy &quot;+DATA/orcldr/DATAFILE/websys.549.937132461&quot;&lt;br /&gt;
datafile 15 switched to datafile copy &quot;+DATA/orcldr/DATAFILE/wpdata.550.937132461&quot;&lt;br /&gt;
&lt;br /&gt;
RMAN&amp;gt; exit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recovery Manager complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
oracle@drhost orcldr1 trace: sqlplus &#39;/ as sysdba&#39;&lt;br /&gt;
&lt;br /&gt;
SQL*Plus: Release 12.1.0.2.0 Production on Tue Mar 7 10:30:15 2017&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 1982, 2014, Oracle.&amp;nbsp; All rights reserved.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Connected to:&lt;br /&gt;
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production&lt;br /&gt;
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,&lt;br /&gt;
Advanced Analytics and Real Application Testing options&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; shutdown immediate&lt;br /&gt;
ORA-01109: database not open&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Database dismounted.&lt;br /&gt;
ORACLE instance shut down.&lt;br /&gt;
&lt;br /&gt;
NOW WE HAVE SUCESSFULLY GOT THE STANDBY CONTROLFILE FROM PRODUCTION INTO DATAGUARD AND SUCESSFULLY CHANGED THE PATH OF ALL THE FILE NAMES.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once the above is done, you can start from step 10 in his blog .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note to confused myself&lt;br /&gt;
++++++++++++++++++&lt;br /&gt;
&lt;br /&gt;
You might be wondering what hapenned to the redo logs under +DATA/orcldr/onlinelog directory as we never renamed them but oracle will automatically clear them up for all the groups once you open the database.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;example of alert log&amp;nbsp; -&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;color: lime;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div style=&quot;-en-clipboard: true;&quot;&gt;
&lt;span style=&quot;color: blue;&quot;&gt;ORA-17503: ksfdopn:2 Failed to open file +DATA/FI9219DR/onlinelog/group_3.414.929526809&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue;&quot;&gt;ORA-15173: entry &#39;group_3.414.929526809&#39; does not exist in directory &#39;onlinelog&#39;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue;&quot;&gt;Deleted Oracle managed file +DATA/orcldr/onlinelog/group_3.414.929526809&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue;&quot;&gt;Deleted Oracle managed file +RECO/orcldr/onlinelog/group_3.562.929526811&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue;&quot;&gt;Clearing online redo logfile 3 complete&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/1542711656078984014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2019/12/resolving-gaps-in-data-guard-apply.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/1542711656078984014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/1542711656078984014'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2019/12/resolving-gaps-in-data-guard-apply.html' title='Resolving Gaps in Data Guard Apply Using Incremental RMAN BACKUP'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-5633358101747602755</id><published>2019-12-03T14:09:00.003-05:00</published><updated>2019-12-06T16:16:12.365-05:00</updated><title type='text'>GoldenGate Password Encryption</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;-en-clipboard: true;&quot;&gt;
The goldengate admin user is GGADMIN and password is secretpassword.&lt;/div&gt;
&lt;div style=&quot;-en-clipboard: true;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-en-clipboard: true;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-en-clipboard: true;&quot;&gt;
GET ENCRYPTED PASSWORD for &quot;secretpassword&quot;&lt;/div&gt;
&lt;div style=&quot;-en-clipboard: true;&quot;&gt;
++++++++++++++++++++++++++++++++++++++++++&lt;/div&gt;
&lt;div style=&quot;-en-clipboard: true;&quot;&gt;
GGSCI (homelinux.local) 1&amp;gt; encrypt password &lt;span style=&quot;color: #328712;&quot;&gt;secretpassword&lt;/span&gt;,encryptkey default&lt;/div&gt;
&lt;div&gt;
Using Blowfish encryption with DEFAULT key.&lt;/div&gt;
&lt;div&gt;
Encrypted password:&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #e30000;&quot;&gt;AACAAAAAAAAAAAMALFJHGAYIMJSFLYTVDHBLHDIEHV&lt;/span&gt;&lt;span style=&quot;color: #e30000;&quot;&gt;JSFSJVD&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
Algorithm used:&amp;nbsp;&amp;nbsp;BLOWFISH&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
VERIFY MANUALLY USING THE ENCRYPTED PASSWORD GENERATED FROM ABOVE&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #444444; font-family: &amp;quot;georgia&amp;quot;;&quot;&gt;dblogin userid ggadmin@ORCL, password&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #e30000;&quot;&gt;AACAAAAAAAAAAAMALFJHGAYIMJSFLYTVDHBLHDIEHV&lt;/span&gt;&lt;span style=&quot;color: #e30000;&quot;&gt;JSFSJVD&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
CHANGE THE CLEARTEXT PASSWORD IN YOUR PARAMETER FILE TO ENCRYPTED&lt;/div&gt;
&lt;div&gt;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-size: 13px; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #444444; font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif; font-size: 13px; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;The cleartext password&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #444444; font-family: &amp;quot;georgia&amp;quot;;&quot;&gt;userid ggadmin@ORCL, password&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #328712;&quot;&gt;secretpassword&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #444444; font-family: &amp;quot;georgia&amp;quot;;&quot;&gt;can now be changed to&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #444444; font-family: &amp;quot;georgia&amp;quot;;&quot;&gt;userid ggadmin@ORCL, password&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #e30000;&quot;&gt;AACAAAAAAAAAAAMALFJHGAYIMJSFLYTVDHBLHDIEHV&lt;/span&gt;&lt;span style=&quot;color: #e30000;&quot;&gt;JSFSJVD&lt;/span&gt;&lt;span style=&quot;color: #e30000;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #444444; font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif; font-size: 13px; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;ENCRYPTKEY DEFAULT&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/5633358101747602755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2019/12/goldengate-password-encryption.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/5633358101747602755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/5633358101747602755'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2019/12/goldengate-password-encryption.html' title='GoldenGate Password Encryption'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-3694072168624858138</id><published>2019-12-03T14:01:00.001-05:00</published><updated>2019-12-03T14:02:23.697-05:00</updated><title type='text'>Oracle export with where clause and parallelism</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;-en-clipboard: true;&quot;&gt;
This pretty much sums up the way to export tables with a where clause.&lt;/div&gt;
&lt;div style=&quot;-en-clipboard: true;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-en-clipboard: true;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-en-clipboard: true;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-en-clipboard: true;&quot;&gt;
export DATA_PUMP_DIR=&quot;EXPORT_DIR&quot;&lt;/div&gt;
&lt;div&gt;
expdp \&#39;/ as sysdba\&#39;&amp;nbsp;&amp;nbsp;tables=scott.emp query=scott.emp:&#39;&quot;where eno &amp;lt;&amp;gt;0&quot;&#39; dumpfile=emp%U.dmp parallel=5 logfile=emp.log compression=all&lt;/div&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;
parallelism is NOT mandatory and can be skipped&lt;br /&gt;
&lt;br /&gt;
The above is put into a shell script and can be run from the unix prompt.&lt;br /&gt;
Tested only on UNIX systems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/3694072168624858138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2019/12/oracle-export-with-where-clause-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/3694072168624858138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/3694072168624858138'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2019/12/oracle-export-with-where-clause-and.html' title='Oracle export with where clause and parallelism'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-6119623227982855260</id><published>2014-08-09T21:32:00.002-04:00</published><updated>2019-03-15T09:53:44.300-04:00</updated><title type='text'>Goldengate ALLOWNOOPUPDATES error - Why it happens ?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Before you read this article , you might want to read my other 3 blogs -&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Goldengate supplemental logging , keycols, logallsupcols testcase 1/2/3&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;As I have explained , an update on the source can either trigger a GGSPKUpdate or a FieldComp record on the trail file.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Now ALLOWNOOPUPDATES is specific to FieldComp update.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;A usual update statement consists of&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;update &amp;lt;table name&amp;gt; set &amp;lt;set clause&amp;gt; where &amp;lt;where clause&amp;gt; ;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;The error happens when a replicat tries to construct the &amp;nbsp;&#39;set clause&#39; from a trail record after it has successfully constructed the &#39;where clause&#39; .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Again as explained in the earlier blog, if the trail file does not have the column information which replicat needs (based on PK/UK on the target table or KEYCOLS in replicat parameter table) then the &quot;where clause&quot; construction part of the update will itself fail. All those failures are documented in the other blogs mentioned above.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Considering that it has gone past that part successfully, it has to construct the &quot;set clause&quot; of the update statement.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Usually if a particular column is picked by where clause that column should be skipped from set clause.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;When replicat sees that all the columns in the trail file are used by the where clause then it reaches a condition that there are no more columns left to construct the &quot;set clause&quot;. This is exactly the reason why we encounter a &amp;nbsp; ALLOWNOOPUPDATES.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Let me start with a simple example with logdump views to explain more clearly.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;1.Create a table in Source and make sure a PK is built. A PK is needed to make sure any update goes as FieldComp.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;SQL&amp;gt; create table junk(col1 number ,col2 number,col3 number,col4 number,col5 num&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;ber,col6 number)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; 2 &amp;nbsp;/&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Table created.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;SQL&amp;gt; alter table junk add constraint pk_junk primary key(col1)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; 2 &amp;nbsp;/&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Table altered.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;2.Make sure you add supplemental logging for ALL Columns -&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;GGSCI (titan.gautham.com) 239&amp;gt; add trandata scott.junk, allcols&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Logging of supplemental redo data enabled for table SCOTT.JUNK.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;TRANDATA for scheduling columns has been added on table &#39;SCOTT.JUNK&#39;.TRANDATA for all columns has been added on table &#39;SCOTT.JUNK&#39;.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;GGSCI (titan.gautham.com) 240&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;GGSCI (titan.gautham.com) 240&amp;gt; info trandata scott.junk&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Logging of supplemental redo log data is enabled for table SCOTT.JUNK.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Columns supplementally logged for table SCOTT.JUNK: ALL.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;3.Ensure the table has arrived on target and drop the PK on the target .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;The reason why we drop the PK on target is, that when replicat tries to construct the &#39;where clause&#39; of the update, we want all the columns in the trail file to be used so that nothing is left for the &#39;set clause&#39;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;SQL&amp;gt; desc junk&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;Name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Null? &amp;nbsp; &amp;nbsp;Type&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;----------------------------------------- -------- ----------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;COL1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NOT NULL NUMBER&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;COL2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NUMBER&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;COL3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NUMBER&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;COL4 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NUMBER&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;COL5 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NUMBER&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;COL6 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NUMBER&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;SQL&amp;gt; alter table junk drop constraint pk_junk&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; 2 &amp;nbsp;/&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Table altered.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;SQL&amp;gt; desc junk&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;Name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Null? &amp;nbsp; &amp;nbsp;Type&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;----------------------------------------- -------- ----------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;COL1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NUMBER&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;COL2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NUMBER&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;COL3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NUMBER&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;COL4 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NUMBER&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;COL5 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NUMBER&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;COL6 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NUMBER&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;SQL&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;4.Insert a record in the source and ensure record arrives in target&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;--source&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;SQL&amp;gt; insert into junk values(100,100,100,100,100,100);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;1 row created.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;SQL&amp;gt; commit;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Commit complete.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;--target&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;SQL&amp;gt; select * from junk;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; COL1 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL2 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL3 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL4 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL5 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL6&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;---------- ---------- ---------- ---------- ---------- ----------&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;We are not interested in seeing logdump for above insert as it does not serve us any purpose&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;5.Update the source -&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;SQL&amp;gt; update junk set col5=500 where col1=100;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;1 row updated.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;SQL&amp;gt; commit;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Commit complete.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Check the replicat -&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;GGSCI (titan.gautham.com) 242&amp;gt; info all&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Program &amp;nbsp; &amp;nbsp; Status &amp;nbsp; &amp;nbsp; &amp;nbsp;Group &amp;nbsp; &amp;nbsp; &amp;nbsp; Lag at Chkpt &amp;nbsp;Time Since Chkpt&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;MANAGER &amp;nbsp; &amp;nbsp; RUNNING &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;JAGENT &amp;nbsp; &amp;nbsp; &amp;nbsp;STOPPED &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;EXTRACT &amp;nbsp; &amp;nbsp; RUNNING &amp;nbsp; &amp;nbsp; xxxxx &amp;nbsp; &amp;nbsp; 00:00:09 &amp;nbsp; &amp;nbsp; &amp;nbsp;00:00:01 &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;REPLICAT &amp;nbsp; &amp;nbsp;ABENDED &amp;nbsp; &amp;nbsp; yyyy &amp;nbsp; &amp;nbsp; 00:00:00 &amp;nbsp; &amp;nbsp; &amp;nbsp;00:00:25 &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Check the error from ggserr.log&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;2014-08-09 21:28:51 &amp;nbsp;INFO &amp;nbsp; &amp;nbsp;OGG-00987 &amp;nbsp;Oracle GoldenGate Command Interpreter for Oracle: &amp;nbsp;GGSCI command (oracle): info all.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;2014-08-09 21:29:08 &amp;nbsp;ERROR &amp;nbsp; OGG-01168 &amp;nbsp;Oracle GoldenGate Delivery for Oracle, rphvn1d.prm: &amp;nbsp;Encountered an update for target table SCOTT1.JUNK, which has no unique key defined. &amp;nbsp;KEYCOLS can be used to define a key. &amp;nbsp;Use ALLOWNOOPUPDATES to process the update without applying it to the target database. &amp;nbsp;Use APPLYNOOPUPDATES to force the update to be applied using all columns in both the SET and WHERE clause.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;2014-08-09 21:29:17 &amp;nbsp;ERROR &amp;nbsp; OGG-01668 &amp;nbsp;Oracle GoldenGate Delivery for Oracle, rphvn1d.prm: &amp;nbsp;PROCESS ABENDING.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;I hope the above explanation is clear.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Obviously if we create a PK or UK on the target or use KEYCOLS in replicat , we should be able to start the replicat with no issues.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/6119623227982855260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2014/08/goldengate-allownoopupdates-error-why.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/6119623227982855260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/6119623227982855260'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2014/08/goldengate-allownoopupdates-error-why.html' title='Goldengate ALLOWNOOPUPDATES error - Why it happens ?'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-4055380468028264981</id><published>2014-08-09T17:24:00.001-04:00</published><updated>2019-03-15T09:53:44.294-04:00</updated><title type='text'>Part 3 - Goldengate supplemental logging , keycols, logallsupcols - With Final Comments</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Same as in testcase 1 i.e. NO PK&#39;s on source or target,&amp;nbsp;&lt;span style=&quot;background-color: white; color: #222222; line-height: 18.479999542236328px;&quot;&gt;no LOGALLSUPCOLS in extract, no KEYCOLS in replicat &amp;nbsp;except that extract now has KEYCOLS defined on col1 .&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; color: #222222; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;background-color: white; color: #222222; line-height: 18.479999542236328px;&quot;&gt;Extract Parameter file&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #222222; line-height: 18.479999542236328px;&quot;&gt;--------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;--LOGALLSUPCOLS --&amp;gt;commented out&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;GETTRUNCATES&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;table SCOTT.junk, keycols(col1);&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;color: #222222; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #222222; line-height: 18.479999542236328px;&quot;&gt;Replicat Paramer file&lt;/span&gt;&lt;span style=&quot;color: #222222; line-height: 18.479999542236328px;&quot;&gt;------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Please don&#39;t get confused with the mapexception part as it is the exception handling routine I always add in dev/qa to trap unique key violated and no data found.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif;&quot;&gt;This has no meaning in this experiment.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;DDL INCLUDE MAPPED &amp;amp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;EXCLUDE OBJNAME GGADM.EXCEPTIONS&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;..&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;ASSUMETARGETDEFS&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;GETTRUNCATES&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;REPERROR (-1, EXCEPTION)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;REPERROR (-1403, EXCEPTION)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;map scott.junk, target scott1.junk&lt;/span&gt;&lt;span style=&quot;color: magenta;&quot;&gt;, mapexception (TARGET ggadm.exceptions&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: magenta;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;, INSERTALLRECORDS&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: magenta;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;-- , EXCEPTIONSONLY&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: magenta;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;, colmap ( rep_name = &#39;xxxxx&#39;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: magenta;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;, table_name = @GETENV (&#39;GGHEADER&#39;, &#39;TABLENAME&#39;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: magenta;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;, errno = @GETENV (&#39;LASTERR&#39;, &#39;DBERRNUM&#39;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: magenta;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;, dberrmsg = @GETENV ( &#39;LASTERR&#39;, &#39;DBERRMSG&#39;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: magenta;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;, optype = @GETENV ( &#39;LASTERR&#39;, &#39;OPTYPE&#39;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: magenta;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;, errtype = @GETENV ( &#39;LASTERR&#39;, &#39;ERRTYPE&#39;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: magenta;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;, logrba = @GETENV ( &#39;GGHEADER&#39;, &#39;LOGRBA&#39;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: magenta;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;, logposition = @GETENV ( &#39;GGHEADER&#39;, &#39;LOGPOSITION&#39;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: magenta;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;, TRAILRBA = @GETENV(&#39;RECORD&#39;, &#39;FILERBA&#39;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: magenta;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;, TRAILSEQUENCE = @GETENV(&#39;RECORD&#39;, &#39;FILESEQNO&#39;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: magenta;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;, committimestamp = @GETENV ( &#39;GGHEADER&#39;, &#39;COMMITTIMESTAMP&#39;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: magenta;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;) );&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: magenta;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;As always create table, add supplemental logging on col1,col2,col3 and insert a row on source and ensure that travelled to target.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Please see this relevant portion from test case 1.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;Now the important update&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;SQL&amp;gt; update junk set col4=500 where col1=100;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;1 row updated.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;SQL&amp;gt; commit;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;And here is the record from logdump in trail file&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;------------------------------------------------&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;Logdump 781 &amp;gt;n&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;___________________________________________________________________&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Hdr-Ind &amp;nbsp; &amp;nbsp;: &amp;nbsp; &amp;nbsp; E &amp;nbsp;(x45) &amp;nbsp; &amp;nbsp; Partition &amp;nbsp;: &amp;nbsp; &amp;nbsp; . &amp;nbsp;(x04) &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;UndoFlag &amp;nbsp; : &amp;nbsp; &amp;nbsp; . &amp;nbsp;(x00) &amp;nbsp; &amp;nbsp; BeforeAfter: &amp;nbsp; &amp;nbsp; A &amp;nbsp;(x41) &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;RecLength &amp;nbsp;: &amp;nbsp; &amp;nbsp;44 &amp;nbsp;(x002c) &amp;nbsp; IO Time &amp;nbsp; &amp;nbsp;: 2014/08/09 16:57:33.000.000 &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;IOType &amp;nbsp; &amp;nbsp; : &amp;nbsp; &amp;nbsp;15 &amp;nbsp;(x0f) &amp;nbsp; &amp;nbsp; OrigNode &amp;nbsp; : &amp;nbsp; 255 &amp;nbsp;(xff)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;TransInd &amp;nbsp; : &amp;nbsp; &amp;nbsp; . &amp;nbsp;(x03) &amp;nbsp; &amp;nbsp; FormatType : &amp;nbsp; &amp;nbsp; R &amp;nbsp;(x52)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;SyskeyLen &amp;nbsp;: &amp;nbsp; &amp;nbsp; 0 &amp;nbsp;(x00) &amp;nbsp; &amp;nbsp; Incomplete : &amp;nbsp; &amp;nbsp; . &amp;nbsp;(x00)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;AuditRBA &amp;nbsp; : &amp;nbsp; &amp;nbsp; &amp;nbsp;10578 &amp;nbsp; &amp;nbsp; &amp;nbsp; AuditPos &amp;nbsp; : 245809680&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Continued &amp;nbsp;: &amp;nbsp; &amp;nbsp; N &amp;nbsp;(x00) &amp;nbsp; &amp;nbsp; RecCount &amp;nbsp; : &amp;nbsp; &amp;nbsp; 1 &amp;nbsp;(x01)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;2014/08/09 16:57:33.000.000 FieldComp &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Len &amp;nbsp; &amp;nbsp;44 RBA 5876&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Name: SCOTT.JUNK&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;After &amp;nbsp;Image: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Partition 4 &amp;nbsp; G &amp;nbsp;s &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0000 0007 0000 0003 3130 3000 0100 0700 0000 0331 | ........100........1 &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;3030 0002 0007 0000 0003 3130 3000 0300 0700 0000 | 00........100....... &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0335 3030 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | .500 &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Column &amp;nbsp; &amp;nbsp; 0 (x0000), Len &amp;nbsp; &amp;nbsp; 7 (x0007) &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100 &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Column &amp;nbsp; &amp;nbsp; 1 (x0001), Len &amp;nbsp; &amp;nbsp; 7 (x0007) &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100 &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Column &amp;nbsp; &amp;nbsp; 2 (x0002), Len &amp;nbsp; &amp;nbsp; 7 (x0007) &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100 &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Column &amp;nbsp; &amp;nbsp; 3 (x0003), Len &amp;nbsp; &amp;nbsp; 7 (x0007) &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0000 0003 3530 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....500 &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;GGS tokens:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;TokenID x52 &#39;R&#39; ORAROWID &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Info x00 &amp;nbsp;Length &amp;nbsp; 20&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;4141 4155 476a 4141 4641 4141 414b 3141 4141 0001 | AAAUGjAAFAAAAK1AAA.. &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;TokenID x4c &#39;L&#39; LOGCSN &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Info x00 &amp;nbsp;Length &amp;nbsp; &amp;nbsp;9&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;3539 3131 3131 3537 31 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| 591111571 &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;TokenID x36 &#39;6&#39; TRANID &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Info x00 &amp;nbsp;Length &amp;nbsp; 12&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;3231 2e33 332e 3138 3830 3833 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | 21.33.188083 &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: magenta;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;See the huge difference that KEYCOL made ?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;In test case 1, we saw a&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;GGSPKUpdate &amp;nbsp;whereas now we are seeing a FieldComp.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif;&quot;&gt;remember supplemental logging was done on col1,col2 and col3 and KEYCOLS had col1.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;Replicat has the same abort issue .&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;2014-08-09 16:57:14 &amp;nbsp;WARNING OGG-06439 &amp;nbsp;No unique key is defined for table JUNK. All viable columns will be used to represent the key, but may not guarantee uniqueness. KEYCOLS may be used to define the key.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Using following columns in default map by name:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp; COL1, COL2, COL3, COL4, COL5, COL6&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Using the following key columns for target table SCOTT1.JUNK: COL1, COL2, COL3, COL4, COL5, COL6.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;This is because since the target has no PK/UK or KEYCOLS , the replicat wants to set all the columns in the where condition of the update but it sees only col1, col2, col3, col4. therefore it fails.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;The resolving is simple, just add primary key on either or all of columns - col1, col2,col3 and col4 and you are set.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;SQL&amp;gt; alter table junk add constraint pk_junk primary key(col2);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Table altered.&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;--restart replicat and see the magic&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;SQL&amp;gt; /&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; COL1 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL2 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL3 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL4 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL5 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL6&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;---------- ---------- ---------- ---------- ---------- ----------&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;500 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: purple; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;u&gt;I am going to redo the same experiment above but I am going to set KEYCOLS to a column which is not logged by supplemental logging and then going to update an totally different column.&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;1.Set supplemental logging on col1, col2, col3&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;2.Set KEYCOLS on col4 on extract side&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;i.e.&amp;nbsp;table SCOTT.junk, keycols(col4);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;3.Update a column say col5 not defined in 1,2.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Update junk set col5=500 where col1=100;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;SQL&amp;gt; create table junk(col1 number,col2 number,col3 number,col4 number,col5 numb&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;er,col6 number);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Table created.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;add trandata scott.junk, cols(col1,col2,col3),nokey&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;SQL&amp;gt; insert into junk values(100,100,100,100,100,100);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;1 row created.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;SQL&amp;gt; commit;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Commit complete.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;SQL&amp;gt; update junk set col5=500 where col1=100;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;1 row updated.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;SQL&amp;gt; commit;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Commit complete.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;
logdump as always&lt;br /&gt;---------------------&lt;/span&gt;&lt;/h4&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Logdump 794 &amp;gt;n&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;___________________________________________________________________&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Hdr-Ind &amp;nbsp; &amp;nbsp;: &amp;nbsp; &amp;nbsp; E &amp;nbsp;(x45) &amp;nbsp; &amp;nbsp; Partition &amp;nbsp;: &amp;nbsp; &amp;nbsp; . &amp;nbsp;(x04) &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;UndoFlag &amp;nbsp; : &amp;nbsp; &amp;nbsp; . &amp;nbsp;(x00) &amp;nbsp; &amp;nbsp; BeforeAfter: &amp;nbsp; &amp;nbsp; A &amp;nbsp;(x41) &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;RecLength &amp;nbsp;: &amp;nbsp; &amp;nbsp;44 &amp;nbsp;(x002c) &amp;nbsp; IO Time &amp;nbsp; &amp;nbsp;: 2014/08/09 17:17:47.000.000 &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;IOType &amp;nbsp; &amp;nbsp; : &amp;nbsp; &amp;nbsp;15 &amp;nbsp;(x0f) &amp;nbsp; &amp;nbsp; OrigNode &amp;nbsp; : &amp;nbsp; 255 &amp;nbsp;(xff)&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;TransInd &amp;nbsp; : &amp;nbsp; &amp;nbsp; . &amp;nbsp;(x03) &amp;nbsp; &amp;nbsp; FormatType : &amp;nbsp; &amp;nbsp; R &amp;nbsp;(x52)&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;SyskeyLen &amp;nbsp;: &amp;nbsp; &amp;nbsp; 0 &amp;nbsp;(x00) &amp;nbsp; &amp;nbsp; Incomplete : &amp;nbsp; &amp;nbsp; . &amp;nbsp;(x00)&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;AuditRBA &amp;nbsp; : &amp;nbsp; &amp;nbsp; &amp;nbsp;10578 &amp;nbsp; &amp;nbsp; &amp;nbsp; AuditPos &amp;nbsp; : 248909840&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Continued &amp;nbsp;: &amp;nbsp; &amp;nbsp; N &amp;nbsp;(x00) &amp;nbsp; &amp;nbsp; RecCount &amp;nbsp; : &amp;nbsp; &amp;nbsp; 1 &amp;nbsp;(x01)&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;2014/08/09 17:17:47.000.000 FieldComp &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Len &amp;nbsp; &amp;nbsp;44 RBA 3031&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Name: SCOTT.JUNK&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;After &amp;nbsp;Image: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Partition 4 &amp;nbsp; G &amp;nbsp;s &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;0000 0007 0000 0003 3130 3000 0100 0700 0000 0331 | ........100........1 &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;3030 0002 0007 0000 0003 3130 3000 0400 0700 0000 | 00........100....... &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;0335 3030 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | .500 &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Column &amp;nbsp; &amp;nbsp; 0 (x0000), Len &amp;nbsp; &amp;nbsp; 7 (x0007) &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100 &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Column &amp;nbsp; &amp;nbsp; 1 (x0001), Len &amp;nbsp; &amp;nbsp; 7 (x0007) &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100 &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Column &amp;nbsp; &amp;nbsp; 2 (x0002), Len &amp;nbsp; &amp;nbsp; 7 (x0007) &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100 &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Column &amp;nbsp; &amp;nbsp; 4 (x0004), Len &amp;nbsp; &amp;nbsp; 7 (x0007) &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;0000 0003 3530 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....500 &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;GGS tokens:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;TokenID x52 &#39;R&#39; ORAROWID &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Info x00 &amp;nbsp;Length &amp;nbsp; 20&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;4141 4155 476e 4141 4641 4141 414c 4e41 4141 0001 | AAAUGnAAFAAAALNAAA.. &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;TokenID x4c &#39;L&#39; LOGCSN &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Info x00 &amp;nbsp;Length &amp;nbsp; &amp;nbsp;9&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;3539 3131 3133 3834 32 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| 591113842 &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;TokenID x36 &#39;6&#39; TRANID &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Info x00 &amp;nbsp;Length &amp;nbsp; 12&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;3231 2e33 302e 3138 3735 3938 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | 21.30.187598 &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Very Interesting !!!!&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Because KEYCOLs is mentioned in the parameter file , that is why we see a FieldComp instead of&amp;nbsp;&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;GGSPKUpdate operation (otherwise I am sure we would see a&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;GGSPKUpdate in the absence of KEYCOLS)&lt;/span&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp; but unfortunately col4 which is set in KEYCOLS is missing in the&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;trail file as the supplemental logging only covered col1, col2 and col3 and offcourse we see col5 as that was the row updated.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;So please, please ensure that your supplemental logging covers the KEYCOLS.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;Also KEYCOLS or PK/UK decide whether the update would be a FieldComp vs&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;GGSPKUpdate.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;As always we see REPLICAT abended in target and i guess you all know what to do (if you had been reading my previous testcases).&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&lt;b&gt;&lt;u&gt;Here are the golden rules on how the target system constructs the where condition of the target&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #444444;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;based on whether it encounters a FieldComp or&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;GGSPKUpdate&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;background-color: white; color: purple; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;GGSPKUpdate&lt;/span&gt;&lt;/h4&gt;
&lt;span style=&quot;color: purple;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: purple; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;GGSPKUpdate has both before and after images in same record.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: purple; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;It is created only if source has no PK/UK nor does it have KEYCOLS defined on extract.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: purple;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: purple;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Rules -&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;(1)If The target should have PK/UK or KEYCOLS defined in replicat - it will use those columns&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: purple;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;for where condition(&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;If both of them are available I am assuming KEYCOLS takes precedence over PK/UK)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: purple;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Then the before image in the&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;GGSPKUpdate should have those columns set. Otherwise replicat will bomb as it does not have enough information in trail file to construct the where clause.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: purple; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: purple; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: purple; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;(2)If the target has no PK/UK nor does it have KEYCOLS defined in replicat -&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: purple;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;The before image of&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;GGSPKUpdate should have all the table columns . Otherwise replicat will bomb&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: purple; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;as it does not have enough information in trail file to construct the where clause.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: purple; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: purple; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;


&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;FieldComp&lt;/span&gt;&lt;/h4&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; font-weight: normal; line-height: 18.479999542236328px;&quot;&gt;FieldComp has no before image. It has only after image as basic assumption is PK is not changed.&lt;/span&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; font-weight: normal; line-height: 18.479999542236328px;&quot;&gt;It is created only if source has a PK/UK or has KEYCOLS defined in extract parameter file.&lt;/span&gt;&lt;/h4&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; font-weight: normal; line-height: 18.479999542236328px;&quot;&gt;Rules -&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;(1)&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;If The target should have PK/UK or KEYCOLS defined in replicat - it will use those columns for where condition.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;If both of them are available I am assuming KEYCOLS takes precedence over PK/UK.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;Now the afterimage should cover those columns.If not it will bomb.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;If it covers, then it will use them in the where condition and use the rest of the columns in set.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;(2)&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;If the target has no PK/UK nor does it have KEYCOLS defined in replicat -&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;The after image of&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;FieldComp&lt;/span&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;should have all the table columns . Otherwise replicat will bomb.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Assuming after image has all columns , then it uses all those columns for where condition and since it cannot reuse the columns in set, the update effectively becomes&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;update &amp;lt;table name&amp;gt; set &amp;lt;nothing&amp;gt; where &amp;lt;column list from goldengate&amp;gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;When the above case is encountered, we get the&amp;nbsp;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;APPLYNOOPUPDATES error.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;2014-08-09 20:58:36 &amp;nbsp;INFO &amp;nbsp; &amp;nbsp;OGG-00987 &amp;nbsp;Oracle GoldenGate Command Interpreter for Oracle: &amp;nbsp;GGSCI command (oracle): info all.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;2014-08-09 20:58:58 &amp;nbsp;ERROR &amp;nbsp; OGG-01168 &amp;nbsp;Oracle GoldenGate Delivery for Oracle, rphvn1d.prm: &amp;nbsp;Encountered an update for target table SCOTT1.JUNK, which has no unique key defined. &amp;nbsp;KEYCOLS can be used to define a key. &amp;nbsp;Use ALLOWNOOPUPDATES to process the update without applying it to the target database. &amp;nbsp;Use APPLYNOOPUPDATES to force the update to be applied using all columns in both the SET and WHERE clause.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;2014-08-09 20:59:08 &amp;nbsp;ERROR &amp;nbsp; OGG-01668 &amp;nbsp;Oracle GoldenGate Delivery for Oracle, rphvn1d.prm: &amp;nbsp;PROCESS ABENDING.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #222222; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/4055380468028264981/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2014/08/goldengate-supplemental-logging-keycols_39.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/4055380468028264981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/4055380468028264981'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2014/08/goldengate-supplemental-logging-keycols_39.html' title='Part 3 - Goldengate supplemental logging , keycols, logallsupcols - With Final Comments'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-1605828518294383386</id><published>2014-08-09T16:26:00.003-04:00</published><updated>2019-03-15T09:53:44.272-04:00</updated><title type='text'>Part 2 - Goldengate supplemental logging , keycols, logallsupcols testcase</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;This is in continuation to my series of findings and I recommend that you start from the first post&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;http://gauthamc.blogspot.com/2014/08/goldengate-supplemental-logging-keycols.html to understand my environment much better.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
TEST CASE 2&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;==========&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;The test case is pretty similar to test case 1 except that I have modified to extract parameter to add&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;LOGALLSUPCOLS.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; color: #222222; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #222222; line-height: 18.479999542236328px;&quot;&gt;Otherwise the setup is exactly the same as test case 1.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; color: #222222; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #222222; line-height: 18.479999542236328px;&quot;&gt;You might want to read more about LOGALLSUPCOLS (extract parameter) which is GG 12c feature and seems to be mandatory if you are using INTEGRATED replicat (again a 12c feature) with parallelism &amp;gt;1 (which should be true in most cases). Here we are going to look at what changes in the trail file when this parameter is set .&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; color: #222222; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #222222; line-height: 18.479999542236328px;&quot;&gt;So here it goes again, the same steps as in test case 1.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; color: #222222; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #222222; line-height: 18.479999542236328px;&quot;&gt;--extract parameter file&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;..&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;..&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;DDL include Mapped&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;LOGALLSUPCOLS&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;table SCOTT.junk;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;sequence SCOTT.*;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;--end of extract parameter file&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; color: #222222; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #222222; line-height: 18.479999542236328px;&quot;&gt;--create table in source with no PK/UK defined&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;SQL&amp;gt; create table junk(col1 number,col2 number,col3 number,col4 number,col5 numb&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;er,col6 number);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Table created.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;--make sure the table DDL has moved to target&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;SQL&amp;gt; select * from junk;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;no rows selected&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;--set supplemental logging for col1,col2 and col3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;GGSCI (titan.gautham.com) 140&amp;gt; add trandata scott.junk, cols(col1,col2,col3),nokey&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;2014-08-09 15:52:09 &amp;nbsp;WARNING OGG-06439 &amp;nbsp;No unique key is defined for table JUNK. All viable columns will be used to represent the key, but may not guarantee uniqueness. KEYCOLS may be used to define the key.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;Logging of supplemental redo data enabled for table SCOTT.JUNK.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;TRANDATA for scheduling columns has been added on table &#39;SCOTT.JUNK&#39;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;--verify&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;GGSCI (titan.gautham.com) 142&amp;gt; info trandata scott.junk&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;Logging of supplemental redo log data is enabled for table SCOTT.JUNK.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Columns supplementally logged for table SCOTT.JUNK: COL1, COL2, COL3.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;--perform an insert on source&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;SQL&amp;gt; insert into junk values(100,100,100,100,100,100);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;1 row created.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;SQL&amp;gt; commit;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Commit complete.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;--verify insert has travelled to target&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;SQL&amp;gt; select * from junk;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; COL1 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL2 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL3 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL4 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL5 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL6&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;---------- ---------- ---------- ---------- ---------- ----------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;--perform an update on the source of col4 .Remember only col1,col2 and col3 is added for supplemental logging&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;SQL&amp;gt; update junk set col4=500 where col1=100;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;1 row updated.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;SQL&amp;gt; commit;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Commit complete.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;Look at the trailfile from logdump for the update&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;--------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;The interesting thing is you will see 2 records in the trail file for the above update.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;You will see a FieldComp (before image) followed by a&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;GGSPKUpdate(before/after image).&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;It does look like the&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;LOGALLSUPCOLS is responsible for the 1st FieldComp record .&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 18.479999542236328px;&quot;&gt;With my interactions with Oracle Support and update operation always appears as either a FieldComp or&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;GGSPKUpdate(when there is a PK update).In most practical situations where a table always has a PK and logging is setup either on the PK or all columns, I have only seen a FieldComp when an update operation takes place.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;I am assuming that if the source had a PK or KEYCOLS defined in parameter file(assuming supplemental logging covered the PK or the KEYCOLS), we would see the&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;GGSPKUpdate replaced with a&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;FieldComp .That will be my test case 3.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;Logdump 752 &amp;gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;___________________________________________________________________&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Hdr-Ind &amp;nbsp; &amp;nbsp;: &amp;nbsp; &amp;nbsp; E &amp;nbsp;(x45) &amp;nbsp; &amp;nbsp; Partition &amp;nbsp;: &amp;nbsp; &amp;nbsp; . &amp;nbsp;(x04) &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;UndoFlag &amp;nbsp; : &amp;nbsp; &amp;nbsp; . &amp;nbsp;(x00) &amp;nbsp; &amp;nbsp; BeforeAfter: &amp;nbsp; &amp;nbsp; B &amp;nbsp;(x42) &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;RecLength &amp;nbsp;: &amp;nbsp; &amp;nbsp;44 &amp;nbsp;(x002c) &amp;nbsp; IO Time &amp;nbsp; &amp;nbsp;: 2014/08/09 16:17:18.000.000 &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;IOType &amp;nbsp; &amp;nbsp; : &amp;nbsp; &amp;nbsp;15 &amp;nbsp;(x0f) &amp;nbsp; &amp;nbsp; OrigNode &amp;nbsp; : &amp;nbsp; 255 &amp;nbsp;(xff)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;TransInd &amp;nbsp; : &amp;nbsp; &amp;nbsp; . &amp;nbsp;(x00) &amp;nbsp; &amp;nbsp; FormatType : &amp;nbsp; &amp;nbsp; R &amp;nbsp;(x52)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;SyskeyLen &amp;nbsp;: &amp;nbsp; &amp;nbsp; 0 &amp;nbsp;(x00) &amp;nbsp; &amp;nbsp; Incomplete : &amp;nbsp; &amp;nbsp; . &amp;nbsp;(x00)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;AuditRBA &amp;nbsp; : &amp;nbsp; &amp;nbsp; &amp;nbsp;10578 &amp;nbsp; &amp;nbsp; &amp;nbsp; AuditPos &amp;nbsp; : 243605008&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Continued &amp;nbsp;: &amp;nbsp; &amp;nbsp; N &amp;nbsp;(x00) &amp;nbsp; &amp;nbsp; RecCount &amp;nbsp; : &amp;nbsp; &amp;nbsp; 1 &amp;nbsp;(x01)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;2014/08/09 16:17:18.000.000 FieldComp &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Len &amp;nbsp; &amp;nbsp;44 RBA 8711&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Name: SCOTT.JUNK&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Before Image: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Partition 4 &amp;nbsp; G &amp;nbsp;b &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0000 0007 0000 0003 3130 3000 0100 0700 0000 0331 | ........100........1 &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;3030 0002 0007 0000 0003 3130 3000 0300 0700 0000 | 00........100....... &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0331 3030 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | .100 &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Column &amp;nbsp; &amp;nbsp; 0 (x0000), Len &amp;nbsp; &amp;nbsp; 7 (x0007) &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100 &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Column &amp;nbsp; &amp;nbsp; 1 (x0001), Len &amp;nbsp; &amp;nbsp; 7 (x0007) &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100 &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Column &amp;nbsp; &amp;nbsp; 2 (x0002), Len &amp;nbsp; &amp;nbsp; 7 (x0007) &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100 &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Column &amp;nbsp; &amp;nbsp; 3 (x0003), Len &amp;nbsp; &amp;nbsp; 7 (x0007) &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100 &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;GGS tokens:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;TokenID x52 &#39;R&#39; ORAROWID &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Info x00 &amp;nbsp;Length &amp;nbsp; 20&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;4141 4155 4763 4141 4641 4141 414b 4641 4141 0001 | AAAUGcAAFAAAAKFAAA.. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;TokenID x4c &#39;L&#39; LOGCSN &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Info x00 &amp;nbsp;Length &amp;nbsp; &amp;nbsp;9&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;3539 3131 3038 3032 37 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| 591108027 &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;TokenID x36 &#39;6&#39; TRANID &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Info x00 &amp;nbsp;Length &amp;nbsp; 12&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;3130 2e32 392e 3637 3134 3533 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | 10.29.671453 &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: Courier New, Courier, monospace; line-height: 18.479999542236328px;&quot;&gt;Important findings from the above record -&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: Courier New, Courier, monospace; line-height: 18.479999542236328px;&quot;&gt;As expected we see col1,col2,col3 records because of supplemental logging.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: Courier New, Courier, monospace; line-height: 18.479999542236328px;&quot;&gt;Looks like since we updated col4 (4th column of the table or column 3 in GG(as GG numbers column from 0),&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: Courier New, Courier, monospace; line-height: 18.479999542236328px;&quot;&gt;it stores the before image of col4 which is 100&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;Logdump 753 &amp;gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;___________________________________________________________________&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Hdr-Ind &amp;nbsp; &amp;nbsp;: &amp;nbsp; &amp;nbsp; E &amp;nbsp;(x45) &amp;nbsp; &amp;nbsp; Partition &amp;nbsp;: &amp;nbsp; &amp;nbsp; . &amp;nbsp;(x04) &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;UndoFlag &amp;nbsp; : &amp;nbsp; &amp;nbsp; . &amp;nbsp;(x00) &amp;nbsp; &amp;nbsp; BeforeAfter: &amp;nbsp; &amp;nbsp; A &amp;nbsp;(x41) &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;RecLength &amp;nbsp;: &amp;nbsp; &amp;nbsp;90 &amp;nbsp;(x005a) &amp;nbsp; IO Time &amp;nbsp; &amp;nbsp;: 2014/08/09 16:17:18.000.000 &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;IOType &amp;nbsp; &amp;nbsp; : &amp;nbsp; 115 &amp;nbsp;(x73) &amp;nbsp; &amp;nbsp; OrigNode &amp;nbsp; : &amp;nbsp; 255 &amp;nbsp;(xff)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;TransInd &amp;nbsp; : &amp;nbsp; &amp;nbsp; . &amp;nbsp;(x02) &amp;nbsp; &amp;nbsp; FormatType : &amp;nbsp; &amp;nbsp; R &amp;nbsp;(x52)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;SyskeyLen &amp;nbsp;: &amp;nbsp; &amp;nbsp; 0 &amp;nbsp;(x00) &amp;nbsp; &amp;nbsp; Incomplete : &amp;nbsp; &amp;nbsp; . &amp;nbsp;(x00)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;AuditRBA &amp;nbsp; : &amp;nbsp; &amp;nbsp; &amp;nbsp;10578 &amp;nbsp; &amp;nbsp; &amp;nbsp; AuditPos &amp;nbsp; : 243605008&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Continued &amp;nbsp;: &amp;nbsp; &amp;nbsp; N &amp;nbsp;(x00) &amp;nbsp; &amp;nbsp; RecCount &amp;nbsp; : &amp;nbsp; &amp;nbsp; 1 &amp;nbsp;(x01)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;2014/08/09 16:17:18.000.000 GGSPKUpdate &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Len &amp;nbsp; &amp;nbsp;90 RBA 8873&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Name: SCOTT.JUNK&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;After &amp;nbsp;Image: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Partition 4 &amp;nbsp; G &amp;nbsp;e &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;002c 0000 0007 0000 0003 3130 3000 0100 0700 0000 | .,........100....... &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0331 3030 0002 0007 0000 0003 3130 3000 0300 0700 | .100........100..... &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0000 0331 3030 0000 0007 0000 0003 3130 3000 0100 | ...100........100... &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0700 0000 0331 3030 0002 0007 0000 0003 3130 3000 | .....100........100. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0300 0700 0000 0335 3030 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| .......500 &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Before Image &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Len &amp;nbsp; &amp;nbsp;46 (x0000002e)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;KeyLen &amp;nbsp; &amp;nbsp;44 (x0000002c)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;KeyCol &amp;nbsp; &amp;nbsp; 0 (x0000), Len &amp;nbsp; &amp;nbsp; 7 (x0007) &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100 &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;KeyCol &amp;nbsp; &amp;nbsp; 1 (x0001), Len &amp;nbsp; &amp;nbsp; 7 (x0007) &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100 &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;KeyCol &amp;nbsp; &amp;nbsp; 2 (x0002), Len &amp;nbsp; &amp;nbsp; 7 (x0007) &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100 &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;KeyCol &amp;nbsp; &amp;nbsp; 3 (x0003), Len &amp;nbsp; &amp;nbsp; 7 (x0007) &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100 &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;After Image &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Len &amp;nbsp; &amp;nbsp;44 (x0000002c)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Column &amp;nbsp; &amp;nbsp; 0 (x0000), Len &amp;nbsp; &amp;nbsp; 7 (x0007) &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100 &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Column &amp;nbsp; &amp;nbsp; 1 (x0001), Len &amp;nbsp; &amp;nbsp; 7 (x0007) &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100 &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Column &amp;nbsp; &amp;nbsp; 2 (x0002), Len &amp;nbsp; &amp;nbsp; 7 (x0007) &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100 &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Column &amp;nbsp; &amp;nbsp; 3 (x0003), Len &amp;nbsp; &amp;nbsp; 7 (x0007) &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;0000 0003 3530 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....500 &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;GGS tokens:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;TokenID x52 &#39;R&#39; ORAROWID &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Info x00 &amp;nbsp;Length &amp;nbsp; 20&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp;4141 4155 4763 4141 4641 4141 414b 4641 4141 0001 | AAAUGcAAFAAAAKFAAA.. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;As with testcase 1, the replicat was broken here too -&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;REPLICAT &amp;nbsp; &amp;nbsp;ABENDED &amp;nbsp; &amp;nbsp; RPHVN1D &amp;nbsp; &amp;nbsp; 00:00:00 &amp;nbsp; &amp;nbsp; &amp;nbsp;00:02:35 &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;report file&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;---------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;2014-08-09 16:16:54 &amp;nbsp;WARNING OGG-06439 &amp;nbsp;No unique key is defined for table JUNK. All viable columns will be used to represent the key, but may not guarantee uniqueness. KEYCOLS may be used to define the key.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Using following columns in default map by name:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp; COL1, COL2, COL3, COL4, COL5, COL6&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;Using the following key columns for target table SCOTT1.JUNK: COL1, COL2, COL3, COL4, COL5, COL6.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;..&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;..&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;It does seem like we had the same abort as testcase 1 and we can fix this issue either by putting KEYCOLS on the replicat parameter file or just adding a PK(on target table) on one of the columns of col1, col2,col3 and col4.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;Just for curiousity, instead of adding a PK on col1 or col2 or col3 (unchanged), let me add the PK on the changed column col4.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;SQL&amp;gt; alter table junk add constraint pk_junk primary key(col4);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;Table altered.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;--restart the replicat and check the target&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;SQL&amp;gt; select * from junk;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; COL1 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL2 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL3 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL4 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL5 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL6&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;---------- ---------- ---------- ---------- ---------- ----------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;500 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Looks like we are all good now.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 18.479999542236328px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/1605828518294383386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2014/08/goldengate-supplemental-logging-keycols_9.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/1605828518294383386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/1605828518294383386'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2014/08/goldengate-supplemental-logging-keycols_9.html' title='Part 2 - Goldengate supplemental logging , keycols, logallsupcols testcase'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-2372819860919355717</id><published>2014-08-09T13:50:00.003-04:00</published><updated>2019-03-15T09:53:44.287-04:00</updated><title type='text'>Part 1 - Goldengate supplemental logging , keycols, logallsupcols testcase</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
My goldengate set up is a 11.2.0.4 oracle database on a goldengate 12c .&lt;br /&gt;
I am running a series of tests to understand how goldengate writes data into the trail file and how replicat behaves based on supplemental logging (all columns vs few columns), no PK/UK defined on the tables, effect of keycols in the extract and replicat parameter file, LOGALLSUPCOLS(a 12c GG parameter).&lt;br /&gt;
&lt;br /&gt;
I hope to document a bunch of them and will be writing multiple testcases.&lt;br /&gt;
&lt;br /&gt;
TEST CASE 1&lt;br /&gt;
=============&lt;br /&gt;
&lt;br /&gt;
Table has no PK or unique key defined on both source and target and table structure is identical.&lt;br /&gt;
Supplemental logging is done for 3 columns out of 6 columns.&lt;br /&gt;
Extract has no KEYCOLS defined.&lt;br /&gt;
EXTRACT has no LOGALLSUPCOLS.&lt;br /&gt;
replicat has no KEYCOLS defined.&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; create table junk(col1 number,col2 number,col3 number,col4 number,col5 numb&lt;br /&gt;
er,col6 number)&lt;br /&gt;
&amp;nbsp; 2 &amp;nbsp;/&lt;br /&gt;
&lt;br /&gt;
Table created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GGSCI (titan.gautham.com) 119&amp;gt; add trandata scott.junk, cols(col1,col2,col3),nokey&lt;br /&gt;
&lt;br /&gt;
2014-08-09 13:07:44 &amp;nbsp;WARNING OGG-06439 &amp;nbsp;No unique key is defined for table JUNK. All viable columns will be used to represent the key, but may not guarantee uniqueness. KEYCOLS may be used to define the key.&lt;br /&gt;
&lt;br /&gt;
Logging of supplemental redo data enabled for table SCOTT.JUNK.&lt;br /&gt;
TRANDATA for scheduling columns has been added on table &#39;SCOTT.JUNK&#39;.&lt;br /&gt;
GGSCI (titan.gautham.com) 120&amp;gt; info trandata scott.junk&lt;br /&gt;
&lt;br /&gt;
Logging of supplemental redo log data is enabled for table SCOTT.JUNK.&lt;br /&gt;
&lt;br /&gt;
Columns supplementally logged for table SCOTT.JUNK: COL1, COL2, COL3.&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
Extract parameter file&lt;/h4&gt;
..&lt;br /&gt;
--LOGALLSUPCOLS --&amp;gt;commented out&lt;br /&gt;
table SCOTT.junk; --&amp;gt;no keycols mentioned here&lt;br /&gt;
&lt;br /&gt;
Perform the following from sqlplus at the source-&lt;br /&gt;
SQL&amp;gt; insert into junk values(100,100,100,100,100,100);&lt;br /&gt;
&lt;br /&gt;
1 row created.&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; commit;&lt;br /&gt;
&lt;br /&gt;
Commit complete.&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; update junk set col4=500 where col1=100;&lt;br /&gt;
&lt;br /&gt;
1 row updated.&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; commit;&lt;br /&gt;
&lt;br /&gt;
Commit complete.&lt;br /&gt;
&lt;br /&gt;
The below logdump portion is relevant only to the update statement .I have not included the logdump portion for the insert as it does not serve us any purpose for this discussion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
logdump of trail file&lt;/h4&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;1.Has info on col1, col2,col3 (as they are added in add trandata)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;2.Has info on col4 as it was changed&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;3.shows GGSPKUpdate (for the update) with before and after image&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Logdump 692 &amp;gt;n&lt;br /&gt;
___________________________________________________________________&lt;br /&gt;
Hdr-Ind &amp;nbsp; &amp;nbsp;: &amp;nbsp; &amp;nbsp; E &amp;nbsp;(x45) &amp;nbsp; &amp;nbsp; Partition &amp;nbsp;: &amp;nbsp; &amp;nbsp; . &amp;nbsp;(x04)&lt;br /&gt;
UndoFlag &amp;nbsp; : &amp;nbsp; &amp;nbsp; . &amp;nbsp;(x00) &amp;nbsp; &amp;nbsp; BeforeAfter: &amp;nbsp; &amp;nbsp; A &amp;nbsp;(x41)&lt;br /&gt;
RecLength &amp;nbsp;: &amp;nbsp; &amp;nbsp;90 &amp;nbsp;(x005a) &amp;nbsp; IO Time &amp;nbsp; &amp;nbsp;: 2014/08/09 13:23:00.000.000&lt;br /&gt;
IOType &amp;nbsp; &amp;nbsp; : &amp;nbsp; 115 &amp;nbsp;(x73) &amp;nbsp; &amp;nbsp; OrigNode &amp;nbsp; : &amp;nbsp; 255 &amp;nbsp;(xff)&lt;br /&gt;
TransInd &amp;nbsp; : &amp;nbsp; &amp;nbsp; . &amp;nbsp;(x03) &amp;nbsp; &amp;nbsp; FormatType : &amp;nbsp; &amp;nbsp; R &amp;nbsp;(x52)&lt;br /&gt;
SyskeyLen &amp;nbsp;: &amp;nbsp; &amp;nbsp; 0 &amp;nbsp;(x00) &amp;nbsp; &amp;nbsp; Incomplete : &amp;nbsp; &amp;nbsp; . &amp;nbsp;(x00)&lt;br /&gt;
AuditRBA &amp;nbsp; : &amp;nbsp; &amp;nbsp; &amp;nbsp;10578 &amp;nbsp; &amp;nbsp; &amp;nbsp; AuditPos &amp;nbsp; : 230433296&lt;br /&gt;
Continued &amp;nbsp;: &amp;nbsp; &amp;nbsp; N &amp;nbsp;(x00) &amp;nbsp; &amp;nbsp; RecCount &amp;nbsp; : &amp;nbsp; &amp;nbsp; 1 &amp;nbsp;(x01)&lt;br /&gt;
&lt;br /&gt;
2014/08/09 13:23:00.000.000 &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;GGSPKUpdate &amp;nbsp; &lt;/span&gt;&lt;/b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Len &amp;nbsp; &amp;nbsp;90 RBA 4260&lt;br /&gt;
Name: SCOTT.JUNK&lt;br /&gt;
After &amp;nbsp;Image: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Partition 4 &amp;nbsp; G &amp;nbsp;s&lt;br /&gt;
&amp;nbsp;002c 0000 0007 0000 0003 3130 3000 0100 0700 0000 | .,........100.......&lt;br /&gt;
&amp;nbsp;0331 3030 0002 0007 0000 0003 3130 3000 0300 0700 | .100........100.....&lt;br /&gt;
&amp;nbsp;0000 0331 3030 0000 0007 0000 0003 3130 3000 0100 | ...100........100...&lt;br /&gt;
&amp;nbsp;0700 0000 0331 3030 0002 0007 0000 0003 3130 3000 | .....100........100.&lt;br /&gt;
&amp;nbsp;0300 0700 0000 0335 3030 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| .......500&lt;br /&gt;
Before Image &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Len &amp;nbsp; &amp;nbsp;46 (x0000002e)&lt;br /&gt;
KeyLen &amp;nbsp; &amp;nbsp;44 (x0000002c)&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;KeyCol &amp;nbsp; &amp;nbsp; 0 &lt;/span&gt;(x0000), Len &amp;nbsp; &amp;nbsp; 7 (x0007)&lt;br /&gt;
&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;KeyCol &amp;nbsp; &amp;nbsp; 1&lt;/span&gt; (x0001), Len &amp;nbsp; &amp;nbsp; 7 (x0007)&lt;br /&gt;
&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;KeyCol &amp;nbsp; &amp;nbsp; 2&lt;/span&gt; (x0002), Len &amp;nbsp; &amp;nbsp; 7 (x0007)&lt;br /&gt;
&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;KeyCol &amp;nbsp; &amp;nbsp; 3&lt;/span&gt; (x0003), Len &amp;nbsp; &amp;nbsp; 7 (x0007)&lt;br /&gt;
&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100&lt;br /&gt;
&lt;br /&gt;
After Image &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Len &amp;nbsp; &amp;nbsp;44 (x0000002c)&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;Column &amp;nbsp; &amp;nbsp; 0&lt;/span&gt; (x0000), Len &amp;nbsp; &amp;nbsp; 7 (x0007)&lt;br /&gt;
&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: blue;&quot;&gt;Column &amp;nbsp; &amp;nbsp; 1&lt;/span&gt; (x0001), Len &amp;nbsp; &amp;nbsp; 7 (x0007)&lt;br /&gt;
&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;Column &amp;nbsp; &amp;nbsp; 2&lt;/span&gt; (x0002), Len &amp;nbsp; &amp;nbsp; 7 (x0007)&lt;br /&gt;
&amp;nbsp;0000 0003 3130 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....100&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;Column &amp;nbsp; &amp;nbsp; 3&lt;/span&gt; (x0003), Len &amp;nbsp; &amp;nbsp; 7 (x0007)&lt;br /&gt;
&amp;nbsp;0000 0003 3530 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ....500&lt;br /&gt;
&lt;br /&gt;
GGS tokens:&lt;br /&gt;
TokenID x52 &#39;R&#39; ORAROWID &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Info x00 &amp;nbsp;Length &amp;nbsp; 20&lt;br /&gt;
&amp;nbsp;4141 4155 4751 4141 4641 4141 4149 7641 4141 0001 | AAAUGQAAFAAAAIvAAA..&lt;br /&gt;
TokenID x4c &#39;L&#39; LOGCSN &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Info x00 &amp;nbsp;Length &amp;nbsp; &amp;nbsp;9&lt;br /&gt;
&amp;nbsp;3539 3130 3932 3935 36 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| 591092956&lt;br /&gt;
TokenID x36 &#39;6&#39; TRANID &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Info x00 &amp;nbsp;Length &amp;nbsp; 11&lt;br /&gt;
&amp;nbsp;352e 3132 2e32 3138 3937 35 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | 5.12.218975&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
replicat parameter file&lt;br /&gt;
=========================&lt;br /&gt;
DDL INCLUDE MAPPED &amp;amp;&lt;br /&gt;
EXCLUDE OBJNAME GGADM.EXCEPTIONS&lt;br /&gt;
ASSUMETARGETDEFS&lt;br /&gt;
GETTRUNCATES&lt;br /&gt;
REPERROR (-1, EXCEPTION)&lt;br /&gt;
REPERROR (-1403, EXCEPTION)&lt;br /&gt;
..&lt;br /&gt;
..&lt;br /&gt;
map scott.junk, target scott1.junk, mapexception (TARGET ggadm.exceptions&lt;br /&gt;
, INSERTALLRECORDS&lt;br /&gt;
-- , EXCEPTIONSONLY&lt;br /&gt;
, colmap ( rep_name = &#39;rphvn1d&#39;&lt;br /&gt;
, table_name = @GETENV (&#39;GGHEADER&#39;, &#39;TABLENAME&#39;)&lt;br /&gt;
, errno = @GETENV (&#39;LASTERR&#39;, &#39;DBERRNUM&#39;)&lt;br /&gt;
, dberrmsg = @GETENV ( &#39;LASTERR&#39;, &#39;DBERRMSG&#39;)&lt;br /&gt;
, optype = @GETENV ( &#39;LASTERR&#39;, &#39;OPTYPE&#39;)&lt;br /&gt;
, errtype = @GETENV ( &#39;LASTERR&#39;, &#39;ERRTYPE&#39;)&lt;br /&gt;
, logrba = @GETENV ( &#39;GGHEADER&#39;, &#39;LOGRBA&#39;)&lt;br /&gt;
, logposition = @GETENV ( &#39;GGHEADER&#39;, &#39;LOGPOSITION&#39;)&lt;br /&gt;
, TRAILRBA = @GETENV(&#39;RECORD&#39;, &#39;FILERBA&#39;)&lt;br /&gt;
, TRAILSEQUENCE = @GETENV(&#39;RECORD&#39;, &#39;FILESEQNO&#39;)&lt;br /&gt;
, committimestamp = @GETENV ( &#39;GGHEADER&#39;, &#39;COMMITTIMESTAMP&#39;)&lt;br /&gt;
) );&lt;br /&gt;
&lt;br /&gt;
EFFECT ON REPLICAT&lt;br /&gt;
==================&lt;br /&gt;
&lt;br /&gt;
REPLICAT CRASHES&lt;br /&gt;
&lt;br /&gt;
ggserr.log&lt;br /&gt;
------------&lt;br /&gt;
&lt;br /&gt;
2014-08-09 13:23:05 &amp;nbsp;WARNING OGG-01151 &amp;nbsp;Oracle GoldenGate Delivery for Oracle, rphvn1d.prm: &amp;nbsp;Error mapping from SCOTT.JUNK to SCOTT1.JUNK.&lt;br /&gt;
2014-08-09 13:23:05 &amp;nbsp;WARNING OGG-01003 &amp;nbsp;Oracle GoldenGate Delivery for Oracle, rphvn1d.prm: &amp;nbsp;Repositioning to rba 4260 in seqno 14.&lt;br /&gt;
2014-08-09 13:23:05 &amp;nbsp;ERROR &amp;nbsp; OGG-01296 &amp;nbsp;Oracle GoldenGate Delivery for Oracle, rphvn1d.prm: &amp;nbsp;Error mapping from SCOTT.JUNK to SCOTT1.JUNK.&lt;br /&gt;
2014-08-09 13:23:14 &amp;nbsp;ERROR &amp;nbsp; OGG-01668 &amp;nbsp;Oracle GoldenGate Delivery for Oracle, rphvn1d.prm: &amp;nbsp;PROCESS ABENDING.&lt;br /&gt;
&lt;br /&gt;
report file&lt;br /&gt;
-----------&lt;br /&gt;
2014-08-09 13:40:18 &amp;nbsp;WARNING OGG-06439 &amp;nbsp;No unique key is defined for table JUNK. All viable columns will be used to represent the key, but may not guarantee uniqueness. KEYCOLS may be used to define the key.&lt;br /&gt;
Using following columns in default map by name:&lt;br /&gt;
&amp;nbsp; COL1, COL2, COL3, COL4, COL5, COL6&lt;br /&gt;
Using the following key columns for target table SCOTT1.JUNK: COL1, COL2, COL3, COL4, COL5, COL6.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From above error message , it is clear that at replicat side since it does not see any PK (on the target)or KEYCOL defined (in replicat parameter file)&lt;br /&gt;
, it needs all the 6 columns in the trail file. But the trail file has before and after image for only first 4 columns (col1,col2.col3 as it is defined by supplemental logging and col4 as it was the changed column).&lt;br /&gt;
&lt;br /&gt;
So to remediate, temporarily add a PK to target-&lt;br /&gt;
SQL&amp;gt; alter table junk add constraint pk_junk primary key(col1);&lt;br /&gt;
&lt;br /&gt;
Table altered.&lt;br /&gt;
&lt;br /&gt;
And restart the replicat&lt;br /&gt;
&lt;br /&gt;
GGSCI (titan.gautham.com) 137&amp;gt; start rphvn1d&lt;br /&gt;
&lt;br /&gt;
Sending START request to MANAGER ...&lt;br /&gt;
REPLICAT RPHVN1D starting&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GGSCI (titan.gautham.com) 138&amp;gt; info all&lt;br /&gt;
&lt;br /&gt;
Program &amp;nbsp; &amp;nbsp; Status &amp;nbsp; &amp;nbsp; &amp;nbsp;Group &amp;nbsp; &amp;nbsp; &amp;nbsp; Lag at Chkpt &amp;nbsp;Time Since Chkpt&lt;br /&gt;
&lt;br /&gt;
MANAGER &amp;nbsp; &amp;nbsp; RUNNING &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
JAGENT &amp;nbsp; &amp;nbsp; &amp;nbsp;STOPPED &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
EXTRACT &amp;nbsp; &amp;nbsp; RUNNING &amp;nbsp; &amp;nbsp; XTHVN1D &amp;nbsp; &amp;nbsp; 00:00:09 &amp;nbsp; &amp;nbsp; &amp;nbsp;00:00:07 &lt;br /&gt;
REPLICAT &amp;nbsp; &amp;nbsp;RUNNING &amp;nbsp; &amp;nbsp; RPHVN1D &amp;nbsp; &amp;nbsp; 02:18:58 &amp;nbsp; &amp;nbsp; &amp;nbsp;00:00:02 &lt;br /&gt;
&lt;br /&gt;
--Check the data on the target&lt;br /&gt;
SQL&amp;gt; select * from junk;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; COL1 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL2 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL3 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL4 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL5 &amp;nbsp; &amp;nbsp; &amp;nbsp; COL6&lt;br /&gt;
---------- ---------- ---------- ---------- ---------- ----------&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;500 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;100&lt;br /&gt;
&lt;br /&gt;
Now since the testing is complete, get the source and target ready for the next testcase by dropping junk table at the source and make sure the DDL got replicated to target -&lt;br /&gt;
&lt;br /&gt;
source&lt;br /&gt;
--------&lt;br /&gt;
SQL&amp;gt; drop table junk;&lt;br /&gt;
&lt;br /&gt;
Table dropped.&lt;br /&gt;
&lt;br /&gt;
target&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; select * from junk;&lt;br /&gt;
select * from junk&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *&lt;br /&gt;
ERROR at line 1:&lt;br /&gt;
ORA-00942: table or view does not exist&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/2372819860919355717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2014/08/part-1-goldengate-supplemental-logging.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/2372819860919355717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/2372819860919355717'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2014/08/part-1-goldengate-supplemental-logging.html' title='Part 1 - Goldengate supplemental logging , keycols, logallsupcols testcase'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-2326256636437354822</id><published>2014-02-19T16:01:00.001-05:00</published><updated>2019-03-15T09:53:44.280-04:00</updated><title type='text'>GG Procedure calling</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--begin character setissue handler&lt;br /&gt;
--MAP HIGHERONE.tblemailqueue ,target HIGHERONE.tblemailqueue ,&lt;br /&gt;
--SQLEXEC(SPNAME higherone.p_string_transform,ID x,PARAMS(in_str=sbody),TRACE ALL),&lt;br /&gt;
--COLMAP(&lt;br /&gt;
--usedefaults,&lt;br /&gt;
--sbody=@getval(x.out_str));&lt;br /&gt;
--end character setissue handler&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/2326256636437354822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2014/02/gg-procedure-calling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/2326256636437354822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/2326256636437354822'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2014/02/gg-procedure-calling.html' title='GG Procedure calling'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-6252378641966217595</id><published>2014-01-07T22:06:00.003-05:00</published><updated>2015-03-11T11:49:38.841-04:00</updated><title type='text'>Convert Single Instance Database to Oracle RAC One Node Database / RAC 1 node database</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
I had the recent need to convert a single instance DB to a RAC 1-node. I haven&#39;t seen many documents&lt;br /&gt;
which talks about the steps involved As most docs focus on conversion from single instance to a regular RAC.&lt;br /&gt;
&lt;br /&gt;
In the past, I have used DBCA to create a 1-Node RAC and always used the &quot;Generate database creation scripts&quot; at the end. Then I have had manually edited the scripts generated to suit my purpose and this approach has served me very well as allowing dbca to create a DB directly has caused many unnecessary schemas to creep in.&lt;br /&gt;
&lt;br /&gt;
I drove into the scripts and to my best abilities, tried to reproduce what it does and have written the below blog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Briefly here are the steps to convert a single instance DB to 1 Node RAC.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;Before you start, ensure&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;+++++++++++++++++++++&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
I assume you just have single instance init.ora parameters enabled.&lt;br /&gt;
&lt;br /&gt;
No RAC init.ora parameters at this point should be enabled especially CLUSTER_DATABASE.&lt;br /&gt;
&lt;br /&gt;
You might want to consider setting the below init.ora parameters to valid ASM disk group&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;db_create_file_dest=&quot;+DATA_DEV&quot;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;db_recovery_file_dest=&quot;+FRA_DEV&quot;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Please make sure that your control files, data files, redo logs are already in ASM before you perform these steps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I also recommend that you use init.ora file which internally points to a spfile as shown below.&lt;br /&gt;
&lt;br /&gt;
Also make sure, you have x init.ora files (where x is the number of nodes)in each node&#39;s ORACLE_HOME/dbs directory&lt;br /&gt;
with the naming convention init&amp;lt;DB Name&amp;gt;_1.ora, init&amp;lt;DB Name&amp;gt;_2.ora, init&amp;lt;DB Name&amp;gt;_3.ora etc&lt;br /&gt;
&lt;br /&gt;
For example,since my setup is a 2-Node RAC, I have 2 init.ora files with the name init&amp;lt;DB Name&amp;gt;_1.ora and init&amp;lt;DB Name&amp;gt;_2.ora in&lt;br /&gt;
ORACLE_HOME/dbs directory of both the RAC nodes.&lt;br /&gt;
&lt;br /&gt;
$ cat initTESTDB_1.ora&lt;br /&gt;
SPFILE=&#39;+DATA_DEV/TESTDB/spfileTESTDB.ora&#39; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ cat initTESTDB_2.ora&lt;br /&gt;
SPFILE=&#39;+DATA_DEV/TESTDB/spfileTESTDB.ora&#39; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
My Oracle Home is /u02/app/oracle/product/11.2.0.4/db_1 and DB Name is TESTDB.&lt;br /&gt;
&lt;br /&gt;
The Grid Home is /u02/app/11.2.0/grid .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1)Create the password file if it does not exist (recommended) &amp;nbsp;on 1 node and copy it to other nodes.&lt;br /&gt;
Please note that there is NO suffix to password file name.&lt;br /&gt;
&lt;br /&gt;
/u02/app/oracle/product/11.2.0.4/db_1/bin/orapwd file=/u02/app/oracle/product/11.2.0.4/db_1/dbs/orapwTESTDB force=y&lt;br /&gt;
&lt;br /&gt;
Make the following change in your init.ora file(If using spfile perform an alter system set)&lt;br /&gt;
remote_login_passwordfile=exclusive&lt;br /&gt;
&lt;br /&gt;
Please shutdown the DB at this point.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2)This can be skipped if already performed(please note dbca automatically does it if you have ever created a DB on this&lt;br /&gt;
OH in the past) but again no harm in doing this again.&lt;br /&gt;
&lt;br /&gt;
/u02/app/11.2.0/grid/bin/setasmgidwrap o=/u02/app/oracle/product/11.2.0.4/db_1/bin/oracle&lt;br /&gt;
&lt;br /&gt;
3)Add the database to CRS.&lt;br /&gt;
&lt;br /&gt;
/u02/app/oracle/product/11.2.0.4/db_1/bin/srvctl add database -d TESTDB -o /u02/app/oracle/product/11.2.0.4/db_1 -p +DATA_DEV/TESTDB/spfileTESTDB.ora -n TESTDB -c RACONENODE -e node1,node2 -i TESTDB -a &quot;DATA_DEV,FRA_DEV&quot;&lt;br /&gt;
&lt;br /&gt;
Please pay particular attention to&lt;br /&gt;
(a)The option &quot;-c RACONENODE&quot;&lt;br /&gt;
(b)The places which will need you to plug in your ASM disk group.In my case , I have two of them called DATA_DEV,FRA_DEV&lt;br /&gt;
&lt;br /&gt;
(4) Add a service.&lt;br /&gt;
/u02/app/oracle/product/11.2.0.4/db_1/bin/srvctl add service -s TESTDB.gautham.com -d TESTDB -P BASIC&lt;br /&gt;
&lt;br /&gt;
(5)Disable the database&lt;br /&gt;
/u02/app/oracle/product/11.2.0.4/db_1/bin/srvctl disable database -d TESTDB&lt;br /&gt;
&lt;br /&gt;
(6)Startup the database normally via&lt;br /&gt;
&lt;br /&gt;
sqlplus &#39;/ as sysdba&#39;&lt;br /&gt;
startup&lt;br /&gt;
&lt;br /&gt;
(7) Add the redo log groups for thread 2.&lt;br /&gt;
&lt;br /&gt;
I assume that GROUP 1 and GROUP 2 are the only 2 groups in the single instance DB belonging to thread 1.By default, thread 1 should already exist. If there&lt;br /&gt;
are more than 2 groups in thread 1, then change the group name below accordingly .&lt;br /&gt;
&lt;br /&gt;
ALTER DATABASE ADD LOGFILE &lt;b&gt;THREAD 2&lt;/b&gt; GROUP 3 &amp;nbsp;SIZE 250m,&lt;br /&gt;
&amp;nbsp;GROUP 4 &amp;nbsp;SIZE 250m;&lt;br /&gt;
&lt;br /&gt;
ALTER DATABASE ENABLE PUBLIC THREAD 2;&lt;br /&gt;
&lt;br /&gt;
Repeat it with THREAD 3 , if it is a 3 node RAC and so on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(8) There is no need to add a 2nd Tablespace as this is a 1-Node RAC and only 1 instance will be acive at any point.&lt;br /&gt;
&lt;br /&gt;
(9) Set the 2 parameters in the spfile to&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ALTER SYSTEM SET &lt;span style=&quot;color: red;&quot;&gt;cluster_database=TRUE&lt;/span&gt; SCOPE=spfile;&lt;br /&gt;
ALTER SYSTEM SET&lt;span style=&quot;color: red;&quot;&gt; remote_listener=&#39;&amp;lt;scan name&amp;gt;:1521&#39; &lt;/span&gt;scope=spfile ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(10)Shutdown the DB via a normal &quot;shutdown immediate&quot; command.&lt;br /&gt;
&lt;br /&gt;
(11) /u02/app/oracle/product/11.2.0.4/db_1/bin/srvctl enable database -d TESTDB;&lt;br /&gt;
(12) /u02/app/oracle/product/11.2.0.4/db_1/bin/srvctl start database -d TESTDB;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/6252378641966217595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2014/01/convert-single-instance-database-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/6252378641966217595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/6252378641966217595'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2014/01/convert-single-instance-database-to.html' title='Convert Single Instance Database to Oracle RAC One Node Database / RAC 1 node database'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-2169745054274297080</id><published>2013-11-07T08:32:00.001-05:00</published><updated>2015-03-11T11:49:38.795-04:00</updated><title type='text'>Extraction of Grants from a schema</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
The following should be able to extract all the grants given from a particular schema to the other schemas.&lt;br /&gt;
&lt;br /&gt;
This is particular useful when you have a bunch of schemas (with cross grants) and you are planning to move schema by schema and then finally apply the grants when all schemas are moved over.&lt;br /&gt;
&lt;br /&gt;
expdp \&#39;/ as sysdba\&#39; schemas=scott dumpfile=scott_role.dmp nologfile=yes &amp;nbsp;include=owner_grant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
impdp \&#39;/ as sysdba\&#39; dumpfile=scott_role.dmp&amp;nbsp;sqlfile=scott_role.sql&amp;nbsp;nologfile=yes&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/2169745054274297080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2013/11/extraction-of-grants-from-schema.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/2169745054274297080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/2169745054274297080'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2013/11/extraction-of-grants-from-schema.html' title='Extraction of Grants from a schema'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-6330570257131323878</id><published>2013-11-07T08:30:00.000-05:00</published><updated>2015-03-11T11:49:38.843-04:00</updated><title type='text'>Script to monitor Alert log files for an Oracle Database</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Recently I was being asked to write a script to monitor the Oracle Alert Logs for &quot;ORA-&quot; errors and send out an automated email to the DBA team.&lt;br /&gt;
&lt;br /&gt;
Here are the challenges :&lt;br /&gt;
1.How do I make the script scan only the lines which were not scanned by the previous scan .&lt;br /&gt;
An other way to reframe the question - if scan x happened at 3pm, how do I ensure that the Scan (x+1) picked up only the new lines generated after 3pm. Should I store the time stamp of the last scan or should I store the high-water line count . I finally decided to go with the HWM line number.&lt;br /&gt;
&lt;br /&gt;
2.Also how do I deal when a alert log is recycled?Will my script be able to find out that alert log has been recycled and then automatically set by line HWM to start from line 1 of the new alert log.&lt;br /&gt;
Looks like checking the stored HWM line count and the current line count of the alert log would help me in finding this out .If the alert log line count is smaller than the stored HWM line count then it would be safe to assume the alert log was recycled. Again in extraordinary circumstances where an alert log was recycled and the subsequent script ran so late(say after a couple of weeks or so) that new alert log line count exceeded the stored HWM line count ,then my logic would make it skip the first stored HWM lines of the alert log for that particular run only (but then again regaing normal operations for the subsequent scans)but I choose to ignore this possibility as this is extremely very remote and even if so, only the first scan would fail to detect the ORA- errors.&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Alert Log Monitoring Script&lt;br /&gt;
#Usage: alert_monitor.sh&lt;br /&gt;
#Author:Gautham Chandrasekaran&lt;br /&gt;
#Version 1.0 06 NOVEMBER 2013&lt;br /&gt;
&lt;br /&gt;
EMAIL_LIST=gautha@hotmail.com&lt;br /&gt;
ALERT_LOG_FILE=/u01/app/oracle/diag/rdbms/prod/PROD_1/trace/alert_PROD_1.log&lt;br /&gt;
EMAIL_FILE=/tmp/alert_mail.log&lt;br /&gt;
&lt;br /&gt;
#Error out if Alert Log is missing&lt;br /&gt;
if [ &amp;nbsp;! -f $ALERT_LOG_FILE ] ; then&lt;br /&gt;
&amp;nbsp;echo &quot;**** $ALERT_LOG_FILE FILE MISSING FROM ALERT LOG MONITOR ******&quot; &amp;gt; $EMAIL_FILE&lt;br /&gt;
&amp;nbsp;cat $EMAIL_FILE|mailx -s &quot;Alert Log Errors&quot; $EMAIL_LIST&lt;br /&gt;
&amp;nbsp;exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ALERT_LOG_LINE_CNT_FILE=${ALERT_LOG_FILE}.ctr&lt;br /&gt;
&lt;br /&gt;
#First run of the script or somebody deleted it.Therefore start from zero.&lt;br /&gt;
if [ &amp;nbsp;! -f $ALERT_LOG_LINE_CNT_FILE ] ; then&lt;br /&gt;
echo 0 &amp;gt; $ALERT_LOG_LINE_CNT_FILE&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
STORED_LINE_CTR=`cat $ALERT_LOG_LINE_CNT_FILE`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ALERT_LOG_LINE_CTR=`cat $ALERT_LOG_FILE|wc -l`&lt;br /&gt;
&lt;br /&gt;
#check to see whether somebody has recycled alert log file.&lt;br /&gt;
#in this case the STORED_LINE_CTR will be higher than ALERT_LOG_LINE_CTR&lt;br /&gt;
#If so just reset STORED_LINE_CTR to 0.&lt;br /&gt;
if [ $ALERT_LOG_LINE_CTR -lt $STORED_LINE_CTR ] ; then&lt;br /&gt;
STORED_LINE_CTR=0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LINES_TO_MONITOR=`expr $ALERT_LOG_LINE_CTR - $STORED_LINE_CTR`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tail -n $LINES_TO_MONITOR $ALERT_LOG_FILE|grep -i &quot;ora-&quot; &amp;nbsp;&amp;gt; /tmp/alert_mail.log&lt;br /&gt;
&lt;br /&gt;
#Reset line number to ctr file to skip the scanned rows in the next run&lt;br /&gt;
echo $ALERT_LOG_LINE_CTR &amp;gt; $ALERT_LOG_LINE_CNT_FILE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Email only if the file is not empty&lt;br /&gt;
if [ -s $EMAIL_FILE ] ; then&lt;br /&gt;
&amp;nbsp;cat $EMAIL_FILE|mailx -s &quot;Alert Log Errors&quot; $EMAIL_LIST&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/6330570257131323878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2013/11/script-to-monitor-alert-log-files-for.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/6330570257131323878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/6330570257131323878'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2013/11/script-to-monitor-alert-log-files-for.html' title='Script to monitor Alert log files for an Oracle Database'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-4792064255270522357</id><published>2013-05-08T10:45:00.003-04:00</published><updated>2015-03-11T11:49:38.829-04:00</updated><title type='text'>ASM Persistent  Device Mapping for Oracle 11gR2 RAC for RHEL 6</title><content type='html'>Recently when I was setting up a RAC setup at home using some dell desktop servers , I hit a unique problem.&lt;br /&gt;
Before going into that , here was my setup details&lt;br /&gt;
&lt;br /&gt;
RAC Node Names : siddhu.gautham.com, surya.gautham.com (CentOS 6.4)&lt;br /&gt;
Openfiler : openfiler.gautham.com (Openfiler 2.3 or 2.4 (not sure) 32-bit) (ip 192.168.1.195(eth0),&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;192.168.2.195(eth1)) -&amp;gt;Used to provide shared storage to the RAC Nodes.&lt;br /&gt;
&lt;br /&gt;
The openfiler server was deployed to provide iscsi storage to the other RAC Nodes.&lt;br /&gt;
&lt;br /&gt;
After the install of the 3 servers and provisioning of the storage to the 2 RAC nodes, I reached a point where i needed to install the ASMLib libraries for device persistance. That is when I &amp;nbsp;realized that Oracle Corp had stopped supplying ASMLib packages starting RHEL 6.&lt;br /&gt;
&lt;br /&gt;
So now I had to look at other alternatives for device persistence.&lt;br /&gt;
&lt;br /&gt;
The below should tell you what I mean by device persistence&lt;br /&gt;
=========================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[root@siddhu by-path]# pwd&lt;br /&gt;
/dev/disk/by-path&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[root@siddhu by-path]# ls -lt |grep 192.168.2&lt;br /&gt;
&lt;br /&gt;
lrwxrwxrwx 1 root root &amp;nbsp;9 May &amp;nbsp;6 23:27 ip-192.168.2.195:3260-iscsi-iqn.2006-01.com.openfiler:racdb.crs1-lun-0 -&amp;gt; ../../sdb&lt;br /&gt;
lrwxrwxrwx 1 root root &amp;nbsp;9 May &amp;nbsp;6 23:27 ip-192.168.2.195:3260-iscsi-iqn.2006-01.com.openfiler:racdb.data1-lun-0 -&amp;gt; ../../sde&lt;br /&gt;
lrwxrwxrwx 1 root root &amp;nbsp;9 May &amp;nbsp;6 23:27 ip-192.168.2.195:3260-iscsi-iqn.2006-01.com.openfiler:racdb.fra1-lun-0 -&amp;gt; ../../sdc&lt;br /&gt;
&lt;br /&gt;
The reason I had to filter with 192.168.2 was because openfiler had 2 network interfaces and I want to use storage presented only via eth1 which was 192.168.2.195.&lt;br /&gt;
&lt;br /&gt;
The problem above is the crs lun is available as /dev/sdb, data lun as /dev/sde and fra lun is /dev/sdc.&lt;br /&gt;
The moment the system is rebooted this would change to a different mapping.&lt;br /&gt;
&lt;br /&gt;
Also if you go the other nac rode i.e. surya.gautham.com , you would see the above mappings as completely different i.e. CRS lun would not be presented as the same as /dev/sdb but as something else.&lt;br /&gt;
&lt;br /&gt;
Therefore what i needed was a reliable mapping like say /dev/asm-crs-disk1 which would always map to crs lun and &amp;nbsp;/dev/asm-data-disk1 which would map to data lun and so on across all nodes of the RAC.&lt;br /&gt;
&lt;br /&gt;
The way we get this is to use udev rules.&lt;br /&gt;
&lt;br /&gt;
Before you do this, please partition the the 3 devices above using fdisk command.&lt;br /&gt;
Create just 1 primary partition (I am not going to the details of this).&lt;br /&gt;
&lt;br /&gt;
fdisk /dev/sdb&lt;br /&gt;
fdisk /dev/sde&lt;br /&gt;
fdisk /dev/sdc&lt;br /&gt;
&lt;br /&gt;
Also perform partprobe on the other node to see the resulting /dev/sd[x]1 partition.&lt;br /&gt;
&lt;br /&gt;
PLEASE NOTE THAT I HAD TO REBOOT BOTH THE RAC NODES AND THERFORE THE MAPPING CHANGED FROM ABOVE.PLEASE DO NOT LET THE MISMATCH ABOVE AND BELOW CONFUSE YOU.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;From above we identified that /dev/sdd points to CRS in siddhu and /dev/sdc points to CRS in surya&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;[root@siddhu ~]# /sbin/scsi_id -g -u -d /dev/sdd&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;14f504e46494c45526834373035642d374d73772d794c386b&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot; /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;[root@surya iscsi]# /sbin/scsi_id -g -u -d /dev/sdc&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;14f504e46494c45526834373035642d374d73772d794c386b&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot; /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;The above shows that identifier is same irrespective of whether it is /dev/sdc(surya) or /dev/sdd(siddhu)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;and this identifier will always be the same for CRS.&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot; /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;For FRA&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;=======&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;[root@surya iscsi]#&amp;nbsp; /sbin/scsi_id -g -u -d /dev/sdf&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;14f504e46494c455252635354667a2d4a6153492d6c307a66&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot; /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;[root@siddhu ~]# /sbin/scsi_id -g -u -d /dev/sde&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;14f504e46494c455252635354667a2d4a6153492d6c307a66&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot; /&gt;
&lt;br style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot; /&gt;
&lt;br style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot; /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;For DATA&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;========&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;[root@siddhu ~]# /sbin/scsi_id -g -u -d /dev/sdf&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;14f504e46494c45523473334e397a2d70347a612d554a394f&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot; /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;[root@surya iscsi]# /sbin/scsi_id -g -u -d /dev/sdg&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;14f504e46494c45523473334e397a2d70347a612d554a394f&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot; /&gt;
&lt;br style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot; /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;vi /etc/udev/rules.d/99-oracle-asmdevices.rules&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot; /&gt;
&lt;br style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot; /&gt;
&lt;br style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot; /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;KERNEL==&quot;sd?1&quot;, BUS==&quot;scsi&quot;, PROGRAM==&quot;/sbin/scsi_id -g -u -d /dev/$parent&quot;, RESULT==&quot;14f504e46494c45526834373035642d374d73772d794c386b&quot;, NAME=&quot;asm-crs-disk1&quot;, OWNER=&quot;oracle&quot;, GROUP=&quot;dba&quot;, MODE=&quot;0660&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;KERNEL==&quot;sd?1&quot;, BUS==&quot;scsi&quot;, PROGRAM==&quot;/sbin/scsi_id -g -u -d /dev/$parent&quot;, RESULT==&quot;14f504e46494c455252635354667a2d4a6153492d6c307a66&quot;, NAME=&quot;asm-fra-disk1&quot;, OWNER=&quot;oracle&quot;, GROUP=&quot;dba&quot;, MODE=&quot;0660&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;KERNEL==&quot;sd?1&quot;, BUS==&quot;scsi&quot;, PROGRAM==&quot;/sbin/scsi_id -g -u -d /dev/$parent&quot;, RESULT==&quot;14f504e46494c45523473334e397a2d70347a612d554a394f&quot;, NAME=&quot;asm-data-disk1&quot;, OWNER=&quot;oracle&quot;, GROUP=&quot;dba&quot;, MODE=&quot;0660&quot;&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot; /&gt;
&lt;br style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot; /&gt;
&lt;br style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot; /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;After reboot&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;+++++++++++++&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot; /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;[root@surya dev]# (cd /dev/disk/by-path; ls -l *openfiler* |grep -i 192.168.2| awk &#39;{FS=&quot; &quot;; print $9 &quot; &quot; $10 &quot; &quot; $11}&#39;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;ip-192.168.2.195:3260-iscsi-iqn.2006-01.com.openfiler:racdb.crs1-lun-0 -&amp;gt; ../../sde&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;ip-192.168.2.195:3260-iscsi-iqn.2006-01.com.openfiler:racdb.crs1-lun-0-part1 -&amp;gt; ../../asm-crs-disk1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;ip-192.168.2.195:3260-iscsi-iqn.2006-01.com.openfiler:racdb.data1-lun-0 -&amp;gt; ../../sdg&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;ip-192.168.2.195:3260-iscsi-iqn.2006-01.com.openfiler:racdb.data1-lun-0-part1 -&amp;gt; ../../asm-data-disk1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;ip-192.168.2.195:3260-iscsi-iqn.2006-01.com.openfiler:racdb.fra1-lun-0 -&amp;gt; ../../sdc&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;ip-192.168.2.195:3260-iscsi-iqn.2006-01.com.openfiler:racdb.fra1-lun-0-part1 -&amp;gt; ../../asm-fra-disk1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;[root@surya dev]#&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot; /&gt;
&lt;br style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot; /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;[root@surya dev]# ls -lt /dev/*asm*&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;brw-rw---- 1 oracle dba 8, 65 May&amp;nbsp; 1 00:50 /dev/asm-crs-disk1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;brw-rw---- 1 oracle dba 8, 33 May&amp;nbsp; 1 00:50 /dev/asm-fra-disk1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;brw-rw---- 1 oracle dba 8, 97 May&amp;nbsp; 1 00:50 /dev/asm-data-disk1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;[root@surya dev]#&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/4792064255270522357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2013/05/asm-persistent-device-mapping-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/4792064255270522357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/4792064255270522357'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2013/05/asm-persistent-device-mapping-for.html' title='ASM Persistent  Device Mapping for Oracle 11gR2 RAC for RHEL 6'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-2650217065161068062</id><published>2013-03-04T09:54:00.003-05:00</published><updated>2015-03-11T11:49:38.811-04:00</updated><title type='text'>Restore and recover from cold backup using rman</title><content type='html'>Many a times before a application upgrade, we would like to take a cold backup of the database just to take care of some &quot;mess-up&quot; and would just want to restore it if something goes wrong.&lt;br /&gt;
&lt;br /&gt;
The following is the preferred way for me to take a RMAN cold backup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Take the BACKUP&lt;br /&gt;
===============&lt;br /&gt;
Put the DB in mount mode.&lt;br /&gt;
&lt;br /&gt;
rman target / nocatalog&amp;lt;&amp;lt;EOF&amp;gt;backup.log&lt;br /&gt;
&lt;br /&gt;
run{&lt;br /&gt;
allocate channel d1 &amp;nbsp;device type disk format &amp;nbsp;&#39;/oracle/arch/rmanbkp/HOMEDB_FULL_%d_%T_%U&#39;;&lt;br /&gt;
&lt;br /&gt;
backup as compressed backupset tag rman_backfulcold_HOMEDB database include current controlfile ;&lt;br /&gt;
}&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
Query from RMAN to see where the control file resides&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
list backup;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of Backup Sets&lt;br /&gt;
===================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BS Key &amp;nbsp;Type LV Size &amp;nbsp; &amp;nbsp; &amp;nbsp; Device Type Elapsed Time Completion Time&lt;br /&gt;
------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;
13 &amp;nbsp; &amp;nbsp; &amp;nbsp;Full &amp;nbsp; &amp;nbsp;39.13M &amp;nbsp; &amp;nbsp; DISK &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;00:00:06 &amp;nbsp; &amp;nbsp; 04-MAR-13 &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; BP Key: 13 &amp;nbsp; Status: AVAILABLE &amp;nbsp;Compressed: YES &amp;nbsp;Tag: RMAN_BACKFULCOLD_HOMEDB&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Piece Name: /oracle/arch/rmanbkp/HOMEDB_FULL_HOMEDB_20130304_0do3ltu7_1_1&lt;br /&gt;
&amp;nbsp; List of Datafiles in backup set 13&lt;br /&gt;
&lt;br /&gt;
..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
..&lt;br /&gt;
..&lt;br /&gt;
..&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Piece Name: /oracle/arch/rmanbkp/HOMEDB_FULL_HOMEDB_20130304_0no3ltuo_1_1&lt;br /&gt;
&amp;nbsp; List of Datafiles in backup set 23&lt;br /&gt;
&amp;nbsp; File LV Type Ckp SCN &amp;nbsp; &amp;nbsp;Ckp Time &amp;nbsp;Name&lt;br /&gt;
&amp;nbsp; ---- -- ---- ---------- --------- ----&lt;br /&gt;
&amp;nbsp; 28 &amp;nbsp; &amp;nbsp; &amp;nbsp;Full 301818 &amp;nbsp; &amp;nbsp; 04-MAR-13 /oracle/oradata02/HOMEDB/data/forumindextabspace01.dbf&lt;br /&gt;
&lt;br /&gt;
BS Key &amp;nbsp;Type LV Size &amp;nbsp; &amp;nbsp; &amp;nbsp; Device Type Elapsed Time Completion Time&lt;br /&gt;
------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;
24 &amp;nbsp; &amp;nbsp; &amp;nbsp;Full &amp;nbsp; &amp;nbsp;1.03M &amp;nbsp; &amp;nbsp; &amp;nbsp;DISK &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;00:00:01 &amp;nbsp; &amp;nbsp; 04-MAR-13 &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; BP Key: 24 &amp;nbsp; Status: AVAILABLE &amp;nbsp;Compressed: YES &amp;nbsp;Tag: RMAN_BACKFULCOLD_HOMEDB&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Piece Name: /oracle/arch/rmanbkp/HOMEDB_FULL_HOMEDB_20130304_0oo3ltup_1_1&lt;br /&gt;
&amp;nbsp; Control File Included: Ckp SCN: 301818 &amp;nbsp; &amp;nbsp; &amp;nbsp; Ckp time: 04-MAR-13&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
STEPS TO RESTORE&lt;br /&gt;
================&lt;br /&gt;
&lt;br /&gt;
startup nomount&lt;br /&gt;
&lt;br /&gt;
Restore the CONTROL FILE from the backup piece identified above.&lt;br /&gt;
&lt;br /&gt;
run&lt;br /&gt;
{&lt;br /&gt;
allocate channel c1 device type disk format &#39;/oracle/arch/rmanbkp/HOMEDB_FULL_%d_%T_%U&#39;;&lt;br /&gt;
restore controlfile from &#39;/oracle/arch/rmanbkp/HOMEDB_FULL_HOMEDB_20130304_0oo3ltup_1_1&#39;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
alter database mount;&lt;br /&gt;
&lt;br /&gt;
run&lt;br /&gt;
{&lt;br /&gt;
allocate channel c1 device type disk format &#39;/oracle/arch/rmanbkp/HOMEDB_FULL_%d_%T_%U&#39;;&lt;br /&gt;
restore database from tag=&#39;rman_backfulcold_HOMEDB&#39;;&lt;br /&gt;
}</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/2650217065161068062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2013/03/restore-and-recover-from-cold-backup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/2650217065161068062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/2650217065161068062'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2013/03/restore-and-recover-from-cold-backup.html' title='Restore and recover from cold backup using rman'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-7119925375802074148</id><published>2013-02-19T15:48:00.001-05:00</published><updated>2015-03-11T11:49:38.859-04:00</updated><title type='text'>Data Guard Catch-Up via RMAN using TSM</title><content type='html'>Many a times, we DBA&#39;s are faced with an issue where the DG has been out of synch with the Production DB for quite a long time.&lt;br /&gt;
Certain examples are we ran an overnight rman duplicate script to create a standy database and by the time we got to look at the status of the restore, hundreds of logs had been generated in the primary .&lt;br /&gt;
In all probability, in a typical production environment, a hourly RMAN archivelog backup and delete script would have run and deleted the archivelogs (after backing it up, obviously).&lt;br /&gt;
&lt;br /&gt;
So to help the standby get in synch with the primary , we have to either put the standby in recover mode and restore the archivelogs on production hoping the FAL services would pick it up.&lt;br /&gt;
&lt;br /&gt;
Once we realize that the archivelogs number in 100&#39;s or 1000&#39;s, this task becomes nearly impossible with the risk of endangering the archive destination on the primary getting filled up.&lt;br /&gt;
&lt;br /&gt;
I have expalined a method below uses the same RMAN technique to get the standby in synch with the primary.&lt;br /&gt;
The example uses TSM (Tivoli) as the storage medium and please change accordingly as per your environment&#39;s tape set up.&lt;br /&gt;
&lt;br /&gt;
For TSM, we need to copy over the primary node&#39;s TSM password file to the standby to ensure that the auxiliary channel can access the tape backups created from the primary database&#39;s node.Along with it , we need to ensure that both primary and standby are talking to the same TSM server.&lt;br /&gt;
&lt;br /&gt;
At the Standby, Cancel the Managed recover process if running and ensure that the database is in mount mode.&lt;br /&gt;
&lt;br /&gt;
alter database recover managed standby database cancel;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) &amp;nbsp; Do the following in Primary.&lt;br /&gt;
&lt;br /&gt;
create a file called recoverystandby.cmd, with the following contents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#++++++++++++++++++++++++++++++++++&lt;br /&gt;
#++RECOVERYSTANDBY.CMD++++++++++&lt;br /&gt;
#++++++++++++++++++++++++++++++++++&lt;br /&gt;
backup archivelog all not backed up;&lt;br /&gt;
run {&lt;br /&gt;
#Adjust it as per the archivelogs already present in standby&lt;br /&gt;
set until time &#39;sysdate-(1/24)&#39;;&lt;br /&gt;
#Make sure below /tmp/tdpo.opt file is available in standby database.&lt;br /&gt;
allocate auxiliary channel d2 type &#39;sbt_tape&#39; parms &#39;ENV=(TDPO_OPTFILE=/tmp/tdpo.opt)&#39;;&lt;br /&gt;
recover standby clone database delete archivelog;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
2)Do the following in Standby.&lt;br /&gt;
&lt;br /&gt;
This is to make sure that the standby can access the tape backups.&lt;br /&gt;
******These steps are specific to TSM******&lt;br /&gt;
Make sure /tmp/tdpo.opt file is available. This TDPO file is used by auxiliary channel in step 1.&lt;br /&gt;
&lt;br /&gt;
&amp;gt; cat /tmp/tdpo.opt&lt;br /&gt;
DSMI_LOG &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/tmp&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;DSMI_ORC_CONFIG &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /tmp/dsm.opt&lt;/span&gt;&lt;br /&gt;
TDPO_FS &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xxx&lt;br /&gt;
TDPO_NUM_BUFFERS &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;10&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;TDPO_NODE &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; prmyserver&lt;/span&gt;&lt;br /&gt;
TDPO_OWNER &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oracle&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;TDPO_PSWDPATH &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /tmp&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Make sure /tmp/dsm.opt file is present referred above as DSMI_ORC_CONFIG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;gt; cat /tmp/dsm.opt&lt;br /&gt;
SERVERNAME &amp;lt;tsm server&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure you have physically copied the primary node&#39;s TSM password file. The name of the password file would be TDPO.&amp;lt;tdpo_node&amp;gt; i.e. TDPO.prmyserver and should be available under&lt;br /&gt;
TDPO_PSWDPATH path.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) Do the following in Primary&lt;br /&gt;
&lt;br /&gt;
Set environmental variables to connect to local primary database&lt;br /&gt;
export ORACLE_HOME=&#39;&amp;lt;path of ORACLE_HOME&amp;gt;&#39;&lt;br /&gt;
export ORACLE_SID=&#39;&amp;lt;SID of Primary Database&amp;gt;&#39;&lt;br /&gt;
export PATH=$ORACLE_HOME/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
Run the above command via RMAN as&lt;br /&gt;
&lt;br /&gt;
rman target / auxiliary sys/manager@&amp;lt;standby database&amp;gt; catalog rman/rman@&amp;lt;rman db&amp;gt;&amp;nbsp;cmdfile=recoverstandby.cmd log=catchup_stdby.log&lt;br /&gt;
&lt;br /&gt;
Please allow the above script to run and this script should allow the standby to catch up with the primary without the need to restore the files into primary.&lt;br /&gt;
&lt;br /&gt;
Once it has caught up, you can put the primary back into managed recovery process.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Please note that there is one more way to achieve the same thing using backup as incremental via rman like&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; line-height: 18px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;backup incremental from scn &amp;lt;scn number&amp;gt; database . You can look at other blogs to read more about this and decide for yourself which one to use. If there is a missing archivelog , then you cannot use my method and will be better off using the other approach I just mentioned above.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #666666; font-family: &#39;courier new&#39;; font-size: 13px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #666666; font-family: &#39;courier new&#39;; font-size: 13px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/7119925375802074148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2013/02/data-guard-catch-up-via-rman-using-tsm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/7119925375802074148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/7119925375802074148'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2013/02/data-guard-catch-up-via-rman-using-tsm.html' title='Data Guard Catch-Up via RMAN using TSM'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-431354694872207214</id><published>2013-01-31T19:37:00.004-05:00</published><updated>2015-03-11T11:49:38.826-04:00</updated><title type='text'>Golden Gate Add SCHEMATRANDATA Verification</title><content type='html'>I just conjured up a small script to verify whether the GG Command&lt;br /&gt;
&lt;br /&gt;
add schematrandata &amp;lt;schema name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
worked correctly.&lt;br /&gt;
By the way, please keep in mind that once you executed the above command, all future objects would be automatically covered. That is why I highly recommend setting logging at the schema level rather than the individual table level.&lt;br /&gt;
&lt;br /&gt;
Basically the below query should be able to give you info&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif;&quot;&gt;select * from table(logmnr$always_suplog_columns(&#39;name of the schema in upper case&#39;,&#39;table name in upper case&#39;));&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Tahoma, Verdana, Helvetica, sans-serif;&quot;&gt;Please be aware that dba_log_groups will not show any entry if you had added schema level logging . Only if you had added logging at a table level using add trandata would there be an entry in dba_log_groups.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Tahoma, Verdana, Helvetica, sans-serif;&quot;&gt;A small pl/sql snippet to go through an entire schema and report back is below&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;declare&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;l_schema varchar2(20) := upper(&#39;schema name&#39;) ;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;l_table_name varchar2(200);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;x_ctr number(5);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;x_refcur sys_refcursor;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;begin&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;open x_refcur for &#39;select table_name from dba_tables where owner=&#39;&#39;&#39;||l_schema||&#39;&#39;&#39; order by table_name&#39;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;loop&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;fetch x_refcur into l_table_name;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;exit when x_refcur%NOTFOUND;&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot; /&gt;
&lt;span style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;execute immediate &#39;select count(*) from table(logmnr$always_suplog_columns(:1,:2))&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;into x_ctr using l_schema,l_table_name ;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;if x_ctr =0 then&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot; /&gt;
&lt;span style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;dbms_output.put_line(&#39;Analyzing &#39;||l_table_name||&#39; ..**ERROR**&#39;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;else&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;dbms_output.put_line(&#39;Analyzing &#39;||l_table_name||&#39; ..OK&#39;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;end if;&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot; /&gt;
&lt;span style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;end loop;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;end;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fafafa; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;/&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/431354694872207214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2013/01/golden-gate-add-schematrandata.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/431354694872207214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/431354694872207214'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2013/01/golden-gate-add-schematrandata.html' title='Golden Gate Add SCHEMATRANDATA Verification'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-6240104459230251721</id><published>2012-12-11T20:28:00.001-05:00</published><updated>2015-03-11T11:49:38.838-04:00</updated><title type='text'>Oracle Pipelined Functions</title><content type='html'>&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;Let
me give you a typical scenario which we encounter everday.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;Say
we have a table called employee and the fields are (or rather the most
significant fields for our discussion) are&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;ename
and dno .&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;SQL&amp;gt;
select substr(ename,1,25),dno from employee;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;SUBSTR(ENAME,1,25)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
DNO&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;-------------------------
----------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;JACK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
10&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;JILL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
10&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;MASON&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
20&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;MARK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
20&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;you
are being asked to write a small pl/sql code to return the enames of a
particular department, the normal way we would &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;do
is to write a procedure like&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;CREATE
OR REPLACE TYPE vcarray AS TABLE OF VARCHAR2(500)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;CREATE
or replace procedure p1(dno_p IN number,ename_p OUT vcarray)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;IS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;CURSOR
c1 is select ename from employee where dno=dno_p;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;i
number:=1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;BEGIN&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;ename_p
:= vcarray();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;for
c2 in c1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;loop&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;ename_p.extend;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;ename_p(ename_p.count)
:=c2.ename ;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;i:=i+1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;end
loop;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;END;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;To
call the above procedure , we are forced to write a pl/sql block like&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;SQL&amp;gt;
declare&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;
2&amp;nbsp; ename vcarray ;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;
3&amp;nbsp; begin&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;
4&amp;nbsp; p1(10,ename);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;
5&amp;nbsp; for i in 1..ename.COUNT&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;
6&amp;nbsp; &lt;st1:place w:st=&quot;on&quot;&gt;LOOP&lt;/st1:place&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;
7&amp;nbsp; dbms_output.put_line(ename(i));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;
8&amp;nbsp; end loop;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;
9&amp;nbsp; end;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;10&amp;nbsp;
/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;JACK&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;JILL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;PL/SQL
procedure successfully completed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;So
in the above example we are forced to write a pl/sql block to read from the
procedure.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;The
below example uses pipelined functions which will make it possibel for the same&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;job
to be done via a function (eventhough we think of function as only returning&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;a
single value) and the icing on the cake is the function can be referenced as a
simple select&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;from
sqlplus prompt itself....&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;CREATE
OR REPLACE TYPE vcarray AS TABLE OF VARCHAR2(500)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;CREATE
OR REPLACE FUNCTION get_employees (dno_p IN number)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;RETURN
vcarray&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;PIPELINED&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;AS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;CURSOR
c1 is select ename from employee where dno=dno_p;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;BEGIN&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;FOR
c2 in c1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;st1:place w:st=&quot;on&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;LOOP&lt;/span&gt;&lt;/st1:place&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;
pipe row (c2.ename);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;END
&lt;st1:place w:st=&quot;on&quot;&gt;LOOP&lt;/st1:place&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;RETURN;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;END;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;SQL&amp;gt;
select * from TABLE (get_employees(10) );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;COLUMN_VALUE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;----------------------------------------------------------------------------------------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;JACK&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;JILL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/6240104459230251721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2012/12/oracle-pipelined-functions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/6240104459230251721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/6240104459230251721'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2012/12/oracle-pipelined-functions.html' title='Oracle Pipelined Functions'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-8099549673713203082</id><published>2012-06-08T14:32:00.002-04:00</published><updated>2015-03-11T11:49:38.870-04:00</updated><title type='text'>Script to monitor and restart failed GoldenGate Processes</title><content type='html'>The below script should restart aborted GG processes.&lt;br /&gt;
The script is capable of restarting Manager, Extract and Replicat Processes.&lt;br /&gt;
&lt;br /&gt;
The logic is it just looks at info all command (of ggsci) and attempts to restart any process which it sees as not RUNNING .&lt;br /&gt;
A non-running process can be either in STOPPED or ABORTED status.&lt;br /&gt;
&lt;br /&gt;
It is intelligent enough to find out whether the stopped process is an extract, replicat or manager.&lt;br /&gt;
&lt;br /&gt;
Please note I have used a script call ed /usr/local/bin/sid to set the env parameters. This script can be replaced by your own script or by setting env variables manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#!/bin/ksh&lt;br /&gt;
. /usr/local/bin/sid xxx&lt;br /&gt;
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH&lt;br /&gt;
export GG_HOME=/oracle/software/goldengate/11.1.1.1.2&lt;br /&gt;
export PATH=$PATH:.&lt;br /&gt;
MSGFILE=&quot;/tmp/mail.txt&quot;&lt;br /&gt;
EMAILFILE=&quot;/tmp/email.txt&quot;&lt;br /&gt;
SERVERNAME=`hostname`&lt;br /&gt;
rm -rf $EMAILFILE 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cd $GG_HOME&lt;br /&gt;
ggsci &amp;lt;&amp;lt;EOF &amp;gt;$MSGFILE&lt;br /&gt;
info all&lt;br /&gt;
exit&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
ERROR_CTR=`cat $MSGFILE|grep -v -i &quot;running&quot;|wc -l`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#following loop is for manager process restart&lt;br /&gt;
&lt;br /&gt;
if&amp;nbsp; [ $ERROR_CTR -ne 0 ] ; then&lt;br /&gt;
&lt;br /&gt;
cat $MSGFILE|grep -v -i &quot;running&quot;|grep -i &quot;manager&quot;|while read LINE ;do&lt;br /&gt;
&lt;br /&gt;
echo &quot;Manager has aborted &quot;&amp;gt;&amp;gt;$EMAILFILE&lt;br /&gt;
echo &quot;Attempting to restart&quot; &amp;gt;&amp;gt;$EMAILFILE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cd $GG_HOME&lt;br /&gt;
ggsci &amp;lt;&amp;lt;EOF &amp;gt;&amp;gt;$EMAILFILE&lt;br /&gt;
start mgr&lt;br /&gt;
info all&lt;br /&gt;
exit&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
done&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
#following loop is for extract process restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if&amp;nbsp; [ $ERROR_CTR -ne 0 ] ; then&lt;br /&gt;
&lt;br /&gt;
cat $MSGFILE|grep -v -i &quot;running&quot;|grep -i &quot;extract&quot;|awk &#39;&amp;nbsp; {print $3 } &#39;|while read LINE ;do&lt;br /&gt;
&lt;br /&gt;
echo &quot;EXTRACT $LINE has aborted &quot;&amp;gt;&amp;gt;$EMAILFILE&lt;br /&gt;
echo &quot;attempting to restart&quot; &amp;gt;&amp;gt;$EMAILFILE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cd $GG_HOME&lt;br /&gt;
ggsci &amp;lt;&amp;lt;EOF &amp;gt;&amp;gt;$EMAILFILE&lt;br /&gt;
start extract $LINE&lt;br /&gt;
info all&lt;br /&gt;
exit&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
done&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
#following loop is for replicat process restart&lt;br /&gt;
&lt;br /&gt;
if&amp;nbsp; [ $ERROR_CTR -ne 0 ] ; then&lt;br /&gt;
&lt;br /&gt;
cat $MSGFILE|grep -v -i &quot;running&quot;|grep -i &quot;replicat&quot;|awk &#39;&amp;nbsp; {print $3 } &#39;|while read LINE ;do&lt;br /&gt;
&lt;br /&gt;
echo &quot;REPLICAT $LINE has aborted &quot;&amp;gt;&amp;gt;$EMAILFILE&lt;br /&gt;
echo &quot;Attempting to restart&quot; &amp;gt;&amp;gt;$EMAILFILE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cd $GG_HOME&lt;br /&gt;
ggsci &amp;lt;&amp;lt;EOF &amp;gt;&amp;gt;$EMAILFILE&lt;br /&gt;
start replicat $LINE&lt;br /&gt;
info all&lt;br /&gt;
exit&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
done&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[ -f $EMAILFILE ] &amp;amp;&amp;amp; cat $EMAILFILE|mailx -s &quot;Extract died on $SERVERNAME&quot; gautha@xxx.xxx</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/8099549673713203082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2012/06/script-to-monitor-and-restart-failed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/8099549673713203082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/8099549673713203082'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2012/06/script-to-monitor-and-restart-failed.html' title='Script to monitor and restart failed GoldenGate Processes'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-6474845339970254352</id><published>2012-06-08T10:55:00.001-04:00</published><updated>2015-03-11T11:49:38.848-04:00</updated><title type='text'>Accurately predicting the redo log sequence needed for a Golden Gate Restart</title><content type='html'>Bounded Recovery is set to 20 Minutes.&lt;br /&gt;
&lt;br /&gt;
1. Started an active transaction which runs for 5 hours at 8.11AM.&lt;br /&gt;
The log sequence at the start of transaction is 16230 (please see below logfile).&lt;br /&gt;
&lt;br /&gt;
jupiter&amp;lt;oracle&amp;gt;/tmp&amp;gt; cat test.sh&lt;br /&gt;
#!/bin/ksh&lt;br /&gt;
. /usr/local/bin/sid athenadv&lt;br /&gt;
sqlplus ops\$gchandra/test123 &amp;lt;&amp;lt; EOF &amp;gt;test.log&lt;br /&gt;
&lt;br /&gt;
select max(sequence#) from v\$log;&lt;br /&gt;
select to_char(sysdate,&#39;dd-mon-yyyy hh24:mi:ss&#39;) from dual;&lt;br /&gt;
drop table testtab;&lt;br /&gt;
create table testtab (col1 number);&lt;br /&gt;
insert into testtab values(1);&lt;br /&gt;
execute dbms_lock.sleep(18000);&lt;br /&gt;
commit;&lt;br /&gt;
exit&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
Run the above script(in the background)&lt;br /&gt;
nohup ./test.sh &amp;amp; &lt;br /&gt;
&lt;br /&gt;
Now check the spool file created.....&lt;br /&gt;
&lt;br /&gt;
jupiter&amp;lt;oracle&amp;gt;/tmp&amp;gt; cat test.log&lt;br /&gt;
&lt;br /&gt;
SQL*Plus: Release 11.2.0.3.0 Production on Fri Jun 8 08:11:22 2012&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 1982, 2011, Oracle.&amp;nbsp; All rights reserved.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Connected to:&lt;br /&gt;
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production&lt;br /&gt;
With the Partitioning, Automatic Storage Management, OLAP, Data Mining&lt;br /&gt;
and Real Application Testing options&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; SQL&amp;gt; &lt;br /&gt;
MAX(SEQUENCE#)&lt;br /&gt;
--------------&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16230&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; &lt;br /&gt;
TO_CHAR(SYSDATE,&#39;DD-MON-YYYYH&lt;br /&gt;
-----------------------------&lt;br /&gt;
08-jun-2012 08:11:22&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; &lt;br /&gt;
Table dropped.&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; &lt;br /&gt;
Table created.&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; &lt;br /&gt;
1 row created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2.&lt;br /&gt;
&lt;br /&gt;
At around 10am, I stop the extract process.&lt;br /&gt;
GGSCI (jupiter) 2&amp;gt; stop ext xtathdv&lt;br /&gt;
&lt;br /&gt;
Sending STOP request to EXTRACT XTATHDV ...&lt;br /&gt;
Request processed.&lt;br /&gt;
&lt;br /&gt;
3. Check the BR checkpoint from ggserr.log and also from BR directory.&lt;br /&gt;
It hapenned at around 9.42am.&lt;br /&gt;
&lt;br /&gt;
2012-06-08 09:42:24&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01738&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY: CHECKPOINT: for object pool 1: p28822_extr: start=SeqNo: 16293, RBA: 75422736, SCN: 1932.1174983728 (8299051799600), Timestamp: 2012-06-08 09:42:23.000000, end=SeqNo: 16293, RBA: 75423744, SCN: 1932.1174983728 (8299051799600), Timestamp: 2012-06-08 09:42:23.000000.&lt;br /&gt;
&lt;br /&gt;
jupiter&amp;lt;oracle&amp;gt;/oracle/software/goldengate/11.1.1.1.2/BR/XTATHDV&amp;gt; ls -lt&lt;br /&gt;
total 88&lt;br /&gt;
-rw-rw----&amp;nbsp;&amp;nbsp; 1 oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dba&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 65536 Jun&amp;nbsp; 8 09:42 CP.XTATHDV.000000039&lt;br /&gt;
-rw-rw----&amp;nbsp;&amp;nbsp; 1 oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dba&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 65536 Jun&amp;nbsp; 8 09:22 PO.XTATHDV.0000007.0000000&lt;br /&gt;
-rw-rw----&amp;nbsp;&amp;nbsp; 1 oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dba&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 65536 Jun&amp;nbsp; 8 08:42 PO.XTATHDV.0000006.0000000&lt;br /&gt;
drwxrwxr-x&amp;nbsp;&amp;nbsp; 2 oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dba&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 96 Jun&amp;nbsp; 7 15:54 stale&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4.Check the archive log sequence at around 9.42am.&lt;br /&gt;
&lt;br /&gt;
select sequence# from v$archived_log&lt;br /&gt;
&amp;nbsp; where to_date(&#39;08-jun-2012 09:42:00&#39;,&#39;dd-mon-yyyy hh24:mi:ss&#39;) between first_time and next_time;&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; select sequence# from v$archived_log&lt;br /&gt;
&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; where to_date(&#39;08-jun-2012 09:42:00&#39;,&#39;dd-mon-yyyy hh24:mi:ss&#39;) between first_time and next_time;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;SEQUENCE#&lt;br /&gt;
----------&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16293&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
This means I need only archive log from sequence 16293 when I restart GG extract process.&lt;br /&gt;
I should not need from sequence 16230(log sequence # from start of transaction).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5.Perform a few log switches and delete all archive files from RMAN.&lt;br /&gt;
SQL&amp;gt; alter system switch logfile;&lt;br /&gt;
&lt;br /&gt;
System altered.&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; /&lt;br /&gt;
&lt;br /&gt;
System altered.&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; /&lt;br /&gt;
&lt;br /&gt;
System altered.&lt;br /&gt;
&lt;br /&gt;
Run the following from rman -&lt;br /&gt;
&lt;br /&gt;
run {&lt;br /&gt;
allocate channel c1 type &#39;sbt_tape&#39; parms &#39;ENV=(TDPO_OPTFILE=/oracle/admin/backup/config/jupiter_tdpo.opt)&#39;;&lt;br /&gt;
backup&lt;br /&gt;
filesperset = 4&lt;br /&gt;
format &#39;al_%d%s%t_%U&#39;&lt;br /&gt;
archivelog until time &#39;SYSDATE&#39;&lt;br /&gt;
delete all input;&lt;br /&gt;
sql &#39;alter system archive log current&#39;;&lt;br /&gt;
release channel c1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6.Kill the test.sh script.&lt;br /&gt;
&lt;br /&gt;
jupiter&amp;lt;oracle&amp;gt;/oracle/arch/athenadv/arch&amp;gt; ps -ef|grep test.sh&lt;br /&gt;
&amp;nbsp; oracle&amp;nbsp; 5072&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp; 0 08:11:22 ?&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:00 /bin/ksh ./test.sh&lt;br /&gt;
&amp;nbsp; oracle 15014 26448&amp;nbsp; 0 10:16:01 pts/6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:00 grep test.sh&lt;br /&gt;
jupiter&amp;lt;oracle&amp;gt;/oracle/arch/athenadv/arch&amp;gt; ps -ef|grep sqlplus&lt;br /&gt;
&amp;nbsp; oracle&amp;nbsp; 5077&amp;nbsp; 5072&amp;nbsp; 0 08:11:22 ?&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:00 sqlplus ops$gchandra/test123&lt;br /&gt;
&amp;nbsp; oracle 15018 26448&amp;nbsp; 1 10:16:08 pts/6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:00 grep sqlplus&lt;br /&gt;
jupiter&amp;lt;oracle&amp;gt;/oracle/arch/athenadv/arch&amp;gt; kill -9 5077&lt;br /&gt;
jupiter&amp;lt;oracle&amp;gt;/oracle/arch/athenadv/arch&amp;gt; &lt;br /&gt;
jupiter&amp;lt;oracle&amp;gt;/oracle/arch/athenadv/arch&amp;gt; ps -ef|grep test.sh&lt;br /&gt;
&amp;nbsp; oracle 16879 26448&amp;nbsp; 1 10:16:27 pts/6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:00 grep test.sh&lt;br /&gt;
jupiter&amp;lt;oracle&amp;gt;/oracle/arch/athenadv/arch&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7.&lt;br /&gt;
&lt;br /&gt;
GGSCI (jupiter) 2&amp;gt; start ext xtathdv&lt;br /&gt;
&lt;br /&gt;
Sending START request to MANAGER ...&lt;br /&gt;
EXTRACT XTATHDV starting&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2012-06-08 10:44:42&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-00987&amp;nbsp; Oracle GoldenGate Command Interpreter for Oracle:&amp;nbsp; GGSCI command (oracle): start ext xtathdv.&lt;br /&gt;
2012-06-08 10:44:42&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-00963&amp;nbsp; Oracle GoldenGate Manager for Oracle, mgr.prm:&amp;nbsp; Command received from GGSCI on host 10.64.17.19 (START EXTRACT XTATHDV ).&lt;br /&gt;
2012-06-08 10:44:42&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-00975&amp;nbsp; Oracle GoldenGate Manager for Oracle, mgr.prm:&amp;nbsp; EXTRACT XTATHDV starting.&lt;br /&gt;
2012-06-08 10:44:42&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-00992&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; EXTRACT XTATHDV starting.&lt;br /&gt;
2012-06-08 10:44:43&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01639&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY:&amp;nbsp; ACTIVE: for object pool 1: p28822_extr.&lt;br /&gt;
2012-06-08 10:44:43&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01640&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY: recovery start XID: 0.0.0.&lt;br /&gt;
2012-06-08 10:44:43&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01641&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY: recovery start position: SeqNo: 16293, RBA: 75422736, SCN: 1932.1174983728 (8299051799600), Timestamp: 2012-06-08 09:42:23.000000.&lt;br /&gt;
2012-06-08 10:44:43&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01642&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY: recovery end position: SeqNo: 16293, RBA: 75423744, SCN: 1932.1174983728 (8299051799600), Timestamp: 2012-06-08 09:42:23.000000.&lt;br /&gt;
2012-06-08 10:44:43&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01579&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY: VALID BCP: CP.XTATHDV.000000039.&lt;br /&gt;
2012-06-08 10:44:43&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01629&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY: PERSISTED OBJECTS RECOVERED: 2.&lt;br /&gt;
2012-06-08 10:44:45&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01513&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; Positioning to Sequence 16293, RBA 75422736.&lt;br /&gt;
2012-06-08 10:46:12&amp;nbsp; ERROR&amp;nbsp;&amp;nbsp; OGG-00446&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; Could not find archived log for sequence 16293 thread 1 under default destinations SQL &amp;lt;SELECT&amp;nbsp; name&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM v$archived_log&amp;nbsp;&amp;nbsp; WHERE sequence# = :ora_seq_no AND&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; thread# = :ora_thread AND&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resetlogs_id = :ora_resetlog_id AND&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; archived = &#39;YES&#39; AND&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deleted = &#39;NO&amp;gt;, error retrieving redo file name for sequence 16293, archived = 1, use_alternate = 0Not able to establish initial position for sequence 16293, rba 75422736.&lt;br /&gt;
2012-06-08 10:46:12&amp;nbsp; ERROR&amp;nbsp;&amp;nbsp; OGG-01668&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; PROCESS ABENDING.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The above log extract says that it reads from 16293. That is as per my expectation.&lt;br /&gt;
&lt;br /&gt;
Since 16293 is not present in archive destination, the GG process abends as expected.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8.Restore the archive log from rman&lt;br /&gt;
&lt;br /&gt;
RMAN&amp;gt; RESTORE ARCHIVELOG FROM SEQUENCE 16293;&lt;br /&gt;
&lt;br /&gt;
Starting restore at 08-Jun-2012&lt;br /&gt;
allocated channel: ORA_SBT_TAPE_1&lt;br /&gt;
channel ORA_SBT_TAPE_1: SID=112 device type=SBT_TAPE&lt;br /&gt;
channel ORA_SBT_TAPE_1: Data Protection for Oracle: version 5.5.2.0&lt;br /&gt;
allocated channel: ORA_DISK_1&lt;br /&gt;
channel ORA_DISK_1: SID=594 device type=DISK&lt;br /&gt;
&lt;br /&gt;
archived log for thread 1 with sequence 16348 is already on disk as file /oracle/arch/athenadv/arch/1_16348_783838261.dbf&lt;br /&gt;
archived log for thread 1 with sequence 16349 is already on disk as file /oracle/arch/athenadv/arch/1_16349_783838261.dbf&lt;br /&gt;
..&lt;br /&gt;
..&lt;br /&gt;
..&lt;br /&gt;
&lt;br /&gt;
9. Restart the GG extract process and observe the logfile&lt;br /&gt;
&lt;br /&gt;
GGSCI (jupiter) 3&amp;gt; start ext xtathdv&lt;br /&gt;
&lt;br /&gt;
Sending START request to MANAGER ...&lt;br /&gt;
EXTRACT XTATHDV starting&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observe the logfile&lt;br /&gt;
&lt;br /&gt;
2012-06-08 10:51:46&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-00975&amp;nbsp; Oracle GoldenGate Manager for Oracle, mgr.prm:&amp;nbsp; EXTRACT XTATHDV starting.&lt;br /&gt;
2012-06-08 10:51:46&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-00992&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; EXTRACT XTATHDV starting.&lt;br /&gt;
2012-06-08 10:51:46&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01639&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY:&amp;nbsp; ACTIVE: for object pool 1: p28822_extr.&lt;br /&gt;
2012-06-08 10:51:46&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01640&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY: recovery start XID: 0.0.0.&lt;br /&gt;
2012-06-08 10:51:46&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01641&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY: recovery start position: SeqNo: 16293, RBA: 75422736, SCN: 1932.1174983728 (8299051799600), Timestamp: 2012-06-08 09:42:23.000000.&lt;br /&gt;
2012-06-08 10:51:46&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01642&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY: recovery end position: SeqNo: 16293, RBA: 75423744, SCN: 1932.1174983728 (8299051799600), Timestamp: 2012-06-08 09:42:23.000000.&lt;br /&gt;
2012-06-08 10:51:46&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01579&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY: VALID BCP: CP.XTATHDV.000000039.&lt;br /&gt;
2012-06-08 10:51:46&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01629&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY: PERSISTED OBJECTS RECOVERED: 2.&lt;br /&gt;
2012-06-08 10:51:49&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01513&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; Positioning to Sequence 16293, RBA 75422736.&lt;br /&gt;
2012-06-08 10:51:49&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01516&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; Positioned to Sequence 16293, RBA 75422736, Jun 8, 2012 9:42:23 AM.&lt;br /&gt;
2012-06-08 10:51:49&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-00993&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; EXTRACT XTATHDV started.&lt;br /&gt;
2012-06-08 10:51:49&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01055&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; Recovery initialization completed for target file /oracle/goldengatedata/dirdat/at000011, at RBA 32117725.&lt;br /&gt;
2012-06-08 10:51:49&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01478&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; Output file /oracle/goldengatedata/dirdat/at is using format RELEASE 10.4/11.1.&lt;br /&gt;
2012-06-08 10:51:49&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01026&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; Rolling over remote file /oracle/goldengatedata/dirdat/at000011.&lt;br /&gt;
2012-06-08 10:51:49&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01053&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; Recovery completed for target file /oracle/goldengatedata/dirdat/at000012, at RBA 1032.&lt;br /&gt;
2012-06-08 10:51:49&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01057&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; Recovery completed for all targets.&lt;br /&gt;
2012-06-08 10:51:50&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01517&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; Position of first record processed Sequence 16293, RBA 75422736, SCN 1932.1174983725, Jun 8, 2012 9:42:23 AM.&lt;br /&gt;
2012-06-08 10:51:50&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01644&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY: COMPLETE: for object pool 1: p28822_extr at SeqNo: 16293, RBA: 75423760, SCN: 1932.1174983729 (8299051799601).&lt;br /&gt;
2012-06-08 10:52:37&amp;nbsp; WARNING OGG-00869&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; No unique key is defined for table DV3_STATUS. All viable columns will be used to represent the key, but may not guarantee uniqueness.&amp;nbsp; KEYCOLS may be used to define the key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Looks like GG extract is chuggling along.&lt;br /&gt;
&lt;br /&gt;
Hope you find this useful.</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/6474845339970254352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2012/06/accurately-predicting-redo-log-sequence.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/6474845339970254352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/6474845339970254352'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2012/06/accurately-predicting-redo-log-sequence.html' title='Accurately predicting the redo log sequence needed for a Golden Gate Restart'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-8339976383340467875</id><published>2012-06-07T19:56:00.004-04:00</published><updated>2015-03-11T11:49:38.875-04:00</updated><title type='text'>Golden Gate Bounded Recovery ( BR) Process</title><content type='html'>I created a sample script called test.sh and introduced a sleeptime of 5 hours(or 18,000 seconds).&lt;br /&gt;
&lt;br /&gt;
Make sure below user has DBA privs so that he can query from v$log(to check the log sequence).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
++++++Contents of test.sh +++++++++++++++++++++++++&lt;br /&gt;
&lt;br /&gt;
#!/bin/ksh&lt;br /&gt;
sqlplus ops\$gchandra/test123 &amp;lt;&amp;lt; EOF &amp;gt;test.log&lt;br /&gt;
&lt;br /&gt;
select max(sequence#) from v\$log;&lt;br /&gt;
select to_char(sysdate,&#39;dd-mon-yyyy hh24:mi:ss&#39;) from dual;&lt;br /&gt;
drop table testtab;&lt;br /&gt;
create table testtab (col1 number);&lt;br /&gt;
insert into testtab values(1);&lt;br /&gt;
execute dbms_lock.sleep(18000);&lt;br /&gt;
commit;&lt;br /&gt;
exit&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&lt;br /&gt;
&lt;br /&gt;
I run the script in background with no interruption.&lt;br /&gt;
jupiter&amp;lt;oracle&amp;gt;/tmp&amp;gt; nohup ./test.sh &amp;amp;&lt;br /&gt;
[1]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 28917&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
jupiter&amp;lt;oracle&amp;gt;/oracle/arch/athenadv/arch&amp;gt; cat /tmp/test.log&lt;br /&gt;
&lt;br /&gt;
SQL*Plus: Release 11.2.0.3.0 Production on Thu Jun 7 20:29:25 2012&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 1982, 2011, Oracle.&amp;nbsp; All rights reserved.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Connected to:&lt;br /&gt;
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production&lt;br /&gt;
With the Partitioning, Automatic Storage Management, OLAP, Data Mining&lt;br /&gt;
and Real Application Testing options&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; SQL&amp;gt; &lt;br /&gt;
MAX(SEQUENCE#)&lt;br /&gt;
--------------&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 15625&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; &lt;br /&gt;
TO_CHAR(SYSDATE,&#39;DD-MON-YYYYH&lt;br /&gt;
-----------------------------&lt;br /&gt;
07-jun-2012 20:29:26&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; &lt;br /&gt;
Table dropped.&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; &lt;br /&gt;
Table created.&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; &lt;br /&gt;
1 row created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The point to note is if the GG process is stopped or aborts at this point of time and restarted later, it needs&lt;br /&gt;
access to redo log from sequence 15625 . This is because uncomitted transactions are never written to the trail file&lt;br /&gt;
by golden gate. Only commited transactions are written.&lt;br /&gt;
&lt;br /&gt;
There is something called bounded recovery which is basically a time period i.e 4 hours by default.&lt;br /&gt;
After every BR time interval , GG looks at the active transactions which qualify as old transactions ( i.e&lt;br /&gt;
they have been active for more than BR time period) and writes it to a temp location GG HOME/BR/&amp;lt;extract name&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example if the BR is set to 4 hours(default), and say a BR flush happens at 9am. At that time it scans all the active transactions&lt;br /&gt;
which started earlier than 5am (9am -4 hrs). &lt;br /&gt;
Say there were say 2 active transactions A and B&amp;nbsp; .Transaction A started at 5.01am and transaction B started at&lt;br /&gt;
3.59am. Therefore transaction B is flushed to the BR location and transaction A is ignored as it has not been running for 4 hours.&lt;br /&gt;
&lt;br /&gt;
Therefore if the golden gate crashed just a few seconds before the next flushout i.e.1pm , then transaction A which started&lt;br /&gt;
at 5.01am is lost.Therefore when you restart the GG it needs archive logs generated from 5.01am.&lt;br /&gt;
&lt;br /&gt;
So in this worst case scenario , it needs access to log files(or archive files) from 2 times BR interval.&lt;br /&gt;
So prepare to retain archivelogs (or have capacity to restore archive logs) for 2 X (BR Interval period).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now via RMAN, I delete the archivelog 15625.&lt;br /&gt;
Please note that the transaction is still active but now if GG is stopped and restarted, it will not have access to archive sequence 15625&lt;br /&gt;
as we have deleted it via rman using a simple command&lt;br /&gt;
&lt;br /&gt;
backup&lt;br /&gt;
filesperset = 4&lt;br /&gt;
format &#39;al_%d%s%t_%U&#39;&lt;br /&gt;
archivelog until time &#39;sysdate&#39;&lt;br /&gt;
delete all input;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now let us see if bounded recovery comes to our rescue.&lt;br /&gt;
&lt;br /&gt;
I have on purpose set BR to 20 minutes and will patiently wait for the BR to happen.&lt;br /&gt;
Then I will note the log sequence as of the BR . Ideally after this point if GG process is stopped and restarted, it should&lt;br /&gt;
not need the original log sequence 15625 but should need only the log sequence during the BR flushout.&lt;br /&gt;
&lt;br /&gt;
The BR flushout happens (as shown by GG log at 8.50pm)&lt;br /&gt;
&lt;br /&gt;
2012-06-07 20:50:20&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01738&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY: CHECKPOINT: for object pool 1: p28822_extr: start=SeqNo: 15642, RBA: 14661648, SCN: 1932.1131459784 (8299008275656), Timestamp: 2012-06-07 20:50:19.000000, end=SeqNo: 15642, RBA: 14662656, SCN: 1932.1131459784 (8299008275656), Timestamp: 2012-06-07 20:50:19.000000.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also see it here&lt;br /&gt;
jupiter&amp;lt;oracle&amp;gt;/oracle/software/goldengate/11.1.1.1.2/BR/XTATHDV&amp;gt; ls -lt&lt;br /&gt;
total 64&lt;br /&gt;
-rw-rw----&amp;nbsp;&amp;nbsp; 1 oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dba&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 65536 Jun&amp;nbsp; 7 20:50 CP.XTATHDV.000000003&lt;br /&gt;
-rw-rw----&amp;nbsp;&amp;nbsp; 1 oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dba&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 65536 Jun&amp;nbsp; 7 20:50 PO.XTATHDV.0000001.0000000&lt;br /&gt;
drwxrwxr-x&amp;nbsp;&amp;nbsp; 2 oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dba&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 96 Jun&amp;nbsp; 7 15:54 stale&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; select sequence# from v$archived_log&lt;br /&gt;
&amp;nbsp; 2&amp;nbsp;&amp;nbsp; where to_date(&#39;07-jun-2012 20:50:00&#39;,&#39;dd-mon-yyyy hh24:mi:ss&#39;) between first_time and next_time;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;SEQUENCE#&lt;br /&gt;
----------&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 15641&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; select sequence# from v$archived_log&lt;br /&gt;
&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; where to_date(&#39;07-jun-2012 20:50:59&#39;,&#39;dd-mon-yyyy hh24:mi:ss&#39;) between first_time and next_time;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;SEQUENCE#&lt;br /&gt;
----------&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 15642&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So at this point if I stop GG and restart I should need only from sequence 15641 or 15642 . To be on safer side, make&lt;br /&gt;
sure you have archive logs from sequence 15641.&lt;br /&gt;
&lt;br /&gt;
let us test this !!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GGSCI (jupiter) 39&amp;gt; stop ext xtathdv&lt;br /&gt;
&lt;br /&gt;
Sending STOP request to EXTRACT XTATHDV ...&lt;br /&gt;
Request processed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart the extract and carefully observe the ggserr.log file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2012-06-07 20:53:46&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-00975&amp;nbsp; Oracle GoldenGate Manager for Oracle, mgr.prm:&amp;nbsp; EXTRACT XTATHDV starting.&lt;br /&gt;
2012-06-07 20:53:46&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-00992&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; EXTRACT XTATHDV starting.&lt;br /&gt;
2012-06-07 20:53:47&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01639&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY:&amp;nbsp; ACTIVE: for object pool 1: p28822_extr.&lt;br /&gt;
2012-06-07 20:53:47&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01640&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY: recovery start XID: 0.0.0.&lt;br /&gt;
2012-06-07 20:53:47&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01641&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY: recovery start position: SeqNo: 15642, RBA: 14661648, SCN: 1932.1131459784 (8299008275656), Timestamp: 2012-06-07 20:50:19.000000.&lt;br /&gt;
2012-06-07 20:53:47&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01642&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY: recovery end position: SeqNo: 15642, RBA: 14662656, SCN: 1932.1131459784 (8299008275656), Timestamp: 2012-06-07 20:50:19.000000.&lt;br /&gt;
2012-06-07 20:53:47&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01579&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY: VALID BCP: CP.XTATHDV.000000003.&lt;br /&gt;
2012-06-07 20:53:47&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01629&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY: PERSISTED OBJECTS RECOVERED: 1.&lt;br /&gt;
2012-06-07 20:53:50&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01513&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; Positioning to Sequence 15642, RBA 14661648.&lt;br /&gt;
2012-06-07 20:53:51&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01516&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; Positioned to Sequence 15642, RBA 14661648, Jun 7, 2012 8:50:19 PM.&lt;br /&gt;
2012-06-07 20:53:51&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-00993&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; EXTRACT XTATHDV started.&lt;br /&gt;
2012-06-07 20:53:51&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01055&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; Recovery initialization completed for target file /oracle/goldengatedata/dirdat/at000005, at RBA 2213190.&lt;br /&gt;
2012-06-07 20:53:51&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01478&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; Output file /oracle/goldengatedata/dirdat/at is using format RELEASE 10.4/11.1.&lt;br /&gt;
2012-06-07 20:53:51&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01026&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; Rolling over remote file /oracle/goldengatedata/dirdat/at000005.&lt;br /&gt;
2012-06-07 20:53:51&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01053&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; Recovery completed for target file /oracle/goldengatedata/dirdat/at000006, at RBA 1032.&lt;br /&gt;
2012-06-07 20:53:51&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01057&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; Recovery completed for all targets.&lt;br /&gt;
2012-06-07 20:53:51&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01517&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; Position of first record processed Sequence 15642, RBA 14661648, SCN 1932.1131459784, Jun 7, 2012 8:50:19 PM.&lt;br /&gt;
2012-06-07 20:53:51&amp;nbsp; INFO&amp;nbsp;&amp;nbsp;&amp;nbsp; OGG-01644&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; BOUNDED RECOVERY: COMPLETE: for object pool 1: p28822_extr at SeqNo: 15642, RBA: 14662672, SCN: 1932.1131459785 (8299008275657).&lt;br /&gt;
2012-06-07 20:54:02&amp;nbsp; WARNING OGG-00869&amp;nbsp; Oracle GoldenGate Capture for Oracle, xtathdv.prm:&amp;nbsp; No unique key is defined for table DV3_STATUS. All viable columns will be used to represent the key, but may not guarantee uniqueness.&amp;nbsp; KEYCOLS may be used to define the key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you look above it starts looking at archive logs only from sequence 15642. This is indeed a big relief as some transactions&lt;br /&gt;
run longer than 4 hours and if i left it to default I might have to restore as much as 8 hours&amp;nbsp; of archive logs.</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/8339976383340467875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2012/06/golden-gate-bounded-recovery-br-process.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/8339976383340467875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/8339976383340467875'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2012/06/golden-gate-bounded-recovery-br-process.html' title='Golden Gate Bounded Recovery ( BR) Process'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-2986796841945257454</id><published>2012-06-01T11:36:00.000-04:00</published><updated>2015-03-11T11:49:38.816-04:00</updated><title type='text'>Install XML DB on Oracle 11gR2</title><content type='html'>This note is copied from the Metalink Note and talks about removal and re-install of an XML DB on a 11gR2 Oracle Database.&lt;br /&gt;
This is more for my reference and sorry for duplicating ....&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;XDB Removal&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
The catnoqm.sql script drops XDB.&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; spool xdb_removal.log&lt;br /&gt;
SQL&amp;gt; set echo on;&lt;br /&gt;
SQL&amp;gt; connect / as sysdba&lt;br /&gt;
SQL&amp;gt; shutdown immediate;&lt;br /&gt;
SQL&amp;gt; startup&lt;br /&gt;
SQL&amp;gt; @?/rdbms/admin/catnoqm.sql&lt;br /&gt;
SQL&amp;gt; spool off;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;XDB Installation&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
The catqm.sql script requires the following parameters be passed to it when run:&lt;br /&gt;
&lt;br /&gt;
A. XDB user password&lt;br /&gt;
B. XDB user default tablespace &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; (Any tablespace other than SYSTEM, UNDO and TEMP can be specified. &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; The specified tablespace must already exist prior to running the script.)&lt;br /&gt;
C. XDB user temporary tablespace&lt;br /&gt;
D. SecureFiles = YES or NO&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; (If YES is specified, the XDB repository will use SecureFile storage.   &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If NO is specified, LOBS will be used. &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; To use SecureFiles, compatibility must be set to 11.2. &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The tablespace specified for the XDB repository must be using &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Automatic Segment Space Management (ASSM) for SecureFiles to be used.)&lt;br /&gt;
&lt;br /&gt;
Therefore the syntax to run catqm.sql is the following:&lt;br /&gt;
SQL&amp;gt; catqm.sql A B C D&lt;br /&gt;
&lt;br /&gt;
For Example:&lt;br /&gt;
SQL&amp;gt; @?/rdbms/admin/catqm.sql XDB XDB TEMP YES&lt;br /&gt;
&lt;br /&gt;
## IMPORTANT: You must shutdown and restart the database between removal and reinstall ##&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; spool xdb_install.log&lt;br /&gt;
SQL&amp;gt; set echo on;&lt;br /&gt;
SQL&amp;gt; connect / as sysdba&lt;br /&gt;
SQL&amp;gt; shutdown immediate;&lt;br /&gt;
SQL&amp;gt; startup;&lt;br /&gt;
SQL&amp;gt; @?/rdbms/admin/catqm.sql &amp;lt;XDB pwd&amp;gt; &amp;lt;XDB default tbs&amp;gt; &amp;lt;XDB temporary tbs&amp;gt; &amp;lt;SecureFiles = YES/NO&amp;gt;&lt;br /&gt;
SQL&amp;gt; @?/rdbms/admin/utlrp.sql&lt;br /&gt;
SQL&amp;gt; spool off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3 class=&quot;km&quot;&gt;&lt;a href=&quot;http://www.blogger.com/post-edit.g?blogID=4149664106915683492&amp;amp;postID=2986796841945257454&quot; name=&quot;aref11&quot;&gt;&lt;/a&gt;Verify XDB Installation&lt;/h3&gt;spool xdb_status.txt&lt;br /&gt;
&lt;br /&gt;
set echo on;&lt;br /&gt;
connect / as sysdba&lt;br /&gt;
set pagesize 1000&lt;br /&gt;
col comp_name format a36&lt;br /&gt;
col version format a12&lt;br /&gt;
col status format a8&lt;br /&gt;
col owner format a12&lt;br /&gt;
col object_name format a35&lt;br /&gt;
col name format a25&lt;br /&gt;
&lt;br /&gt;
-- Check status of XDB&lt;br /&gt;
&lt;br /&gt;
select comp_name, version, status&lt;br /&gt;
from dba_registry&lt;br /&gt;
where comp_id = &#39;XDB&#39;;&lt;br /&gt;
&lt;br /&gt;
-- Check for invalid objects owned by XDB&lt;br /&gt;
&lt;br /&gt;
select owner, object_name, object_type, status&lt;br /&gt;
from dba_objects&lt;br /&gt;
where status = &#39;INVALID&#39;&lt;br /&gt;
and owner = &#39;XDB&#39;;&lt;br /&gt;
&lt;br /&gt;
spool off;</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/2986796841945257454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2012/06/install-xml-db-on-oracle-11gr2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/2986796841945257454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/2986796841945257454'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2012/06/install-xml-db-on-oracle-11gr2.html' title='Install XML DB on Oracle 11gR2'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-8996584637247811167</id><published>2012-05-25T12:04:00.007-04:00</published><updated>2015-03-11T11:49:38.881-04:00</updated><title type='text'>Golden Gate Setup 7 - Replicat Process on Target</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Go to dirprm directory under golden gate home on target and create a file called &amp;lt;replicat name&amp;gt;.prm.&lt;br /&gt;
in our case the replicat name is RPATHDV.&lt;br /&gt;
&lt;br /&gt;
I am going to explain the contents of the parameter file in a subsequent post.So please have patience with me&lt;br /&gt;
before scratching your head looking at the below parameter file. &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: Times, Times New Roman, serif;&quot;&gt;&lt;b&gt;Please refer to Metalink Note&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-size: 14px; text-align: right;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Times, Times New Roman, serif;&quot;&gt;&lt;b&gt;Example How to Use DML Exception Handling and DDL Replication Together in GoldenGate Replicat [ID 1382092.1&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-size: 14px; text-align: right;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Times, Times New Roman, serif;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-size: 14px; text-align: right;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Times, Times New Roman, serif;&quot;&gt;&lt;b&gt;I believe the support analyst wrote this based on my ticket :-).&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
***changed the below on 11/30/2012 to put a better exception handling syntax&lt;br /&gt;
as suggested by oracle support. The Part in red shows the exact place where it was changed.&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #003d5b; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;Also read metalink note :Replicat Exceptions Mapping Is Not Working (Doc ID 1504267.1)&lt;/span&gt;*******&lt;br /&gt;
&amp;nbsp;+++++++++++++++++++++++++++++++++++++++&lt;br /&gt;
replicat rpathdv&lt;br /&gt;
SETENV (ORACLE_HOME=&quot;/oracle/software/rdbms/11.2.0.3&quot;)&lt;br /&gt;
SETENV (ORACLE_SID=&quot;xxx&quot;)&lt;br /&gt;
SETENV (NLS_LANG = &quot;AMERICAN_AMERICA.UTF8&quot;)&lt;br /&gt;
userid ggddlusr, password &amp;lt;password&amp;gt;&lt;br /&gt;
Reportcount every 30 Minutes, Rate&lt;br /&gt;
Report at 15:00&lt;br /&gt;
ReportRollover at 15:15&lt;br /&gt;
discardfile /oracle/goldengatedata/dirdsc/rpathdv.dsc, megabytes 50, append&lt;br /&gt;
DDL INCLUDE MAPPED, &amp;amp;&lt;br /&gt;
EXCLUDE OBJNAME GGDDLUSR.EXCEPTIONS&lt;br /&gt;
DDLOPTIONS REPORT&lt;br /&gt;
AssumeTargetDefs&lt;br /&gt;
REPERROR (DEFAULT, EXCEPTION)&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;map scott.*, target scott.*, mapexception (TARGET ggadm.exceptions&lt;/span&gt;&lt;br style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot; /&gt;&lt;span style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;, INSERTALLRECORDS&lt;/span&gt;&lt;br style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot; /&gt;&lt;span style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;-- , EXCEPTIONSONLY&lt;/span&gt;&lt;br style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot; /&gt;&lt;span style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;, colmap ( rep_name = &#39;rpathdv&#39;&lt;/span&gt;&lt;br style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot; /&gt;&lt;span style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;, table_name = @GETENV (&#39;GGHEADER&#39;, &#39;TABLENAME&#39;)&lt;/span&gt;&lt;br style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot; /&gt;&lt;span style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;, errno = @GETENV (&#39;LASTERR&#39;, &#39;DBERRNUM&#39;)&lt;/span&gt;&lt;br style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot; /&gt;&lt;span style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;, dberrmsg = @GETENV ( &#39;LASTERR&#39;, &#39;DBERRMSG&#39;)&lt;/span&gt;&lt;br style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot; /&gt;&lt;span style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;, optype = @GETENV ( &#39;LASTERR&#39;, &#39;OPTYPE&#39;)&lt;/span&gt;&lt;br style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot; /&gt;&lt;span style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;, errtype = @GETENV ( &#39;LASTERR&#39;, &#39;ERRTYPE&#39;)&lt;/span&gt;&lt;br style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot; /&gt;&lt;span style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;, logrba = @GETENV ( &#39;GGHEADER&#39;, &#39;LOGRBA&#39;)&lt;/span&gt;&lt;br style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot; /&gt;&lt;span style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;, logposition = @GETENV ( &#39;GGHEADER&#39;, &#39;LOGPOSITION&#39;)&lt;/span&gt;&lt;br style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot; /&gt;&lt;span style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;, TRAILRBA = @GETENV(&#39;RECORD&#39;, &#39;FILERBA&#39;)&lt;/span&gt;&lt;br style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot; /&gt;&lt;span style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;, TRAILSEQUENCE = @GETENV(&#39;RECORD&#39;, &#39;FILESEQNO&#39;)&lt;/span&gt;&lt;br style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot; /&gt;&lt;span style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;, committimestamp = @GETENV ( &#39;GGHEADER&#39;, &#39;COMMITTIMESTAMP&#39;)&lt;/span&gt;&lt;br style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot; /&gt;&lt;span style=&quot;background-color: #fafafa; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px;&quot;&gt;) );&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;+++++++++++++++++++++++++++++++++++++++++++++&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Login into ggsci on the target&lt;br /&gt;
&lt;br /&gt;
[oracle@xxxx 11.1.1.1]$ ./ggsci&lt;br /&gt;
&lt;br /&gt;
Oracle GoldenGate Command Interpreter for Oracle&lt;br /&gt;
Version 11.1.1.1.2_06 13694062 OGGCORE_11.1.1.1.3_PLATFORMS_120216.1755 &lt;br /&gt;
Linux, x64, 64bit (optimized), Oracle 11g on Feb 19 2012 23:07:54&lt;br /&gt;
&lt;br /&gt;
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GGSCI&amp;nbsp; 1&amp;gt; dblogin userid ggddlusr,password &amp;lt;password&amp;gt; &lt;br /&gt;
Successfully logged into database.&lt;br /&gt;
GGSCI&amp;nbsp; 2&amp;gt; add checkpointtable ggddlusr.ckptathdv&lt;br /&gt;
&lt;br /&gt;
Successfully created checkpoint table GGDDLUSR.CKPTATHDV.&lt;br /&gt;
&lt;br /&gt;
The above step adds a dedicated checkpoint table for our replicat. This is not mandatory but desirable.&lt;br /&gt;
&lt;br /&gt;
GGSCI&amp;nbsp; 3&amp;gt; add replicat rpathdv, exttrail /oracle/software/goldengate/11.1.1.1/dirdat/at, CHECKPOINTTABLE ggddlusr.ckptathdv&lt;br /&gt;
REPLICAT added.&lt;br /&gt;
&lt;br /&gt;
GGSCI&amp;nbsp; 4&amp;gt; start replicat rpathdv ,aftercsn 8297974408496&lt;br /&gt;
&lt;br /&gt;
Sending START request to MANAGER ...&lt;br /&gt;
REPLICAT RPATHDV starting&lt;br /&gt;
&lt;br /&gt;
Please note that the above is the flashback scn of the export dump on the source database. Since the export was done at the above flashback scn and the extract was started before that, we are telling GG replicat to apply only transactions after that SCN. This feature is really cool. This is the reason why the extract process should be started before you take the export of the source schema.&lt;br /&gt;
&lt;br /&gt;
Now as soon as GG replicat encounters an exception, like &quot;No data found&quot; or Primary Key Violation&lt;br /&gt;
you should see an entry in GGDDLUSR.exceptions table.&lt;br /&gt;
&lt;br /&gt;
A sample entry is like this ....&lt;br /&gt;
&lt;br /&gt;
Unfortunatley the literals are replaced by bind variables. &amp;nbsp;Will soon right a blog to see the literal values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; select dberrmsg from exceptions where rownum&amp;lt;2;&lt;br /&gt;
&lt;br /&gt;
DBERRMSG&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
OCI Error ORA-01403: no data found, SQL &amp;lt;UPDATE &quot;SCOTT&quot;.&quot;EMPLOYEES&quot; SET &quot;EMP_&lt;br /&gt;
ETYP_CD&quot; = :a1,&quot;EMP_PPL_CD&quot; = :a2,&quot;EMP_ORGU_CD&quot; = :a3,&quot;EMP_SUPPORT_EXT_NO&quot; = :a4&lt;br /&gt;
,&quot;EMP_SRCH_NM&quot; = :a5,&quot;EMP_USERID&quot; = :a6,&quot;EMP_HDC_DEPT_CODE&quot; = :a7,&quot;EMP_HDC_SUPER&lt;br /&gt;
VISOR_EMP_CD&quot; = :a8 WHERE &quot;EMP_CD&quot; = :b0&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cool, right!!!!&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/8996584637247811167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2012/05/golden-gate-setup-7-replicat-process-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/8996584637247811167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/8996584637247811167'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2012/05/golden-gate-setup-7-replicat-process-on.html' title='Golden Gate Setup 7 - Replicat Process on Target'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-6535984996526637996</id><published>2012-05-25T11:54:00.000-04:00</published><updated>2015-03-11T11:49:38.854-04:00</updated><title type='text'>Golden Gate Setup 6 - Exceptions Table on Target</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
This post is optional to follow in the sense that I always like to trap exceptions on the target database for sql&#39;s which could not be applied. Some common errors are primary key violations and no data found errors.&lt;br /&gt;
Usually in 1 way replication , this should never happen but being a creature of habit i just put this everywhere.&lt;br /&gt;
I will show you later how cool this feature is for trapping exceptions.&lt;br /&gt;
&lt;br /&gt;
At the target database, you should have a golden gate admin schema called GGDDLUSR(same as in source database too).&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE EXCEPTIONS&lt;br /&gt;
(&lt;br /&gt;
REP_NAME VARCHAR2(8 BYTE),&lt;br /&gt;
TABLE_NAME VARCHAR2(61 BYTE),&lt;br /&gt;
ERRNO NUMBER,&lt;br /&gt;
DBERRMSG VARCHAR2(4000 BYTE),&lt;br /&gt;
OPTYPE VARCHAR2(20 BYTE),&lt;br /&gt;
ERRTYPE VARCHAR2(20 BYTE),&lt;br /&gt;
LOGRBA NUMBER,&lt;br /&gt;
LOGPOSITION NUMBER,&lt;br /&gt;
TRAILRBA NUMBER,&lt;br /&gt;
TRAILSEQUENCE NUMBER,&lt;br /&gt;
COMMITTIMESTAMP TIMESTAMP(6)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
ALTER TABLE EXCEPTIONS ADD CONSTRAINT PK_EXCEPTIONS&lt;br /&gt;
PRIMARY KEY (TRAILRBA,TRAILSEQUENCE,COMMITTIMESTAMP)&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/6535984996526637996/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2012/05/golden-gate-setup-6-exceptions-table-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/6535984996526637996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/6535984996526637996'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2012/05/golden-gate-setup-6-exceptions-table-on.html' title='Golden Gate Setup 6 - Exceptions Table on Target'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-9166903896919669243</id><published>2012-05-25T11:35:00.003-04:00</published><updated>2015-03-11T11:49:38.884-04:00</updated><title type='text'>Golden Gate Setup 5- Source Export and Target Import</title><content type='html'>Please give special attention to this section as we use SCN based export and import.&lt;br /&gt;
&lt;br /&gt;
At this stage, please ensure that both extract and datapump extract are running before you do this. I repeat please do NOT perform this step unless both of them are running (or at the minimum the extract should be running).&lt;br /&gt;
&lt;br /&gt;
SOURCE DATABASE&lt;br /&gt;
======================&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; create directory ATHDP as &#39;/oracle/goldengatedata/exp&#39;;&lt;br /&gt;
&lt;br /&gt;
Directory created.&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; SELECT TO_CHAR(CURRENT_SCN) FROM V$DATABASE;&lt;br /&gt;
&lt;br /&gt;
TO_CHAR(CURRENT_SCN)&lt;br /&gt;
----------------------------------------&lt;br /&gt;
8297974408496&lt;br /&gt;
&lt;br /&gt;
Go back to unix prompt,&lt;br /&gt;
export DATA_PUMP_DIR=&quot;ATHDP&quot;&lt;br /&gt;
&lt;br /&gt;
expdp \&#39;/ as sysdba\&#39; schemas=scott dumpfile=scott_exp.dmp include=table,index logfile=scott_exp.log flashback_scn=8297974408496 content=all&lt;br /&gt;
&lt;br /&gt;
My requirement is that our app dev team needs only table data. Therefore the above way of using include makes sure that all other objects like procedure,package,views are omitted.Still triggers come across as they are attached to tables.Therefore I use excluse=trigger during the impdp process. &lt;br /&gt;
&lt;br /&gt;
(Please note that since I precreate an empty schema on destination with all privs and grants , I exclude them in the expdp statement.please feel free to change as per your liking. Please make sure that you use FLASHBACK_SCN parameter in the expdp which is plugged in from the current_scn sql statement).&lt;br /&gt;
FTP the file to the remote server and import it to the destination schema.&lt;br /&gt;
&lt;br /&gt;
TARGET DATABASE&lt;br /&gt;
++++++++++++++++++&lt;br /&gt;
&lt;br /&gt;
I usually pre-create the schema on the target database with all the system roles and grants.&lt;br /&gt;
&lt;br /&gt;
impdp \&#39;/ as sysdba\&#39; dumpfile=scott_exp.dmp&amp;nbsp;&amp;nbsp; exclude=trigger,grant,ref_constraint logfile=impdp.log &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To summarize, we did a flashback_scn based export on source and imported this into target.</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/9166903896919669243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2012/05/golden-gate-setup-4-source-export-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/9166903896919669243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/9166903896919669243'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2012/05/golden-gate-setup-4-source-export-and.html' title='Golden Gate Setup 5- Source Export and Target Import'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-6504053695058689027</id><published>2012-05-25T10:45:00.000-04:00</published><updated>2015-03-11T11:49:38.851-04:00</updated><title type='text'>Golden Gate Setup 4 (Source Database) Data Pump Extract Process</title><content type='html'>This is a relatively easier step and is done at the source database.&lt;br /&gt;
The extract (in the previous post) and the Data Pump extract should be running on the source.&lt;br /&gt;
The role of the DP extract is to transfer the files from the local location (where extract is writing to) and push it to the remote server. Therefore it is only logical that it should have 2 directories and a remote server name to work on.&lt;br /&gt;
&lt;br /&gt;
First and foremost, decide a name for the DP extract process. In my example I have named it as DPATHDV.&lt;br /&gt;
&lt;br /&gt;
Please go to dirprm directory under the folden gate home and create a file called dpathdv.prm with the following content.&lt;br /&gt;
+++++++++++++++++++++++++++++++++++++++++++&lt;br /&gt;
extract dpathdv&lt;br /&gt;
passthru&lt;br /&gt;
rmthost &amp;lt;remote server name&amp;gt;,mgrport 7809&lt;br /&gt;
rmttrail /oracle/software/goldengate/11.1.1.1/dirdat/at&lt;br /&gt;
table scott.*;&lt;br /&gt;
+++++++++++++++++++++++++++++++++++++++++++++++&lt;br /&gt;
&lt;br /&gt;
Port 7809 is the default port where the manager process is listening on the remote server.Please ensure that the manager process is running to receive the files.&lt;br /&gt;
&lt;br /&gt;
Also&amp;nbsp;  /oracle/software/goldengate/11.1.1.1/dirdat is the directory in the remote server and files will be pushed with a name starting with &quot;at&quot; .&lt;br /&gt;
&lt;br /&gt;
Now login , into ggsci &lt;br /&gt;
1.&lt;br /&gt;
add extract dpathdv,exttrailsource /oracle/goldengatedata/dirdat/at&lt;br /&gt;
&lt;br /&gt;
The above directory is the local directory &lt;br /&gt;
&lt;br /&gt;
2. add rmttrail /oracle/software/goldengate/11.1.1.1/dirdat/at,extract dpathdv,megabytes 250&lt;br /&gt;
The above directory is remote directory (which is also mentioned in the prm file).&lt;br /&gt;
&lt;br /&gt;
3. Start the DP extract&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;start ext dpathdv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GGSCI (jupiter) 12&amp;gt; info all&lt;br /&gt;
&lt;br /&gt;
Program&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Status&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Group&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Lag&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Time Since Chkpt&lt;br /&gt;
&lt;br /&gt;
MANAGER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RUNNING&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
EXTRACT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RUNNING&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DPATHDV&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:00:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:00:04&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
EXTRACT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RUNNING&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XTATHDV&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:00:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:00:01&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GGSCI (jupiter) 13&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above shows that both extract and DP extract is running on the source database.</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/6504053695058689027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2012/05/golden-gate-setup-4-source-database.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/6504053695058689027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/6504053695058689027'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2012/05/golden-gate-setup-4-source-database.html' title='Golden Gate Setup 4 (Source Database) Data Pump Extract Process'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4149664106915683492.post-3410355875844808109</id><published>2012-05-25T10:28:00.000-04:00</published><updated>2015-03-11T11:49:38.821-04:00</updated><title type='text'>Golden Gate Setup 3 (Source Database) Extract Process</title><content type='html'>After a long gap, I am writing the 3rd post.&lt;br /&gt;
Please make sure all steps in posts 2 and 3 are completed before you start this.&lt;br /&gt;
&lt;br /&gt;
Also in my environment, the source database is using ASM. Therefore it is mandatory you do the following before proceeding on the source(or extract) database.&lt;br /&gt;
&lt;br /&gt;
TNSNAMES.ORA File&lt;br /&gt;
++++++++++++++++++++ &lt;br /&gt;
&lt;br /&gt;
ASM.xxx.COM =&lt;br /&gt;
&amp;nbsp; (DESCRIPTION =&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; (ADDRESS_LIST =&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = &amp;lt;server name&amp;gt;)(PORT = 1521))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; (CONNECT_DATA =&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SERVICE_NAME = +ASM)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;br /&gt;
&amp;nbsp; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LISTENER.ORA&lt;br /&gt;
+++++++++++++++&lt;br /&gt;
Please note that I have done an automatic instance registration and therefore&amp;nbsp; I have not mentioned the SID_DESC part in the listener.ora file.&lt;br /&gt;
&lt;br /&gt;
LISTENER =&lt;br /&gt;
&amp;nbsp; (DESCRIPTION =&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = &amp;lt;server name&amp;gt;)(PORT = 1521))&lt;br /&gt;
&amp;nbsp; )&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
At the ASM instance&lt;br /&gt;
+++++++++++++++++&lt;br /&gt;
This should automatically come up. &lt;br /&gt;
SQL&amp;gt; show parameter local_listener&lt;br /&gt;
&lt;br /&gt;
NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALUE&lt;br /&gt;
------------------------------------ ----------- ------------------------------&lt;br /&gt;
local_listener&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (DESCRIPTION=(ADDRESS_LIST=(AD&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DRESS=(PROTOCOL=TCP)(HOST=&amp;lt;default ip address&amp;gt;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
(PORT=1521))))&lt;br /&gt;
&lt;br /&gt;
In case , your listener is not listening on default port 1521, then make sure you explicitly put a local_listener parameter in the init.ora /spfile of the ASM instance with the appropriate port number.&lt;br /&gt;
&lt;br /&gt;
Verify whether listener has the ASM instance registered&lt;br /&gt;
&lt;br /&gt;
/oracle/software/grid/11.2.0.3/dbs&amp;gt; lsnrctl&lt;br /&gt;
&lt;br /&gt;
LSNRCTL for HPUX: Version 11.2.0.3.0 - Production on 19-APR-2012 10:39:19&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 1991, 2011, Oracle.&amp;nbsp; All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Welcome to LSNRCTL, type &quot;help&quot; for information.&lt;br /&gt;
&lt;br /&gt;
LSNRCTL&amp;gt; status&lt;br /&gt;
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx)(PORT=1521)))&lt;br /&gt;
STATUS of the LISTENER&lt;br /&gt;
------------------------&lt;br /&gt;
Alias&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LISTENER&lt;br /&gt;
Version&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TNSLSNR for HPUX: Version 11.2.0.3.0 - Production&lt;br /&gt;
Start Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10-MAR-2012 02:14:14&lt;br /&gt;
Uptime&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 40 days 7 hr. 25 min. 7 sec&lt;br /&gt;
Trace Level&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; off&lt;br /&gt;
Security&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ON: Local OS Authentication&lt;br /&gt;
SNMP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OFF&lt;br /&gt;
Listener Parameter File&amp;nbsp;&amp;nbsp; /oracle/software/grid/11.2.0.3/network/admin/listener.ora&lt;br /&gt;
Listener Log File&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /oracle/software/grid/11.2.0.3/log/diag/tnslsnr/xxx/listener/alert/log.xml&lt;br /&gt;
Listening Endpoints Summary...&lt;br /&gt;
&amp;nbsp; (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xxxx)(PORT=1521)))&lt;br /&gt;
Services Summary...&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;Service &quot;+ASM&quot; has 1 instance(s).&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; Instance &quot;+ASM&quot;, status READY, has 1 handler(s) for this service...&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;..&lt;/span&gt;&lt;br /&gt;
..&lt;br /&gt;
..&lt;br /&gt;
&lt;br /&gt;
Also make sure remote_login_passwordfile is setup for the ASM instance.Please use the orapwd utility to&lt;br /&gt;
set up the file and password. This password applies to the SYS account.&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; show parameter remote_log&lt;br /&gt;
&lt;br /&gt;
NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALUE&lt;br /&gt;
------------------------------------ ----------- ------------------------------&lt;br /&gt;
remote_login_passwordfile&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXCLUSIVE&lt;br /&gt;
SQL&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now you can use either the SYS schema or any schema which has the SYSDBA privilege on the ASM instance(SYSASM privilege in 11g upwards).&lt;br /&gt;
&lt;br /&gt;
I use the SYS account for connecting to the ASM instance via Golden gate. &lt;br /&gt;
&lt;br /&gt;
Verify whether it works&lt;br /&gt;
&lt;br /&gt;
sqlplus &quot;sys/&amp;lt;password&amp;gt;@asm as sysdba&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now we need 2 processes running on the source system, which would be extract and Data Pump extract (DP) process. &lt;br /&gt;
+++++++++++++++++++++++++&lt;br /&gt;
Extract Process Configuration&lt;br /&gt;
++++++++++++++++++++++++&lt;br /&gt;
&lt;br /&gt;
Assuming you ran , the create subdirs command, you should see the following directories created.&lt;br /&gt;
&lt;br /&gt;
GGSCI (jupiter) 1&amp;gt; create subdirs &lt;br /&gt;
&lt;br /&gt;
Creating subdirectories under current directory /oracle/software/goldengate/11.1.1.1.2&lt;br /&gt;
&lt;br /&gt;
Parameter files&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /oracle/software/goldengate/11.1.1.1.2/dirprm: created&lt;br /&gt;
Report files&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /oracle/software/goldengate/11.1.1.1.2/dirrpt: created&lt;br /&gt;
Checkpoint files&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /oracle/software/goldengate/11.1.1.1.2/dirchk: created&lt;br /&gt;
Process status files&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /oracle/software/goldengate/11.1.1.1.2/dirpcs: created&lt;br /&gt;
SQL script files&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /oracle/software/goldengate/11.1.1.1.2/dirsql: created&lt;br /&gt;
Database definitions files&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /oracle/software/goldengate/11.1.1.1.2/dirdef: created&lt;br /&gt;
Extract data files&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /oracle/software/goldengate/11.1.1.1.2/dirdat: created&lt;br /&gt;
Temporary files&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /oracle/software/goldengate/11.1.1.1.2/dirtmp: created&lt;br /&gt;
Veridata files&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /oracle/software/goldengate/11.1.1.1.2/dirver: created&lt;br /&gt;
Veridata Lock files&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /oracle/software/goldengate/11.1.1.1.2/dirver/lock: created&lt;br /&gt;
Veridata Out-Of-Sync files&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /oracle/software/goldengate/11.1.1.1.2/dirver/oos: created&lt;br /&gt;
Veridata Out-Of-Sync XML files /oracle/software/goldengate/11.1.1.1.2/dirver/oosxml: created&lt;br /&gt;
Veridata Parameter files&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /oracle/software/goldengate/11.1.1.1.2/dirver/params: created&lt;br /&gt;
Veridata Report files&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /oracle/software/goldengate/11.1.1.1.2/dirver/report: created&lt;br /&gt;
Veridata Status files&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /oracle/software/goldengate/11.1.1.1.2/dirver/status: created&lt;br /&gt;
Veridata Trace files&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /oracle/software/goldengate/11.1.1.1.2/dirver/trace: created&lt;br /&gt;
Stdout files&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /oracle/software/goldengate/11.1.1.1.2/dirout: created&lt;br /&gt;
&lt;br /&gt;
Start the manager process&lt;br /&gt;
=================== &lt;br /&gt;
Please note that the manager process needs a mgr.prm file in dirprm directory which you have to create with&amp;nbsp; just 1 line as&lt;br /&gt;
PORT 7809.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GGSCI (jupiter) 4&amp;gt; start mgr&lt;br /&gt;
&lt;br /&gt;
Manager started.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GGSCI (jupiter) 5&amp;gt; info all&lt;br /&gt;
&lt;br /&gt;
Program&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Status&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Group&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Lag&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Time Since Chkpt&lt;br /&gt;
&lt;br /&gt;
MANAGER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RUNNING&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EXTRACT PROCESS&lt;br /&gt;
=================&lt;br /&gt;
We are planning to replicate a schema called SCOTT for both ddl and dml.&lt;br /&gt;
Please make sure that schema level logging is setup for the SCOTT schema (you should have typed&lt;br /&gt;
add schematrandata SCOTT).&lt;br /&gt;
Please go the the directory called dirprm under the GG home and create a file called &amp;lt;extract name&amp;gt;.prm.&lt;br /&gt;
&lt;br /&gt;
In our case the extract name is xtathdv and therefore the file is xtathdv.prm.&lt;br /&gt;
&lt;br /&gt;
Please populate the contents of xtathdv.prm as follows.&lt;br /&gt;
&lt;br /&gt;
---START OF EXTRACT FILE--&lt;br /&gt;
Extract XTATHDV&lt;br /&gt;
----------------------------------------------------&lt;br /&gt;
--Extract Process for XXX Database&lt;br /&gt;
--List of Schemas&lt;br /&gt;
--SCOTT&lt;br /&gt;
----------------------------------------------------&lt;br /&gt;
SETENV (ORACLE_HOME=&quot;/oracle/software/rdbms/11.2.0.3&quot;)&lt;br /&gt;
SETENV (ORACLE_SID=&quot;xxx&quot;)&lt;br /&gt;
userid ggddlusr, password &amp;lt;password&amp;gt;&lt;br /&gt;
TRANLOGOPTIONS ASMUSER &quot;sys@asm&quot;,asmpassword &quot;&amp;lt;password&amp;gt;&quot;&lt;br /&gt;
exttrail /oracle/goldengatedata/dirdat/at&lt;br /&gt;
Reportcount every 30 Minutes, Rate&lt;br /&gt;
Report at 11:00&lt;br /&gt;
ReportRollover at 11:15&lt;br /&gt;
DiscardFile /oracle/goldengatedata/dirrpt/xtathdv.dsc, Append&lt;br /&gt;
DiscardRollover at 06:00 ON MONDAY&lt;br /&gt;
DDL include Mapped&lt;br /&gt;
table SCOTT.*;&lt;br /&gt;
--END OF EXTRACT FILE&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Now go to the ggsci prompt and try starting the xtathdv extract process&lt;br /&gt;
&lt;br /&gt;
GGSCI (jupiter) 2&amp;gt; add extract xtathdv,tranlog, begin now&lt;br /&gt;
EXTRACT added.&lt;br /&gt;
&lt;br /&gt;
GGSCI (jupiter) 4&amp;gt; add exttrail&amp;nbsp; /oracle/goldengatedata/dirdat/at,extract xtathdv,megabytes 250&lt;br /&gt;
EXTTRAIL added.&lt;br /&gt;
&lt;br /&gt;
GGSCI (jupiter) 6&amp;gt; start ext xtathdv&lt;br /&gt;
&lt;br /&gt;
Sending START request to MANAGER ...&lt;br /&gt;
EXTRACT XTATHDV starting&lt;br /&gt;
&lt;br /&gt;
Check whether the extract is still running&lt;br /&gt;
&lt;br /&gt;
GGSCI (jupiter) 11&amp;gt; info all&lt;br /&gt;
&lt;br /&gt;
Program&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Status&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Group&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Lag&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Time Since Chkpt&lt;br /&gt;
&lt;br /&gt;
MANAGER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RUNNING&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
EXTRACT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RUNNING&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XTATHDV&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:00:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:00:05&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
In the next tutorial , we will set up and DataPump Extract Process.</content><link rel='replies' type='application/atom+xml' href='http://gauthamc.blogspot.com/feeds/3410355875844808109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gauthamc.blogspot.com/2012/05/golden-gate-setup-3-source-database.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/3410355875844808109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4149664106915683492/posts/default/3410355875844808109'/><link rel='alternate' type='text/html' href='http://gauthamc.blogspot.com/2012/05/golden-gate-setup-3-source-database.html' title='Golden Gate Setup 3 (Source Database) Extract Process'/><author><name>Gautham Chandrasekaran</name><uri>http://www.blogger.com/profile/14464868178108961695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>