<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>My Love with SQL Server</title>
	<atom:link href="http://msrviking.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://msrviking.wordpress.com</link>
	<description>Learnings, Experiences on SQL Server</description>
	<lastBuildDate>Tue, 21 May 2013 14:25:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='msrviking.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>My Love with SQL Server</title>
		<link>http://msrviking.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://msrviking.wordpress.com/osd.xml" title="My Love with SQL Server" />
	<atom:link rel='hub' href='http://msrviking.wordpress.com/?pushpress=hub'/>
		<item>
		<title>CDIs-Non Functional Requirements-Other few</title>
		<link>http://msrviking.wordpress.com/2013/05/21/cdis-non-functional-requirements-other-few/</link>
		<comments>http://msrviking.wordpress.com/2013/05/21/cdis-non-functional-requirements-other-few/#comments</comments>
		<pubDate>Tue, 21 May 2013 14:22:46 +0000</pubDate>
		<dc:creator>msrviking</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Data Integration]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[CDI]]></category>
		<category><![CDATA[Data Hub]]></category>
		<category><![CDATA[Extensibility]]></category>
		<category><![CDATA[Maintainenance]]></category>
		<category><![CDATA[NFR]]></category>
		<category><![CDATA[Non Functional Requirement]]></category>
		<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://msrviking.wordpress.com/?p=420</guid>
		<description><![CDATA[In the series of CDIs-Non Functional Requirements I had covered on NFRs like Performance, Scalability, Availability, Reliability, and Utilization Benchmarks that could be useful to build a CDI system. In this post I shall talk about less known but important NFRs like Maintainability, Extensibility and Security. I wouldn&#8217;t term these as NFRs but questions on [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=msrviking.wordpress.com&#038;blog=5015044&#038;post=420&#038;subd=msrviking&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">In the series of CDIs-Non Functional Requirements I had covered on NFRs like Performance, Scalability, Availability, Reliability, and Utilization Benchmarks that could be useful to build a CDI system. In this post I shall talk about less known but important NFRs like Maintainability, Extensibility and Security. I wouldn&#8217;t term these as NFRs but questions on these topics will help you to get an insight on how the system is expected to behave, from a business and technical perspective. Also, these don&#8217;t work in silos, instead are linked back to some of the ones mentioned in the above list.<br />
</span></p>
<h3>Maintainability</h3>
<ol>
<li>
<div><span style="font-family:Lucida Sans Unicode;font-size:9pt;">What is the maintenance/release cycle?<br />
</span></div>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">This question will give us an idea on the practices that is followed by the business and technical teams about the release cycle. And each release cycle would mean there would be change in the source system which may be applicable to down-stream applications. The more the release cycles, the difficult is the job of maintaining code base. And to avoid long-term overheads the system, data model and the low level design of the ETLs should be carefully built considering that this changes would be constant, and frequent.<br />
</span></li>
<li>
<div><span style="font-family:Lucida Sans Unicode;font-size:9pt;">How frequently do source or target structures change? What is the probability of such change?<br />
</span></div>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">This point is relevant to the first question, but elicits information one level deeper by asking &#8220;if more maintenance cycles, what are those changes at source and expected to be in target&#8221;. If the changes are constant, frequent and less complex then the data model and the ETLs have to be configurable to accommodate &#8216;certain&#8217; changes in the source. The configurability comes with a rider and tradeoff on other NFR like performance. The changes on data source could affect the performance of the ETL and sometimes the business laid SLA can&#8217;t be met.<br />
</span></li>
</ol>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Now having said this, I presume the next NFR will be closely related with Maintainability.<br />
</span></p>
<h3>Configurability</h3>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">The answers to queries under this topic is supposedly to be challenging for the business, and technical teams. Not everyone is sure of what should be configurable and what shouldn&#8217;t be based on the changes that are expected from business at the source system level. One would get the answer of &#8220;not sure&#8221;, &#8220;may be&#8221;, &#8220;near future quite possible&#8221;, &#8220;probably&#8221; the source will change, and what change will remain as a question. The challenge of providing an appropriate solution at different layers will be a daunting task for the technical team.<br />
</span></p>
<ol>
<li>
<div style="text-align:justify;"><span style="font-family:Lucida Sans Unicode;font-size:9pt;">How many different/divergent sources (different source formats) are expected to be supported?<br />
</span></div>
<p style="text-align:justify;"><span style="font-family:Lucida Sans Unicode;font-size:9pt;">The answer to this question will help in understanding what formats of sources (csv, tsv, xml..etc…) have to be supported, and if there is plenty of difference then alternate design practices could be implemented on the target which could provide extensibility to all formats.<br />
</span></p>
<p style="text-align:justify;">
</li>
<li>
<div style="text-align:justify;"><span style="font-family:Lucida Sans Unicode;font-size:9pt;">What kind of enhancements/changes to source formats are expected to come in?<br />
</span></div>
<p style="text-align:justify;"><span style="font-family:Lucida Sans Unicode;font-size:9pt;">An answer to this point would help in deciding if there be abstract transformations or reusable mappings.<br />
</span></p>
<p style="text-align:justify;">
</li>
<li>
<div style="text-align:justify;"><span style="font-family:Lucida Sans Unicode;font-size:9pt;">What is the probability of getting new sources added? How frequently does the source format change? How divergent will the new source formats be?<br />
</span></div>
<p style="text-align:justify;"><span style="font-family:Lucida Sans Unicode;font-size:9pt;">This information will help in knowing how often the sources format change, and is it with existing sources or with new ones. Again it would also help in deciding between abstract transformations or reusable mappings.<br />
</span></p>
</li>
</ol>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">The last NFR is Security which is usually the last preferred in any system architecture and design, but most important.<br />
</span></p>
<h3>Security</h3>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">In case of CDI we are dealing with sensitive information of the customer and the transaction details. It is important to understand how business treats this type of data, and how do security compliance team want to consider the data is being gathered from different source systems and consolidated at a single place – &#8220;Data hub&#8221;. The below bunch of questions cover on the data protection level rather than access levels or privileges of different users.<br />
</span></p>
<ol>
<li>
<div><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Are there any special security requirements (such as data encryption or privacy) applicable?<br />
</span></div>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">An answer to this question usually would be &#8220;no&#8221;, but there are certain fields that are brought in from CRM and ERP systems and needs to be hidden from any misuse in case of breach of security. It is suggested that this question is explained well with a real scenario, and then a decision of having data or database encryption enabled or not could be taken.<br />
</span></li>
<li>
<div><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Are there any logging and auditing requirements?<br />
</span></div>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">This is least required since the data from different systems is mostly massaged and made available in reporting format through a different data sink. A discussion in here would help in deciding if the security should be handled at reporting level (enabling different security features), rather than in massive data processes.<br />
</span></li>
</ol>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">I hope all these posts on NFR for CDIs helps you in architecting, designing Data Hub system that is highly available, scalable, high performing, and most reliable.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Cheers!</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/msrviking.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/msrviking.wordpress.com/420/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=msrviking.wordpress.com&#038;blog=5015044&#038;post=420&#038;subd=msrviking&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://msrviking.wordpress.com/2013/05/21/cdis-non-functional-requirements-other-few/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/57f7848591a36649188221501e205a0c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Viking</media:title>
		</media:content>
	</item>
		<item>
		<title>Oracle to SQL Server Replication-Design considerations</title>
		<link>http://msrviking.wordpress.com/2013/05/21/oracle-to-sql-server-replication-design-considerations/</link>
		<comments>http://msrviking.wordpress.com/2013/05/21/oracle-to-sql-server-replication-design-considerations/#comments</comments>
		<pubDate>Tue, 21 May 2013 08:37:47 +0000</pubDate>
		<dc:creator>msrviking</dc:creator>
				<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Data Integration]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Heterogeneous]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Replication]]></category>
		<category><![CDATA[Configuring]]></category>
		<category><![CDATA[limitations]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Publisher]]></category>
		<category><![CDATA[SQL Server 2012]]></category>
		<category><![CDATA[Transactional Replication]]></category>

		<guid isPermaLink="false">http://msrviking.wordpress.com/?p=416</guid>
		<description><![CDATA[I am thinking I have covered all and best of the points for one to configure a transactional replication between Oracle and SQL Server in all my previous posts. In this post I would like to give my 2 cents on design considerations and limitations of Oracle publishers that I had to keep in mind [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=msrviking.wordpress.com&#038;blog=5015044&#038;post=416&#038;subd=msrviking&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">I am thinking I have covered all and best of the points for one to configure a transactional replication between Oracle and SQL Server in all my previous <a href="https://msrviking.wordpress.com/category/replication/">posts</a>. In this post I would like to give my 2 cents on design considerations and limitations of Oracle publishers that I had to keep in mind during this exercise. There is a neat list of other points published in this Technet <a href="http://msdn.microsoft.com/en-us/library/ms151859.aspx">article</a>.<br />
</span></p>
<ol>
<li>
<div><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Configuration of Oracle Publisher with options<br />
</span></div>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Per the above article I learnt that the Oracle publishing can be done using the Oracle Gateway and Oracle Complete options. Few things that make difference these two options is that Oracle Gateway provides better performance but doesn&#8217;t let multi-transactional publications of a single to-be or published table. Whereas in the case of Oracle Complete option the table can be published in several publications, but lesser performance.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">I tried digging in Google to see on how these two options work as described, because I didn&#8217;t try on the setup I built to find the difference. I didn&#8217;t find any reliable sources that talk about difference in detail but one of the <a href="http://sqlserverpedia.com/wiki/Creating_Oracle_Replication_Publications">posts</a> by Richard Douglas (Editor in Chief of SQL ServerPedia) gives a short description &#8220;Gateway is for high performance replication solutions. Complete is when you want to transform your data or to do row filtering&#8221;. I might have to try and see what it means in here.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">I remember seeing row filtering in a transaction replication using the option of Oracle Gateway, and I am yet to find out on how this is different when Oracle Complete is chosen. For now I shall park for future tries on this limitation and share my findings.<br />
</span></li>
<li>
<div><a href="http://msdn.microsoft.com/en-us/library/ms151859.aspx"><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Replication supports few objects and not all on Oracle<br />
</span></a></div>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">It&#8217;s quite obvious with this point (supports few objects) because the similarities that Oracle and SQL Server have at object level implementation are few. So,<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">What are the objects that are supported?<br />
</span></p>
<p style="margin-left:36pt;">
<ol>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Tables<br />
</span></li>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Index-organized tables<br />
</span></li>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Indexes<br />
</span></li>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Materialized views (as tables)<br />
</span></li>
</ol>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">What are those objects that cannot be replicated, but can exist on published tables?<br />
</span></p>
<ol>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Domain-based indexes<br />
</span></li>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Function-based indexes<br />
</span></li>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Defaults<br />
</span></li>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Check constraints<br />
</span></li>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Foreign keys<br />
</span></li>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Storage options (tablespaces, clusters, etc.)<br />
</span></li>
</ol>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">What are the objects that cannot be replicated at all?<br />
</span></p>
<ol>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Nested tables<br />
</span></li>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Views<br />
</span></li>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Packages, package bodies, procedures, and triggers<br />
</span></li>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Queues<br />
</span></li>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Sequences<br />
</span></li>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Synonyms<br />
</span></li>
</ol>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Okay with this list we know what can be replicated, what cannot be replicated? I picked the list from the above post, but was hunting to find out why we can&#8217;t replicate these objects. One simple reason that keeps coming to my mind is that &#8220;some of the above objects in the &#8216;cannot&#8217; list don&#8217;t have equivalents in SQL Server&#8221;. Okay, so aren&#8217;t there workarounds for these objects? For example Packages have bundle of programmed objects like packaged variables, cursors and few others which have to be converted through a specific process, and this specific process can&#8217;t be through Replication. That exercise could be migration of objects from Oracle to SQL Server, and surely can&#8217;t be part of Replication topology. Does this apply for simple objects also? I don&#8217;t have any technical reason to explain for this too so concluding it with my 2 cents. Meanwhile I shall see if I can find better &#8220;reasons&#8221;.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Here is a <a href="http://download.microsoft.com/download%2F7%2FC%2F2%2F7C20B070-BFF8-44B4-BD7D-1B03DF50F924%2FMigrateOracletoSQLServer2008.docx">link</a> from Microsoft on what it all means to convert some of the above listed objects. This was one of the reasons that I helped me to conclude logically that this is part of migration from Oracle to SQL Server and can&#8217;t be part of Replication at a conceptual or architectural level.<br />
</span></li>
</ol>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Since my setup was to test the new Oracle Publisher I didn&#8217;t have to keep tab on other design considerations, but I am sure I will have to deal with others too when this gets on to full deployment mode than a POC.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">I hope this short post helps you folks out there, and happy reading.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">The usual ask – please feel free to share your thoughts or comments.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Cheers!</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/msrviking.wordpress.com/416/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/msrviking.wordpress.com/416/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=msrviking.wordpress.com&#038;blog=5015044&#038;post=416&#038;subd=msrviking&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://msrviking.wordpress.com/2013/05/21/oracle-to-sql-server-replication-design-considerations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/57f7848591a36649188221501e205a0c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Viking</media:title>
		</media:content>
	</item>
		<item>
		<title>Oracle to SQL Server data synchronization–What are the other ways?</title>
		<link>http://msrviking.wordpress.com/2013/05/17/oracle-to-sql-server-data-synchronization-what-are-the-other-ways-2/</link>
		<comments>http://msrviking.wordpress.com/2013/05/17/oracle-to-sql-server-data-synchronization-what-are-the-other-ways-2/#comments</comments>
		<pubDate>Fri, 17 May 2013 09:15:49 +0000</pubDate>
		<dc:creator>msrviking</dc:creator>
				<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Data Integration]]></category>
		<category><![CDATA[Replication]]></category>
		<category><![CDATA[Heterogeneous]]></category>
		<category><![CDATA[Integration Services]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[SQL Server 2012]]></category>
		<category><![CDATA[Publisher]]></category>
		<category><![CDATA[Data Synchronization]]></category>
		<category><![CDATA[SSIS]]></category>
		<category><![CDATA[CDC]]></category>
		<category><![CDATA[Change Data Capture]]></category>
		<category><![CDATA[Attunity]]></category>

		<guid isPermaLink="false">http://msrviking.wordpress.com/?p=411</guid>
		<description><![CDATA[In this series I have been talking about environment setup, configuring the box with appropriate drivers, setting up Oracle Publisher and then short post on Transactional Replication. While doing this I had my bit of issues in setting and configuring the whole workflow so a parallel thread was running in my head asking only one [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=msrviking.wordpress.com&#038;blog=5015044&#038;post=411&#038;subd=msrviking&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="background:white;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">In this <a href="http://msrviking.wordpress.com/category/replication/" target="_blank"><span style="color:#333333;">series</span></a> I have been talking about environment setup, configuring the box with appropriate drivers, setting up Oracle Publisher and then short post on Transactional Replication. While doing this I had my bit of issues in setting and configuring the whole workflow so a parallel thread was running in my head asking only one question &#8211; &#8220;Is this the only way to synchronize data from Oracle?&#8221;.<br />
</span></p>
<p style="background:white;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">The only one option which was looking viable was using SSIS, and with SSIS 2012 lot more features have come in to help the situation. I haven&#8217;t worked on using SSIS – CDC for Oracle per below links but intend to do it sometime.<br />
</span></p>
<p style="background:white;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">Here are the few links I found when I Googled around on this topic,<br />
</span></p>
<p style="background:white;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">1. Microsoft SQL Server 2012 Change Data Capture for Oracle by Attunity Topics (<a href="http://social.technet.microsoft.com/wiki/contents/articles/7644.microsoft-sql-server-2012-change-data-capture-for-oracle-by-attunity-topics.aspx"><span style="color:#333333;">http://social.technet.microsoft.com/wiki/contents/articles/7644.microsoft-sql-server-2012-change-data-capture-for-oracle-by-attunity-topics.aspx</span></a>)<br />
</span></p>
<p style="background:white;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">2. CDC for Oracle in SQL Server 2012 (<a href="http://blogs.msdn.com/b/mattm/archive/2012/03/26/cdc-for-oracle-in-sql-server-2012.aspx"><span style="color:#333333;">http://blogs.msdn.com/b/mattm/archive/2012/03/26/cdc-for-oracle-in-sql-server-2012.aspx</span></a>)<br />
</span></p>
<p style="background:white;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">3. CDC in SSIS for SQL Server 2012 (<a href="http://www.mattmasson.com/2011/12/cdc-in-ssis-for-sql-server-2012-2/)"><span style="color:#333333;">http://www.mattmasson.com/2011/12/cdc-in-ssis-for-sql-server-2012-2/)</span></a><br />
</span></p>
<p style="background:white;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">4. Installing Microsoft SQL Server 2012 Change Data Capture for Oracle by Attunity (<a href="http://social.technet.microsoft.com/wiki/contents/articles/7647.installing-microsoft-sql-server-2012-change-data-capture-for-oracle-by-attunity.aspx)"><span style="color:#333333;">http://social.technet.microsoft.com/wiki/contents/articles/7647.installing-microsoft-sql-server-2012-change-data-capture-for-oracle-by-attunity.aspx)</span></a><br />
</span></p>
<p style="background:white;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">5. Change Data Capture (CDC) for Oracle video now available (<a href="http://www.mattmasson.com/2012/09/change-data-capture-cdc-for-oracle-video-now-available/)"><span style="color:#333333;">http://www.mattmasson.com/2012/09/change-data-capture-cdc-for-oracle-video-now-available/)</span></a><br />
</span></p>
<p style="background:white;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">6. SQL Server 2012 CDC for Oracle – a Review of One Implementation (<a href="http://blogs.msdn.com/b/dfurman/archive/2013/04/15/sql-server-2012-cdc-for-oracle-a-review-of-one-implementation.aspx)"><span style="color:#333333;">http://blogs.msdn.com/b/dfurman/archive/2013/04/15/sql-server-2012-cdc-for-oracle-a-review-of-one-implementation.aspx)</span></a><br />
</span></p>
<p style="background:white;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">7. Troubleshoot CDC Instance Errors in Microsoft Change Data Capture for Oracle by Attunity (<a href="http://social.technet.microsoft.com/wiki/contents/articles/7642.troubleshoot-cdc-instance-errors-in-microsoft-change-data-capture-for-oracle-by-attunity.aspx)"><span style="color:#333333;">http://social.technet.microsoft.com/wiki/contents/articles/7642.troubleshoot-cdc-instance-errors-in-microsoft-change-data-capture-for-oracle-by-attunity.aspx)</span></a><br />
</span></p>
<p style="background:white;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">Although I say that SSIS is the best option and yet to be tested I wanted to list the differences of implementation using Replication and SSIS. So I built a quick comparison table between Replication and SSIS from perspective of DDL and Performance to start, and this is work-in-progress. As of now I am unable to judge the timeline I should tie to close this table of comparison with other factors included. Nevertheless I am thinking this should help you folks too, just in case.<br />
</span></p>
<div>
<table style="border-collapse:collapse;" border="0">
<col style="width:85px;" />
<col style="width:117px;" />
<col style="width:80px;" />
<col style="width:98px;" />
<col style="width:105px;" />
<tbody valign="top">
<tr>
<td style="padding:8px;border:solid #ddddee .75pt;">
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;"><strong>Feature Category</strong></span></p>
</td>
<td style="border-top:solid #ddddee .75pt;border-left:none;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;">
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;"><strong>Feature</strong></span></p>
</td>
<td style="border-top:solid #ddddee .75pt;border-left:none;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;">
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;"><strong>SSIS </strong></span></p>
</td>
<td style="border-top:solid #ddddee .75pt;border-left:none;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;">
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;"><strong>Repli-cation</strong></span></p>
</td>
<td style="border-top:solid #ddddee .75pt;border-left:none;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;">
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;"><strong>Notes</strong></span></p>
</td>
</tr>
<tr>
<td style="border-top:none;border-left:solid #ddddee .75pt;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;">
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">DDL /Schema Changes</span></p>
</td>
<td style="border-top:none;border-left:none;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;">
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">- New column addition<br />
</span></p>
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">- Change in mapped (source) column name<br />
</span></p>
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">- Change in data type of source column name<br />
</span></p>
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">- Drop column in the source table</span></p>
</td>
<td style="border-top:none;border-left:none;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;">
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">Yes (customized coding and SMO)</span></p>
</td>
<td style="border-top:none;border-left:none;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;">
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">No</span></p>
</td>
<td style="border-top:none;border-left:none;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">- SSIS – SMO based programming can help in detecting changes at the source and help in remapping in destination<br />
</span></p>
<p><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">- Replication – Subscriber has to be dropped /deleted, Publisher should add new table or regenerate the snapshot in case of Oracle publisher</span></td>
</tr>
<tr>
<td style="border-top:none;border-left:solid #ddddee .75pt;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;">
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">Performance</span></p>
</td>
<td style="border-top:none;border-left:none;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;">
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">- On source table or system</span></p>
</td>
<td style="border-top:none;border-left:none;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;">
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">Impacted</span></p>
</td>
<td style="border-top:none;border-left:none;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;">
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">Impacted</span></p>
</td>
<td style="border-top:none;border-left:none;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">- Replication &#8211; Triggers are created on the published tables to track data change at row level. Such triggers could be overhead to Oracle published tables. Triggers are created by SQL Server replication to capture data changes<br />
</span></p>
<p><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">- SSIS – the impact on the performance on the source table is lesser comparatively to replication since no triggers are created for tracking the changes of data. This could be achieved using CDC with SSIS 2012 for Oracle</span></td>
</tr>
<tr>
<td style="border-top:none;border-left:solid #ddddee .75pt;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;"></td>
<td style="border-top:none;border-left:none;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;">
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">- On destination table or system</span></p>
</td>
<td style="border-top:none;border-left:none;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;">
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">Impacted</span></p>
</td>
<td style="border-top:none;border-left:none;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;">
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">Impacted</span></p>
</td>
<td style="border-top:none;border-left:none;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">- Replication &#8211; in case of large data changes (inserts and updates) transactional replication could cause performance bottleneck on the destination /subscriber tables because of DML statements cause lock escalation on the tables. Another option for large data changes is to use snapshot replication<br />
</span></p>
<p><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">- SSIS – the impact is lesser and can be controlled by batch operations</span></td>
</tr>
<tr>
<td style="border-top:none;border-left:solid #ddddee .75pt;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;">
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">Synchro<br />
</span></p>
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">nization</span></p>
</td>
<td style="border-top:none;border-left:none;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;">
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">- Real-time</span></p>
</td>
<td style="border-top:none;border-left:none;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;">
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">Supported</span></p>
</td>
<td style="border-top:none;border-left:none;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;">
<p style="text-align:center;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">Supported</span></p>
</td>
<td style="border-top:none;border-left:none;border-bottom:solid #ddddee .75pt;border-right:solid #ddddee .75pt;padding:8px;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">- Replication – transactional replication helps in achieving the real-time data synch up between Oracle and SQL Server however if the data changes are large then this could impact the performance. There is very minimal latency of data synchronization<br />
</span></p>
<p><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">- SSIS – with CDC for Oracle using SSIS 2012, real-time synchronization is achievable without any performance overhead, since no triggers are created on Oracle tables, and the changes in data doesn&#8217;t need any configuration or maintenance or setup issues because of the capabilities of CDC to create change tables in SQL Server. The data captured as part of changes is applied by SQL Server through the CDC tables</span></td>
</tr>
</tbody>
</table>
</div>
<p style="background:white;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">Please feel free to share your thoughts or comments. Happy reading.<br />
</span></p>
<p style="background:white;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">Cheers!<br />
</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/msrviking.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/msrviking.wordpress.com/411/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=msrviking.wordpress.com&#038;blog=5015044&#038;post=411&#038;subd=msrviking&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://msrviking.wordpress.com/2013/05/17/oracle-to-sql-server-data-synchronization-what-are-the-other-ways-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/57f7848591a36649188221501e205a0c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Viking</media:title>
		</media:content>
	</item>
		<item>
		<title>Oracle to SQL Server Replication – Configure Transactional Replication w/ Pull Subscription</title>
		<link>http://msrviking.wordpress.com/2013/05/16/oracle-to-sql-server-replication-configure-transactional-replication-w-pull-subscription/</link>
		<comments>http://msrviking.wordpress.com/2013/05/16/oracle-to-sql-server-replication-configure-transactional-replication-w-pull-subscription/#comments</comments>
		<pubDate>Thu, 16 May 2013 11:21:23 +0000</pubDate>
		<dc:creator>msrviking</dc:creator>
				<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Data Integration]]></category>
		<category><![CDATA[Heterogeneous]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Replication]]></category>
		<category><![CDATA[Configuring]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Publisher]]></category>
		<category><![CDATA[pull subscription]]></category>
		<category><![CDATA[SQL Server 2012]]></category>
		<category><![CDATA[Transactional Replication]]></category>

		<guid isPermaLink="false">http://msrviking.wordpress.com/?p=393</guid>
		<description><![CDATA[This post is going to be short because I am thinking I shouldn&#8217;t give my bit of explanation on how to configure a Transactional Replication in SQL Server against Oracle Publisher because there is no difference that I could share. Instead let me share few links that are well explained by few other SQL Server [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=msrviking.wordpress.com&#038;blog=5015044&#038;post=393&#038;subd=msrviking&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">This post is going to be short because I am thinking I shouldn&#8217;t give my bit of explanation on how to configure a Transactional Replication in SQL Server against Oracle Publisher because there is no difference that I could share.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Instead let me share few links that are well explained by few other SQL Server experts on how to configure SQL Server Transactional Replication except that you have to pick already configured Oracle Publisher in the publication list.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">So here are those for your reference and as guidance.<br />
</span></p>
<ul style="margin-left:72pt;">
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Replication Quick Start Guide for Oracle &#8211; Creating a Subscription (<a href="http://technet.microsoft.com/en-us/library/cc966428.aspx#EDAA">http://technet.microsoft.com/en-us/library/cc966428.aspx#EDAA</a>)<br />
</span></li>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Introduction to SQL Server Heterogeneous Replication &#8211; (<a href="http://www.mssqltips.com/sqlservertip/2300/introduction-to-sql-server-heterogeneous-replication/">http://www.mssqltips.com/sqlservertip/2300/introduction-to-sql-server-heterogeneous-replication/</a>)<br />
</span></li>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Transactional Replication Setup – (<a href="http://databaseexpertise.com/sql-server/transactional-replication-setup-by-abi-chapagai/">http://databaseexpertise.com/sql-server/transactional-replication-setup-by-abi-chapagai/</a>)<br />
</span></li>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Heterogeneous Database Replication – (<a href="http://msdn.microsoft.com/en-us/library/ms151216%28v=sql.105%29.aspx">http://msdn.microsoft.com/en-us/library/ms151216%28v=sql.105%29.aspx</a>)<br />
</span></li>
</ul>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">The last link is the source for me to work on the design, implementation and troubleshooting of Oracle Publisher – SQL Server Transaction Replication w/ Pull Subscription. In few of my concluding posts of this series I shall talk about the design, deployment and issues I had faced.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Happy reading.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Cheers!</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/msrviking.wordpress.com/393/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/msrviking.wordpress.com/393/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=msrviking.wordpress.com&#038;blog=5015044&#038;post=393&#038;subd=msrviking&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://msrviking.wordpress.com/2013/05/16/oracle-to-sql-server-replication-configure-transactional-replication-w-pull-subscription/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/57f7848591a36649188221501e205a0c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Viking</media:title>
		</media:content>
	</item>
		<item>
		<title>CDIs-Non Functional Requirement-Utilization Benchmarks</title>
		<link>http://msrviking.wordpress.com/2013/05/16/cdis-non-functional-requirement-utilization-benchmarks/</link>
		<comments>http://msrviking.wordpress.com/2013/05/16/cdis-non-functional-requirement-utilization-benchmarks/#comments</comments>
		<pubDate>Thu, 16 May 2013 06:58:07 +0000</pubDate>
		<dc:creator>msrviking</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Data Integration]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Benchmarks]]></category>
		<category><![CDATA[Capacity Planning]]></category>
		<category><![CDATA[CDI]]></category>
		<category><![CDATA[Data Hub]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[NFR]]></category>
		<category><![CDATA[Non Functional Requirement]]></category>
		<category><![CDATA[Utilization]]></category>

		<guid isPermaLink="false">http://msrviking.wordpress.com/?p=383</guid>
		<description><![CDATA[In this post I shall share my thoughts on how these questions would help in designing system to meet the response time, and performance. Some of these are about the history of the existing systems and few are about the future requirements. Lot of English, eh, so straight message is that answers to these questions [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=msrviking.wordpress.com&#038;blog=5015044&#038;post=383&#038;subd=msrviking&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="background:white;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">In this post I shall share my thoughts on how these questions would help in designing system to meet the response time, and performance. Some of these are about the history of the existing systems and few are about the future requirements. Lot of English, eh, so straight message is that answers to these questions will help me in gathering &#8220;baselines and benchmarks&#8221; of the past and future. And once I get to know I should have<br />
</span></p>
<ol>
<li>
<div style="background:white;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">A system designed that performs with low latency (quick response time) for any operation<br />
</span></div>
</li>
<li>
<div style="background:white;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">Built an infrastructure (especially servers) that would meet future performance requirements<br />
</span></div>
</li>
</ol>
<p style="background:white;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">Let me group these questions based on purpose and tag with some key words, for easy understanding.<br />
</span></p>
<div>
<table style="border-collapse:collapse;" border="0">
<col style="width:72px;" />
<col style="width:378px;" />
<col style="width:396px;" />
<tbody valign="top">
<tr style="background:white;">
<td style="padding-left:7px;padding-right:7px;border-top:none;border-bottom:solid #9cc2e5 1.5pt;border-right:none;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;"><strong>Q#</strong></span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 1.5pt;border-right:none;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;"><strong>Question</strong></span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 1.5pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;"><strong>Purpose &#8211; Keywords</strong></span></td>
</tr>
<tr style="background:#deeaf6;">
<td style="padding-left:7px;padding-right:7px;border-top:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">1</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">How many rows are created every day in transactional DBs?</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">To get current baselines on how many rows are generated from business transactions – row size, storage space, disk size, CPU size, computation power</span></td>
</tr>
<tr>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">2</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">What is the size of data that is generated across LOBs?</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">To get current baselines on how many rows are generated from business transactions per line of business – row size, storage space, disk size</span></td>
</tr>
<tr style="background:#deeaf6;">
<td style="padding-left:7px;padding-right:7px;border-top:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">3</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">What is the agreeable processing time of data in data hub</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">To understand future benchmarks of the data hub – CPU sizing</span></td>
</tr>
<tr style="height:33px;">
<td style="padding-left:7px;padding-right:7px;border-top:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">4</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">How stale can the reporting data be?</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">To understand future benchmarks of the data hub – storage sizing</span></td>
</tr>
<tr style="height:33px;background:#deeaf6;">
<td style="padding-left:7px;padding-right:7px;border-top:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">5</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">How much of the processed data and data used for reporting has to be archived /purged?<br />
</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">To understand future benchmarks on how the archived data would be used in reporting system – server sizing, storage sizing</span></td>
</tr>
<tr style="height:33px;">
<td style="padding-left:7px;padding-right:7px;border-top:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">6</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">How many years of data have to be archived in the system?<br />
</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">To understand future benchmarks on how the archived data would be used in reporting system – server sizing, storage sizing</span></td>
</tr>
<tr style="height:33px;background:#deeaf6;">
<td style="padding-left:7px;padding-right:7px;border-top:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">7</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">How many years of yester year&#8217;s data have to be processed?</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">To understand future benchmarks on how the archived data would be used in reporting system – server sizing, storage sizing, CPU sizing, RAM sizing</span></td>
</tr>
<tr style="height:33px;">
<td style="padding-left:7px;padding-right:7px;border-top:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">8</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">What will be year on year growth of data in the transactional source system?<br />
</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">To understand current baselines and future benchmarks on the data that needs to be processed – server sizing, storage sizing, CPU sizing, RAM sizing</span></td>
</tr>
<tr style="height:33px;background:#deeaf6;">
<td style="padding-left:7px;padding-right:7px;border-top:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">9</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">What could be the other sources of data that could be added during a period of 1-2 years, and how much of these data sources could provide data to data hub?<br />
</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">To understand current baselines and future benchmarks on the data that needs to be processed – server sizing, storage sizing, CPU sizing, RAM sizing</span></td>
</tr>
<tr style="height:33px;">
<td style="padding-left:7px;padding-right:7px;border-top:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">10</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">What are the agreeable database system downtime hours?</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">To understand future benchmarks on how quick the data processing should complete – CPU sizing, RAM sizing</span></td>
</tr>
<tr style="height:33px;background:#deeaf6;">
<td style="padding-left:7px;padding-right:7px;border-top:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">11</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">What is the possible backup and recovery time required for the Data Hub and Reporting system?<br />
</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">To understand on how quickly should the whole data hub and BI system be back up and running – servers sizing, storage sizing, CPU sizing, RAM sizing</span></td>
</tr>
<tr style="height:33px;">
<td style="padding-left:7px;padding-right:7px;border-top:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">12</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">How many users will be added year on year for the reporting system, and what are the types of users?<br />
</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">To understand future benchmarks on how the reporting and data hub system resources will be utilized – servers sizing, storage sizing, CPU sizing, RAM sizing</span></td>
</tr>
<tr style="height:33px;background:#deeaf6;">
<td style="padding-left:7px;padding-right:7px;border-top:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">13</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">Are there any other external systems that would require the data from data hub?<br />
</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;" rowspan="5"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">To understand current baselines of data processing and BI systems – server sizing</span></td>
</tr>
<tr style="height:33px;">
<td style="padding-left:7px;padding-right:7px;border-top:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">14</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">How many rows of the transactional /business system needs to be processed for the Data Hub?<br />
</span></td>
</tr>
<tr style="height:33px;background:#deeaf6;">
<td style="padding-left:7px;padding-right:7px;border-top:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">15</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">How much data is currently processed for reports?<br />
</span></td>
</tr>
<tr style="height:33px;">
<td style="padding-left:7px;padding-right:7px;border-top:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">16</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">What type of data processing queries exist in the system which provide Static /Ad-Hoc reports?<br />
</span></td>
</tr>
<tr style="height:33px;background:#deeaf6;">
<td style="padding-left:7px;padding-right:7px;border-top:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">17</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">What types of reports are currently available, and what is the resource usage?<br />
</span></td>
</tr>
<tr style="height:33px;">
<td style="padding-left:7px;padding-right:7px;border-top:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">18</span></td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;border-right:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">What are the query profiling inputs for these data processing queries /reporting queries?<br />
</span></p>
<ul style="margin-left:54pt;">
<li><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">CPU usage<br />
</span></li>
<li><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">Memory usage<br />
</span></li>
<li><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">Disk usage</span></li>
</ul>
</td>
<td style="padding-left:7px;padding-right:7px;border-top:none;border-left:none;border-bottom:solid #9cc2e5 .25pt;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">To understand current baselines of data processing and BI systems – server sizing</span></td>
</tr>
</tbody>
</table>
</div>
<p style="margin-left:36pt;">
<p><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">In the follow up post for this NFR I shall let you all know on how I translated as part of design and server sizing. Until then happy reading.<br />
</span></p>
<p><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">Please feel free to share your comments.<br />
</span></p>
<p><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;">Cheers!<br />
</span></p>
<p style="background:white;"><span style="color:#666666;font-family:Lucida Sans Unicode;font-size:9pt;"><br />
</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/msrviking.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/msrviking.wordpress.com/383/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=msrviking.wordpress.com&#038;blog=5015044&#038;post=383&#038;subd=msrviking&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://msrviking.wordpress.com/2013/05/16/cdis-non-functional-requirement-utilization-benchmarks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/57f7848591a36649188221501e205a0c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Viking</media:title>
		</media:content>
	</item>
		<item>
		<title>Oracle to SQL Server Replication-Configure Oracle Publisher</title>
		<link>http://msrviking.wordpress.com/2013/05/15/oracle-to-sql-server-replication-configure-oracle-publisher/</link>
		<comments>http://msrviking.wordpress.com/2013/05/15/oracle-to-sql-server-replication-configure-oracle-publisher/#comments</comments>
		<pubDate>Wed, 15 May 2013 07:19:32 +0000</pubDate>
		<dc:creator>msrviking</dc:creator>
				<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Data Integration]]></category>
		<category><![CDATA[Heterogeneous]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Replication]]></category>
		<category><![CDATA[Configuring]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Publisher]]></category>
		<category><![CDATA[SQL Server 2012]]></category>
		<category><![CDATA[Transactional Replication]]></category>

		<guid isPermaLink="false">https://msrviking.wordpress.com/?p=364</guid>
		<description><![CDATA[In today&#8217;s post as part of this series I will share few steps I diligently followed to configure Oracle publication. As first step certain pre-requisites have to be addressed on SQL Server box and the Oracle instance. 1. Installing Oracle client and OLE DB provider on SQL Server system I am not too much of [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=msrviking.wordpress.com&#038;blog=5015044&#038;post=364&#038;subd=msrviking&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">In today&#8217;s post as part of this series I will share few steps I diligently followed to configure Oracle publication. As first step certain pre-requisites have to be addressed on SQL Server box and the Oracle instance.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">1. Installing Oracle client and OLE DB provider on SQL Server system<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">I am not too much of an Oracle guy, but have fair deal of experience to identify annoying issues that rise from connecting between SQL Server and Oracle. So make sure you have the Oracle client and OLE DB provider installed appropriately on the SQL Server box.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">I didn&#8217;t play much with changing environment variable paths, tnsnames.ora, so I let the installations happen all by default path, and the end I wanted SQLPLUS let me connect to the Oracle instance from the box.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">So did it happen with me? Yes, after a bit of tussle I did manage to have Oracle connected and that was the first relieving moment only because I knew if I cross this first major hurdle others (configuring publisher, replication) would be easy steps. Here is the snapshot of the SQLPLUS that gave me a bit of smile, and the next one was in waiting (Oracle Publication).<br />
</span></p>
<p><img alt="" src="http://msrviking.files.wordpress.com/2013/05/screenshot005_thumb.jpg?w=460" /><span style="font-family:Lucida Sans Unicode;font-size:9pt;"><br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">There is one more tiny part to be done on SQL Server box, is to set read and execute permissions to the Oracle (client and provider) folders against the service account that runs SQL Server, and for obvious known reasons.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">2. Create Replication administrative user, schema<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">I used the commands from this blog <a href="http://blogs.msdn.com/b/sqlserverfaq/archive/2008/10/16/step-by-step-procedure-to-implement-sql-server-transactional-replication-with-oracle-as-publisher.aspx" target="_blank">post</a> and the post has decent inline comments on what each command does and what does it expect from you when you run this on Oracle instance.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Remember, that you logon using sysdba privileges (per recommendation), and in my case I managed to get hands on the sys login of the Oracle instance. The script has bunch of commands that needs to be executed on SQL Server instance too and that&#8217;s to configure Oracle Publication, Distributor and Replication with Pull Subscription.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">I didn&#8217;t run all those commands because I wanted to try through the GUI way of configuring the publication. So feel free to pick your path, however make sure you are following each step until configuring the Replication administrative user, creating a user schema, and grant appropriate permissions. If you miss any you might have trouble in making the Oracle side of publication work properly and I am sure you will be clueless for a little while and may revisit the steps you have executed.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">This step was not difficult and upon completion I know I was getting into the world of troubleshooting SQL Server to Oracle connectivity.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">I shall paste the steps &#8211; commands for your quick reference and are exact copy from the above link.<br />
</span></p>
<ul>
<li>
<div><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Logon to ORACLE database as SYSDBA and follow the below steps<br />
</span></div>
<ul>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Create Tablespace to Store SQL Server Replication Metadata Objects<br />
</span></li>
</ul>
</li>
</ul>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;"><em>&lt;Sample Script&gt;</em><br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;"><span style="color:blue;background-color:silver;">Create</span><span style="background-color:silver;"> Tablespace <span style="color:gray;">&lt;</span>SQL_REPLUSER_TBL<span style="color:gray;">&gt;</span></span><br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;"><span style="background-color:silver;">datafile <span style="color:red;">&#8216;&lt;Path&gt;\&lt;SQL_REPLUSER_TBL&gt;.dbf&#8217;</span><br />
<span style="color:blue;">size</span> 512M autoextend <span style="color:blue;">on</span><br />
<span style="color:blue;">next</span> 512M <span style="color:blue;">maxsize</span><br />
<span style="color:blue;">unlimited</span><br />
<span style="color:gray;">;</span></span><br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;"><em>&lt;/Sample Script&gt;<br />
</em></span></p>
<ul style="margin-left:72pt;">
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Create SQLReplUser on the ORACLE Database and make the tablespace created in step 1 above as the user default tablespace<br />
</span></li>
</ul>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;"><em>&lt;Sample Script&gt;</em><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211;***************************************************************************</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; Copyright (c) 2003 Microsoft Corporation</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; File:</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; oracleadmin.sql</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; Purpose:</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; PL/SQL script to create a database user with the required permissions</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; to administer SQL Server publishing for an Oracle database.</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; &amp;&amp;ReplLogin == Replication user login</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; &amp;&amp;ReplPassword == Replication user password</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; &amp;&amp;DefaultTablespace == Tablespace that will serve as the default tablespace for the</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; replication user.</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; The replication user will be authorized to allocate UNLIMITED space</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; on the default tablespace, which must already exist.</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; Notes:</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; This script must be run from an Oracle login having the authorization to</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; create a new user and grant unlimited tablespace on any existing tablespace. The</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; login must also be able to grant to the newly created login the following authorizations:</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211;</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; create public synonym</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; drop public synonym</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; create sequence</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; create procedure</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; create session</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; create table</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; create view</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211;</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; Additionally, the following properties are also required for transactional publications.</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211;</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; create any trigger</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211;</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; All of the privileges may be granted through a role, with the exception</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; of create table, create view, and create any trigger. These must be</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; granted explicitly to the replication user login. In the script, all grants are</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; granted explicitly to the replication user.</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211;</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; In addition to these general grants, a table owner must explicitly grant select</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; authorization to the replication user on a table before the table can be published.</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211;</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211;***************************************************************************</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:teal;">ACCEPT</span><br />
<span style="color:teal;">ReplLogin</span><br />
<span style="color:blue;">CHAR</span><br />
<span style="color:teal;">PROMPT</span><br />
<span style="color:red;">&#8216;User to create for replication: &#8216;<span style="color:gray;">;</span><br />
</span></span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:teal;">ACCEPT</span><br />
<span style="color:teal;">ReplPassword</span><br />
<span style="color:blue;">CHAR</span><br />
<span style="color:teal;">PROMPT</span><br />
<span style="color:red;">&#8216;Replication user passsword: &#8216;</span><br />
<span style="color:teal;">HIDE<span style="color:gray;">;</span><br />
</span></span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:teal;">ACCEPT</span><br />
<span style="color:teal;">DefaultTableSpace</span><br />
<span style="color:blue;">CHAR</span><br />
<span style="color:blue;">DEFAULT</span><br />
<span style="color:red;">&#8216;SYSTEM&#8217;</span><br />
<span style="color:teal;">PROMPT</span><br />
<span style="color:red;">&#8216;Default tablespace: &#8216;<span style="color:gray;">;</span><br />
</span></span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; Create the replication user account</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:blue;">CREATE</span><br />
<span style="color:blue;">USER</span><br />
<span style="color:gray;">&amp;&amp;<span style="color:teal;">ReplLogin</span><br />
<span style="color:teal;">IDENTIFIED</span><br />
<span style="color:blue;">BY</span> &amp;&amp;<span style="color:teal;">ReplPassword</span><br />
<span style="color:blue;">DEFAULT</span><br />
<span style="color:teal;">TABLESPACE</span> &amp;&amp;<span style="color:teal;">DefaultTablespace</span><br />
<span style="color:teal;">QUOTA</span><br />
<span style="color:blue;">UNLIMITED</span><br />
<span style="color:blue;">ON</span> &amp;&amp;<span style="color:teal;">DefaultTablespace<span style="color:gray;">;</span><br />
</span></span></span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; It is recommended that only the required grants be granted to this user.</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211;</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; The following 5 privileges are granted explicitly, but could be granted through a role.</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:blue;">GRANT</span><br />
<span style="color:blue;">CREATE</span><br />
<span style="color:blue;">PUBLIC</span><br />
<span style="color:blue;">SYNONYM</span><br />
<span style="color:blue;">TO</span><br />
<span style="color:gray;">&amp;&amp;<span style="color:teal;">ReplLogin<span style="color:gray;">;</span><br />
</span></span></span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:blue;">GRANT</span><br />
<span style="color:blue;">DROP</span><br />
<span style="color:blue;">PUBLIC</span><br />
<span style="color:blue;">SYNONYM</span><br />
<span style="color:blue;">TO</span><br />
<span style="color:gray;">&amp;&amp;<span style="color:teal;">ReplLogin<span style="color:gray;">;</span><br />
</span></span></span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:blue;">GRANT</span><br />
<span style="color:blue;">CREATE</span><br />
<span style="color:teal;">SEQUENCE</span><br />
<span style="color:blue;">TO</span><br />
<span style="color:gray;">&amp;&amp;<span style="color:teal;">ReplLogin<span style="color:gray;">;</span><br />
</span></span></span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:blue;">GRANT</span><br />
<span style="color:blue;">CREATE</span><br />
<span style="color:blue;">PROCEDURE</span><br />
<span style="color:blue;">TO</span><br />
<span style="color:gray;">&amp;&amp;<span style="color:teal;">ReplLogin<span style="color:gray;">;</span><br />
</span></span></span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:blue;">GRANT</span><br />
<span style="color:blue;">CREATE</span><br />
<span style="color:blue;">SESSION</span><br />
<span style="color:blue;">TO</span><br />
<span style="color:gray;">&amp;&amp;<span style="color:teal;">ReplLogin<span style="color:gray;">;</span><br />
</span></span></span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; The following privileges must be granted explicitly to the replication user.</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:blue;">GRANT</span><br />
<span style="color:blue;">CREATE</span><br />
<span style="color:blue;">TABLE</span><br />
<span style="color:blue;">TO</span><br />
<span style="color:gray;">&amp;&amp;<span style="color:teal;">ReplLogin<span style="color:gray;">;</span><br />
</span></span></span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:blue;">GRANT</span><br />
<span style="color:blue;">CREATE</span><br />
<span style="color:blue;">VIEW</span><br />
<span style="color:blue;">TO</span><br />
<span style="color:gray;">&amp;&amp;<span style="color:teal;">ReplLogin<span style="color:gray;">;</span><br />
</span></span></span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; The replication user login needs to be able to create a tracking trigger on any table that is</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; to be published in a transactional publication. The CREATE ANY privilege is used to</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; obtain the authorization to create these triggers. To replicate a table, the table</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; owner must additionally explicitly grant select authorization on the table to the</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; replication user.</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211;</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:green;">&#8211; NOTE: CREATE ANY TRIGGER is not required for snapshot publications.</span><br />
</span></p>
<p><span style="font-family:Consolas;font-size:9pt;"><span style="color:blue;">GRANT</span><br />
<span style="color:blue;">CREATE</span><br />
<span style="color:gray;">ANY</span><br />
<span style="color:blue;">TRIGGER</span><br />
<span style="color:blue;">TO</span><br />
<span style="color:gray;">&amp;&amp;<span style="color:teal;">ReplLogin<span style="color:gray;">;</span><br />
</span></span></span></p>
<p><span style="color:blue;font-family:Consolas;font-size:9pt;">EXIT<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;"><em>&lt;/Sample Script&gt;</em><br />
</span></p>
<ul style="margin-left:72pt;">
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Grant <em>Select</em> privilege on table you would like to publisher to <em>&lt;SQLReplUser&gt; </em>created in the step (b) above<br />
</span></li>
</ul>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;"><em>&lt;Sample Script&gt;</em><br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;"><span style="color:green;background-color:silver;">&#8211;Execute the below statement from SQL*PLus</span><br />
</span><br />
<span style="font-family:Lucida Sans Unicode;"><span style="font-size:9pt;"><span style="color:blue;background-color:silver;">Grant</span><span style="background-color:silver;"><br />
<span style="color:blue;">Select</span><br />
<span style="color:blue;">on</span><br />
<span style="color:gray;">&lt;<span style="color:blue;">Owner<span style="color:gray;">&gt;.&lt;<span style="color:blue;">Table<span style="color:gray;">&gt;</span> to</span> &lt;</span>SQLReplUser<span style="color:gray;">&gt;;</span></span></span></span></span><span style="font-size:12pt;"><br />
</span></span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;"><em>&lt;/Sample Script&gt;</em><br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">3. Configuring Oracle Publication<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">This is the one I did multiple times, and when I say multiple times it&#8217;s for these reasons<br />
</span></p>
<ul>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Connecting to Oracle instance is very demanding process and anytime it could bounce back as a surprise failure although the instructions are followed to configure the Oracle client or OLE DB providers<br />
</span></li>
<li><span style="font-family:Lucida Sans Unicode;font-size:9pt;">The failed connectivity errors raised by Oracle through OLE DB provider will be gobbled by SQL Server. What does that mean? If there is logon failure, Oracle instance /service id resolution failure, or user schema access issues – all these have one type of error although there are bunch defined on MSDN.<br />
</span></li>
</ul>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">So watch out on what type of error you could be getting and what reason. It&#8217;s almost like reading the errors through your inner sense, huh. That was a tough ask so I requested a team mate to build a small .NET code using the OLE DB provider and anything I do on the wizard I imitated on the code and I was able to find the cause of errors and made things work quicker. Thanks to the team mate for pitching in on right time to fix some &#8220;hidden errors&#8221;.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Here are the snapshots that would you see when configuring Oracle Publication.<br />
</span></p>
<ol>
<li>
<div><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Configure Distributor<br />
</span></div>
<p><img alt="" src="http://msrviking.files.wordpress.com/2013/05/051513_1037_oracletosql1.png?w=460" /><span style="font-family:Lucida Sans Unicode;font-size:9pt;"><br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">After few screens which are default for configuring a distributor with any type of replication you will have to end with this step at the end. I opted to have SQL Server box which was supposedly to be subscriber as distributor.<br />
</span></p>
<p><img alt="" src="http://msrviking.files.wordpress.com/2013/05/051513_1037_oracletosql2.png?w=460" /><span style="font-family:Lucida Sans Unicode;font-size:9pt;"><br />
</span></li>
<li>
<div><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Configure Oracle Publication<br />
</span></div>
<p><img alt="" src="http://msrviking.files.wordpress.com/2013/05/051513_1037_oracletosql3.jpg?w=460" /><span style="font-family:Lucida Sans Unicode;font-size:9pt;"><br />
</span></p>
<p><img alt="" src="http://msrviking.files.wordpress.com/2013/05/051513_1037_oracletosql4.jpg?w=460" /><span style="font-family:Lucida Sans Unicode;font-size:9pt;"><br />
</span></p>
<p><img alt="" src="http://msrviking.files.wordpress.com/2013/05/051513_1037_oracletosql5.png?w=460" /><span style="font-family:Lucida Sans Unicode;font-size:9pt;"><br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">From here you would see a configured Oracle Publisher with the name that is mentioned as part of Server Instance. This is one of the most important step which confirms that the Oracle Publication is configured on SQL Server. I was relieved after configuring the publisher, and this didn&#8217;t come that easy at the first attempt.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">I hope all these help for configuring the Oracle Publisher, and the next step would be a Transactional Replication with a Pull Subscription. I shall share configuring Transactional Replication details against the Oracle publication in the upcoming posts, however there is nothing new once the publisher is done and is similar with that of SQL Server publication.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">I am also intending to share some important tips on design considerations, troubleshooting and performance of Oracle Publication.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Until then, happy reading.<br />
</span></p>
<p><span style="font-family:Lucida Sans Unicode;font-size:9pt;">Cheers!</span></li>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/msrviking.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/msrviking.wordpress.com/364/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=msrviking.wordpress.com&#038;blog=5015044&#038;post=364&#038;subd=msrviking&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://msrviking.wordpress.com/2013/05/15/oracle-to-sql-server-replication-configure-oracle-publisher/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/57f7848591a36649188221501e205a0c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Viking</media:title>
		</media:content>

		<media:content url="http://msrviking.files.wordpress.com/2013/05/screenshot005_thumb.jpg" medium="image" />

		<media:content url="http://msrviking.files.wordpress.com/2013/05/051513_1037_oracletosql1.png" medium="image" />

		<media:content url="http://msrviking.files.wordpress.com/2013/05/051513_1037_oracletosql2.png" medium="image" />

		<media:content url="http://msrviking.files.wordpress.com/2013/05/051513_1037_oracletosql3.jpg" medium="image" />

		<media:content url="http://msrviking.files.wordpress.com/2013/05/051513_1037_oracletosql4.jpg" medium="image" />

		<media:content url="http://msrviking.files.wordpress.com/2013/05/051513_1037_oracletosql5.png" medium="image" />
	</item>
		<item>
		<title>Oracle to SQL Server Replication-A bit of insight</title>
		<link>http://msrviking.wordpress.com/2013/05/13/oracle-to-sql-server-replication-a-bit-of-insight/</link>
		<comments>http://msrviking.wordpress.com/2013/05/13/oracle-to-sql-server-replication-a-bit-of-insight/#comments</comments>
		<pubDate>Mon, 13 May 2013 09:11:22 +0000</pubDate>
		<dc:creator>msrviking</dc:creator>
				<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Data Integration]]></category>
		<category><![CDATA[Heterogeneous]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Replication]]></category>
		<category><![CDATA[Internals]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Publisher]]></category>
		<category><![CDATA[SQL Server 2012]]></category>
		<category><![CDATA[Transactional Replication]]></category>

		<guid isPermaLink="false">https://msrviking.wordpress.com/?p=359</guid>
		<description><![CDATA[In last couple of posts in the series, I had shared an approach and also appropriate pre-requisites for setting up an Oracle Publisher based Transactional Replication setup. Today in this post, I shall talk about how different it is to replicate data from SQL Server and Oracle. Just before I started working on this assignment [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=msrviking.wordpress.com&#038;blog=5015044&#038;post=359&#038;subd=msrviking&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p align="justify">In last couple of posts in the <a href="http://msrviking.wordpress.com/tag/transactional-replication/" target="_blank">series</a>, I had shared an approach and also appropriate pre-requisites for setting up an Oracle Publisher based Transactional Replication setup. Today in this post, I shall talk about how different it is to replicate data from SQL Server and Oracle.</p>
<p align="justify">Just before I started working on this assignment I recollected several of my past experiences where I had configured SQL Server Replication setups in all the topologies, and based on that I safely presumed that it won’t be that different with Oracle Publisher too. Well, I was partly right, SQL Server replication setup was, and is easy because the wizard helps one to configure publisher, distributor and replication quickly. I would think and also voice that its same for what I had worked on in this assignment except that I had to establish successful connection with Oracle and then let SQL Server do its job of configuring the publisher, distributor and Transactional Replication (pull-subscription).</p>
<p align="justify">The difficult part was having the appropriate Oracle client and OLE DB drivers installed, and please refer to my <a href="http://msrviking.wordpress.com/2013/05/10/oracle-to-sql-server-replication-pre-requisites/" target="_blank">post</a> which has links to the downloads from Oracle Technology Network (OTN).</p>
<p align="justify">I would like to share few internals on Oracle Publication from SQL Server, and without this the significance of configuration such type of publication wouldn’t be much.</p>
<p align="justify">1. Configuring Oracle Publisher is a new feature starting from SQL Server 2005, and works with Oracle 9i onwards.</p>
<p align="justify">Before SQL Server 2005, I remember well we had used SQL Server 2000 DTS packages to pull data to synchronize data between SQL Server and Oracle, and this way got replaced with Oracle Publication using Replication, and this is nice. The use of DTS package wasn’t straightforward because we needed few staging tables to capture the data because of DML change in Oracle published (source tables) and these were to be propagated into SQL Server tables through an UPSERT method. Although this worked well, but had the whole bunch of problems associated initially, before the system settled with that type of data changes that need to be captured. And the with this new feature in SQL Server 2005 I think we have similar setup happening, but everything is handled by SQL Server, and that’s why I said its pretty neat and nice.</p>
<p align="justify">2. Data from Oracle could be synched up with SQL Server either through Snapshot Replication or Transactional Replication.</p>
<p align="justify">Please note the difference in here between these two type of Replications when configured with Oracle Publisher. At a configuration and working level its almost similar with SQL Server Publisher yet I thought I will put up couple of notable points for anyone’s quick reference.</p>
<p align="justify">- A snapshot replication takes snapshot of published tables and applies them as a whole on the subscription end. Simple, eh, and this is run by a Snapshot Agent job which gathers the table data in the form of schema scripts, and publishes for subscriptions to consume. No “change tracking triggers” are created on the publisher tables.</p>
<p align="justify">- A transactional replication tracks change in each row of the published tables, through “triggers” created on the tables. The triggers that are created on published tables captures the DML changes and pushes the data into change tracking table and the Log Reader agent reads, and moves the changed data for publishing to subscribers through an intermediary Distribution database.</p>
<p align="justify">So transactional replication creates database triggers on the published tables and data is tracked into change tracking tables on the Oracle end. The changed data then is read into distribution database through Log Reader Agent running on SQL Server. This <a href="http://msdn.microsoft.com/en-us/library/ms151768%28v=sql.105%29.aspx" target="_blank">link</a> has details on how the whole process happens, but let me share a snapshot of the tables that are created on the Oracle database.</p>
<p align="justify">Here are few snapshots of the system tables, change tracking tables and the triggers created when Oracle Publisher is configured.</p>
<p align="justify">Figure.1.</p>
<p align="justify">Replication tables created on Oracle schema</p>
<p align="justify"><a href="http://msrviking.files.wordpress.com/2013/05/screenshot003.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="ScreenShot003" alt="ScreenShot003" src="http://msrviking.files.wordpress.com/2013/05/screenshot003_thumb.jpg?w=240&#038;h=182" width="240" height="182" border="0" /></a></p>
<p align="justify">
<p align="justify">Figure.2.</p>
<p align="justify">Change Tracking Tables to track changes of data on published tables</p>
<p align="justify"><a href="http://msrviking.files.wordpress.com/2013/05/screenshot004.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="ScreenShot004" alt="ScreenShot004" src="http://msrviking.files.wordpress.com/2013/05/screenshot004_thumb.jpg?w=175&#038;h=64" width="175" height="64" border="0" /></a></p>
<p align="justify">Figure.3.</p>
<p align="justify">Trigger that is created on the publisher table</p>
<p align="justify"><a href="http://msrviking.files.wordpress.com/2013/05/screenshot002.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="ScreenShot002" alt="ScreenShot002" src="http://msrviking.files.wordpress.com/2013/05/screenshot002_thumb.jpg?w=657&#038;h=34" width="657" height="34" border="0" /></a></p>
<p align="justify">With this I am thinking you should be well briefed on what happens when an Oracle Publisher is configured with Transactional Replication. Of course, I didn’t talk much on the Snapshot Replication with any pics, because I couldn’t setup one during this assignment.</p>
<p align="justify">In the next post I will walk you through configuration of Oracle Publisher, Distributor.</p>
<p>Until then happy reading, and please feel free to comment.</p>
<p>Cheers!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/msrviking.wordpress.com/359/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/msrviking.wordpress.com/359/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=msrviking.wordpress.com&#038;blog=5015044&#038;post=359&#038;subd=msrviking&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://msrviking.wordpress.com/2013/05/13/oracle-to-sql-server-replication-a-bit-of-insight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/57f7848591a36649188221501e205a0c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Viking</media:title>
		</media:content>

		<media:content url="http://msrviking.files.wordpress.com/2013/05/screenshot003_thumb.jpg" medium="image">
			<media:title type="html">ScreenShot003</media:title>
		</media:content>

		<media:content url="http://msrviking.files.wordpress.com/2013/05/screenshot004_thumb.jpg" medium="image">
			<media:title type="html">ScreenShot004</media:title>
		</media:content>

		<media:content url="http://msrviking.files.wordpress.com/2013/05/screenshot002_thumb.jpg" medium="image">
			<media:title type="html">ScreenShot002</media:title>
		</media:content>
	</item>
		<item>
		<title>SQL Express Edition in Production? Yes you could, but No you shouldn&#8217;t..</title>
		<link>http://msrviking.wordpress.com/2013/05/10/sql-express-edition-in-production-yes-you-could-but-no-you-shouldnt/</link>
		<comments>http://msrviking.wordpress.com/2013/05/10/sql-express-edition-in-production-yes-you-could-but-no-you-shouldnt/#comments</comments>
		<pubDate>Fri, 10 May 2013 09:18:33 +0000</pubDate>
		<dc:creator>msrviking</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[express edition]]></category>
		<category><![CDATA[limitations]]></category>
		<category><![CDATA[production]]></category>
		<category><![CDATA[recommendations]]></category>
		<category><![CDATA[sql server]]></category>

		<guid isPermaLink="false">http://msrviking.wordpress.com/?p=335</guid>
		<description><![CDATA[A very important realization when one of my team mates came up to me and asked this question &#8211; Can we deploy SQL Server Express Edition in Production? At first I said, &#8220;No&#8221;, and I was very confident of it. But because of some misled information I had in my mind I was wrong. So [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=msrviking.wordpress.com&#038;blog=5015044&#038;post=335&#038;subd=msrviking&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>A very important realization when one of my team mates came up to me and asked this question &#8211; Can we deploy SQL Server Express Edition in Production? </p>
<p>At first I said, &#8220;No&#8221;, and I was very confident of it. But because of some misled information I had in my mind I was wrong. So I had to understand who else does this and how..but strongly I don&#8217;t recommend SQL EE in Production and you would do it only if you are not too serious about the data you deal in production /business. </p>
<p>Here are few links which talk on this topic, and you may also feel confident of taking decision like this based on your requirements.</p>
<p><a href="http://social.msdn.microsoft.com/Forums/en-US/sqlexpress/thread/46ad8aa8-2097-49df-984c-58634e1ecfa2" rel="nofollow">http://social.msdn.microsoft.com/Forums/en-US/sqlexpress/thread/46ad8aa8-2097-49df-984c-58634e1ecfa2</a></p>
<p><a href="http://social.msdn.microsoft.com/forums/en-us/sqlexpress/thread/4619FD15-13C3-4914-B1DD-B65D3154BD5B" rel="nofollow">http://social.msdn.microsoft.com/forums/en-us/sqlexpress/thread/4619FD15-13C3-4914-B1DD-B65D3154BD5B</a></p>
<p><a href="http://stackoverflow.com/questions/180537/sql-express-for-production" rel="nofollow">http://stackoverflow.com/questions/180537/sql-express-for-production</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/msrviking.wordpress.com/335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/msrviking.wordpress.com/335/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=msrviking.wordpress.com&#038;blog=5015044&#038;post=335&#038;subd=msrviking&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://msrviking.wordpress.com/2013/05/10/sql-express-edition-in-production-yes-you-could-but-no-you-shouldnt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/57f7848591a36649188221501e205a0c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Viking</media:title>
		</media:content>
	</item>
		<item>
		<title>Oracle to SQL Server Replication-Pre-Requisites</title>
		<link>http://msrviking.wordpress.com/2013/05/10/oracle-to-sql-server-replication-pre-requisites/</link>
		<comments>http://msrviking.wordpress.com/2013/05/10/oracle-to-sql-server-replication-pre-requisites/#comments</comments>
		<pubDate>Fri, 10 May 2013 09:03:51 +0000</pubDate>
		<dc:creator>msrviking</dc:creator>
				<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Heterogeneous]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Replication]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[pre-requisite]]></category>
		<category><![CDATA[SQL Server 2012]]></category>
		<category><![CDATA[Transactional Replication]]></category>

		<guid isPermaLink="false">https://msrviking.wordpress.com/?p=346</guid>
		<description><![CDATA[In the first post on this topic I had shared my tiny plan or approach on how to get the Oracle to SQL Server replication done. Today I shall talk a bit about on why I listed the steps, and also share the links of forums, blog posts I had used to work on each [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=msrviking.wordpress.com&#038;blog=5015044&#038;post=346&#038;subd=msrviking&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p align="justify">In the first <a href="https://msrviking.wordpress.com/2013/05/06/oracle-to-sql-server-replication-first-steps/" target="_blank">post</a> on this topic I had shared my tiny plan or approach on how to get the Oracle to SQL Server replication done. Today I shall talk a bit about on why I listed the steps, and also share the links of forums, blog posts I had used to work on each step.</p>
<p align="justify">1. Environment setup</p>
<p align="justify">This was the first step where I had to decide what is that I could have running on that box at an OS level, the hardware configuration I would need to run an instance of Oracle and SQL Server. So here are the specs I chose for bringing up this demo-able replication setup quickly.</p>
<ul>
<li>
<div align="justify">A virtual machine, this is the fastest and best way to have POCs setup for understanding the internals and share it with teams.</div>
</li>
<li>
<div align="justify">A virtual machine with enough memory, CPU power and hard disk space. What would be the configuration for this? I knew I wasn’t showing anything on performance when there is data being replicated between systems, but a simple walk-through to understand the pain of having replication done from Oracle to SQL Server.Here are the specs,</div>
<ul>
<li>
<div align="justify">Memory /RAM &gt; 4GB</div>
</li>
<li>
<div align="justify">CPU &gt; Dual core processor</div>
</li>
<li>
<div align="justify">Hard Disk space &gt; 150GB</div>
</li>
</ul>
</li>
<li>
<div align="justify">The VM with a an appropriate OS. While I was deciding on these specs I thought it doesn’t make sense to configure replication between Oracle and SQL Server running on the same box, and that too on Windows. So there was a little change of course of what should run where. That made me to pick Windows Server 2008 R2 to run SQL Server 2012 with SP1, and Oracle on Linux box. Now the challenge to find a box running with Linux and Oracle on top of it. I got some help because I had one of the boxes with Oracle on Linux, running for another customer so I had to just use it after few requests with the team.</div>
</li>
</ul>
<p align="justify">Here is the <a href="http://msdn.microsoft.com/en-us/library/ms143506.aspx" target="_blank">link</a> that tells you about software and hardware requirement to run SQL Server 2012 SP1 Developer Edition (this edition has Replication Features). We know about this link, nevertheless I thought sharing won’t cost me anything and could help anyone of us.</p>
<p align="justify">2. Installation of Oracle</p>
<p align="justify">As mentioned earlier I wanted to have the setup with Oracle on Linux and “Oracle edition that supports replication setup”. Just take a note of the last sentence in quotes, by saying that I wanted Oracle Standard /Enterprise Edition to support Oracle Gateway option which is part of these editions, and this option is not available in Oracle Express Edition. Oracle Gateway needs to be installed separately without any license in the same box of Oracle instance or a different box. I didn’t want to get into too many installations for a quick POC hence chose an Oracle Enterprise edition instance which was already up and running on Linux, 64 bits environment. Made my job precise and easy, eh!</p>
<p align="justify">All this said I shall still share the links on the Oracle Editions, and the license information /feature availability per Edition.</p>
<p align="justify">Oracle Standard Edition (SE), and Enterprise Edition (EE) features availability</p>
<p align="justify"><a title="http://docs.oracle.com/cd/E11882_01/license.112/e10594/editions.htm#CJACGHEB" href="http://docs.oracle.com/cd/E11882_01/license.112/e10594/editions.htm#CJACGHEB">http://docs.oracle.com/cd/E11882_01/license.112/e10594/editions.htm#CJACGHEB</a></p>
<p align="justify">Oracle Express Edition (EE)</p>
<p align="justify"><a title="http://docs.oracle.com/cd/B25329_01/doc/license.102/b25456/toc.htm#BABJIJCJ" href="http://docs.oracle.com/cd/B25329_01/doc/license.102/b25456/toc.htm#BABJIJCJ">http://docs.oracle.com/cd/B25329_01/doc/license.102/b25456/toc.htm#BABJIJCJ</a></p>
<p align="justify">Another point that I realized although didn’t or probably won’t be of great importance is that you have only an Oracle 32-bit Express Edition on Windows, and no 64-bit is available. I checked, and verified that there is no such installation. Of course I didn’t have to bother much because I dropped the idea of running an Oracle XE on Windows, rather a EE, 64 bit on Linux. Nevertheless, in case you are hunting for one for whatever reason I am thinking this should help you to stop the mad hunt. Here is the link where it certifies that no 64-bit.</p>
<p align="justify"><a title="https://forums.oracle.com/forums/thread.jspa?threadID=2277728&amp;tstart=0" href="https://forums.oracle.com/forums/thread.jspa?threadID=2277728&amp;tstart=0">https://forums.oracle.com/forums/thread.jspa?threadID=2277728&amp;tstart=0</a></p>
<p align="justify">3. Installation of SQL Server</p>
<p align="justify">This was simplest because this was done a zillion times earlier, except that I had to be choosy in features list when I was installing the SQL Server instance on Windows Server 2008 R2 64 bit. The feature I had to make sure that was available was Replication as part of installation, and that too was done with ease. The pre-requisites were taken care when I chose the OS, Hardware for this piece of work, but make sure  you have latest service pack. I haven’t seen anything break when I tried with SQL Server 2012 w/o SP, though.</p>
<p align="justify">4. Configuration of Oracle publisher and SQL Server Transactional Replication – Subscriber</p>
<p align="justify">Under this heading I won’t write about how the configuration was done but the intent is to list down the pre-requisites.</p>
<ul>
<li>
<div align="justify">What is needed before Oracle publisher is configured?</div>
<ul>
<li>
<div align="justify">Oracle Database Client (Oracle Database 11<em>g</em> Release 2 Client) on Windows box where SQL Server 2012 instance is running and you could get this from <a href="http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html" target="_blank">here</a>. Please remember the bit version you would like to download, and trust me this is the most important step to establish a connection from SQL Server on Windows with Oracle on Linux. You mess or miss this step for whatever reason you will realize that it was simple step, and bad mistake.</div>
</li>
<li>
<div align="justify">64-bit Data Access Components to be installed on SQL Server box. You will get that installable from <a href="http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html" target="_blank">here</a>, and you will want to choose the right one based on your environment. I had to pick this one 64-bit ODAC 11.2 Release 5 (11.2.0.3.20) for Windows x64.</div>
</li>
</ul>
</li>
<li>
<div align="justify">What is needed for SQL Server Transaction Replication – Subscriber setup? Primarily everything done in the first step is good enough to establish a connection with Oracle, and then configuration a publication – subscription (pull) is quick.</div>
</li>
</ul>
<p>I shall share finer details under each of the configuration steps and the intent in this post was to tell what you should have installed before you start putting the Oracle Publisher – SQL Server Transactional Replication – Subscriber in place.</p>
<p>At the end this <a href="http://msdn.microsoft.com/en-us/library/ms151243%28v=sql.105%29.aspx" target="_blank">link</a> &#8211; Configuring an Oracle Publisher talk about same steps I have put in here, but falls short of pointing to right places of appropriate downloads.</p>
<p>I hope these help, and please feel free to comment.</p>
<p>Cheers!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/msrviking.wordpress.com/346/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/msrviking.wordpress.com/346/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=msrviking.wordpress.com&#038;blog=5015044&#038;post=346&#038;subd=msrviking&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://msrviking.wordpress.com/2013/05/10/oracle-to-sql-server-replication-pre-requisites/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/57f7848591a36649188221501e205a0c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Viking</media:title>
		</media:content>
	</item>
		<item>
		<title>Oracle to SQL Server Replication &#8211; First steps</title>
		<link>http://msrviking.wordpress.com/2013/05/06/oracle-to-sql-server-replication-first-steps/</link>
		<comments>http://msrviking.wordpress.com/2013/05/06/oracle-to-sql-server-replication-first-steps/#comments</comments>
		<pubDate>Mon, 06 May 2013 11:05:02 +0000</pubDate>
		<dc:creator>msrviking</dc:creator>
				<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Heterogeneous]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Replication]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[SQL Server 2012]]></category>
		<category><![CDATA[Transactional Replication]]></category>

		<guid isPermaLink="false">https://msrviking.wordpress.com/?p=342</guid>
		<description><![CDATA[There was a request in my shop to setup a Transactional Replication on SQL Server 2012 and the publisher would be Oracle. A known setup in SQL Server – SQL Server, but not straight if Oracle is the publisher. The setup was to be such a way that nothing should be done on Oracle end, [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=msrviking.wordpress.com&#038;blog=5015044&#038;post=342&#038;subd=msrviking&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p align="justify">There was a request in my shop to setup a Transactional Replication on SQL Server 2012 and the publisher would be Oracle. A known setup in SQL Server – SQL Server, but not straight if Oracle is the publisher. The setup was to be such a way that nothing should be done on Oracle end, and everything should be configured from SQL Server. Sounds good and easy, eh! This was my first thought, but post this exercise I realized that it definitely isn’t that straight forward too and needs a bit of planning, careful installations of dependent features, and at the end has helped me refresh Replication setup knowledge which I didn’t apply for last few years.</p>
<p align="justify">In this post I shall share steps to configure transactional replication on SQL Server 2012, and the publisher is Oracle 11g enterprise edition running on Linux.</p>
<p align="justify">As mentioned earlier firstly I had to put in my thoughts to see what are the steps are involved, what are the other features or dependent components I need to install before I configure replication. I will try my best to post in few images of installation of any important step, otherwise it would be more of text writing.</p>
<p align="justify">Here is the high level activity I put in for sake of clarity and to know where I am. This helps and helped me to judge on how much time would I take to configure the whole setup, whatever in-depth experience I have. A bit of planning and picking the right steps (an approach) did help me avoid some rework.</p>
<ol>
<li>
<div align="justify">Environment setup</div>
</li>
<li>
<div align="justify">Installation of Oracle</div>
</li>
<li>
<div align="justify">Installation of SQL Server</div>
</li>
<li>
<div align="justify">Configuration of Oracle Publisher</div>
</li>
<li>
<div align="justify">Configuration of SQL Server transactional replication-subscriber</div>
</li>
</ol>
<p align="justify">I shall share few thoughts against some of the above steps, because I realized everything requires few pre-requisites. For e.g. an environment is the box that is needed to run both SQL Server and Oracle, installation of appropriate version and edition of Oracle or SQL Server, drivers and client network /connectivity tools, connecting to Oracle through SQL Server replication and publishing the tables. All sound easy and familiar but things go bad and take few hours more than expected how much so you plan and jot your points.</p>
<p align="justify">I shall write details in the next post as part of this series, so stay tuned.</p>
<p align="justify">Cheers.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/msrviking.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/msrviking.wordpress.com/342/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=msrviking.wordpress.com&#038;blog=5015044&#038;post=342&#038;subd=msrviking&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://msrviking.wordpress.com/2013/05/06/oracle-to-sql-server-replication-first-steps/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/57f7848591a36649188221501e205a0c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Viking</media:title>
		</media:content>
	</item>
	</channel>
</rss>
