<?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/"
	>

<channel>
	<title>Arkytekture &#187; Uncategorized</title>
	<atom:link href="http://psoug.org/blogs/arkytekture/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://psoug.org/blogs/arkytekture</link>
	<description>Oracle and Data architecture blog</description>
	<lastBuildDate>Sat, 18 Dec 2010 17:22:43 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Search PSOUG from SQL Developer !</title>
		<link>http://psoug.org/blogs/arkytekture/2010/10/20/search-psoug-from-sql-developer/</link>
		<comments>http://psoug.org/blogs/arkytekture/2010/10/20/search-psoug-from-sql-developer/#comments</comments>
		<pubDate>Thu, 21 Oct 2010 02:11:18 +0000</pubDate>
		<dc:creator>arkytekture</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://psoug.org/blogs/arkytekture/?p=73</guid>
		<description><![CDATA[Extend Oracle&#039;s SQL Developer to search PSOUG web pages and&#160; see how much more productive you can be! Anyone who&#039;s used SQL Developer may have noticed the search engines tucked away in the upper right corner of the screen.&#160; With a nod to Firefox, the people who created SQL Developer made it easy to look [...]]]></description>
				<content:encoded><![CDATA[<p>Extend Oracle&#039;s SQL Developer to search PSOUG web pages and&nbsp; see how much more productive you can be!</p>
<p><img src="/blogs/wp-content/SqlDev_Search2.png" /></p>
<p>Anyone who&#039;s used SQL Developer may have noticed the search engines tucked away in the upper right corner of the screen.&nbsp; With a nod to Firefox, the people who created SQL Developer made it easy to look up an error message on Google, consider going to Oracle Technology Network (OTN) forums with your SQL Developer issue, or checking the AskTom or Oracle documentation sites.&nbsp;&nbsp;</p>
<p>While the sites provide valuable information, often they get into esoteric areas or long blogs.&nbsp; PSOUG succinctly exposes the concepts that a developer needs right away with examples of usage and scripts that illuminate topics such as CREATE MATERIALIZED VIEW.</p>
<p>It&#039;s exceedingly easy to try out.&nbsp; Add PSOUG to your search domains by placing an image file and a source file in the <strong>sqldeveloper/sqldeveloper/searchengines</strong> path of your installation.</p>
<p>First file: psoug.src</p>
<p>&lt;search<br />
	&nbsp;&nbsp; name=&quot;PSOUG&quot;<br />
	&nbsp;&nbsp; description=&quot;PSOUG Search&quot;<br />
	&nbsp;&nbsp; method=&quot;POST&quot;<br />
	&nbsp;&nbsp; action=&quot;http://psoug.org/search.htm&quot;<br />
	&nbsp;&nbsp; searchForm=&quot;http://psoug.org/search.htm&quot;<br />
	&nbsp;&nbsp; queryEncoding=&quot;utf-8&quot;<br />
	&nbsp;&nbsp; queryCharset=&quot;utf-8&quot;<br />
	&gt;</p>
<p>&lt;input name=&quot;qwords&quot; user&gt;<br />
	&lt;input name=&quot;querytype&quot; value=&quot;allwords&quot;&gt;<br />
	&lt;input name=&quot;catid&quot; value=&quot;0&quot;&gt;<br />
	&lt;input name=&quot;searchtype&quot; value=&quot;basic&quot;&gt;<br />
	&lt;input name=&quot;submit&quot; value=&quot;GO&quot;&gt;</p>
<p>&lt;interpret<br />
	&nbsp;&nbsp;&nbsp; browserResultType=&quot;result&quot;<br />
	&nbsp;&nbsp;&nbsp; charset = &quot;UTF-8&quot;<br />
	&nbsp;&nbsp;&nbsp; resultListStart=&quot;&lt;!&#8211;a&#8211;&gt;&quot;<br />
	&nbsp;&nbsp;&nbsp; resultListEnd=&quot;&lt;!&#8211;z&#8211;&gt;&quot;<br />
	&nbsp;&nbsp;&nbsp; resultItemStart=&quot;&lt;!&#8211;m&#8211;&gt;&quot;<br />
	&nbsp;&nbsp;&nbsp; resultItemEnd=&quot;&lt;!&#8211;n&#8211;&gt;&quot;<br />
	&gt;<br />
	&lt;/search&gt;</p>
<p>Second file: psoug.gif</p>
<p><img src="/blogs/wp-content/psoug.gif" /></p>
<p>I downloaded the PSOUG title.gif and scaled it down by a factor of about 4.&nbsp; Use whatever tool makes sense to manipulate your image such as GIMP (multi-platform)&nbsp; or Microsoft&#039;s Image editor, or whatever works on the Mac OS/X into an icon-sized image.&nbsp; Jpeg, png, gif are all acceptable formats.</p>
<p>Your files will be discovered automatically the next time you start SQL Developer.</p>
]]></content:encoded>
			<wfw:commentRss>http://psoug.org/blogs/arkytekture/2010/10/20/search-psoug-from-sql-developer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to build and maintain an Oracle shell</title>
		<link>http://psoug.org/blogs/arkytekture/2010/08/22/how-to-build-and-maintain-an-oracle-shell/</link>
		<comments>http://psoug.org/blogs/arkytekture/2010/08/22/how-to-build-and-maintain-an-oracle-shell/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 03:37:12 +0000</pubDate>
		<dc:creator>arkytekture</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://psoug.org/blogs/arkytekture/?p=65</guid>
		<description><![CDATA[Using import, export, and strings command to maintain software baselines and Oracle shells for productized software development.]]></description>
				<content:encoded><![CDATA[<p>In productized development where installation scripts and Oracle dump files are the basis for building a new database instance, complexities can be managed by storing Oracle exports and all SQL files in a version control system (such as CVS, Perforce, or Subversion).</p>
<p>A shell database is essentially the logical starting point of a database wth some tables preloaded with essential lookup data, stored database code, constraints, and views defined, but the many of the segments start out empty.</p>
<p><span id="more-65"></span></p>
<p>To build a new database deliverable one can follow a number of steps.</p>
<p>1)&nbsp; Get the latest shell (export dmp)&nbsp; and create user SQL scripts from version control</p>
<p>2) Connect to the target database with SYSDBA and drop the application users (USERA, USERB)&nbsp; and their tablespaces (including USER_DATA and USER_INDEXES).</p>
<p>3) Create the users&#39; tablespaces, then create the users anew with the SQL scripts.</p>
<p>4) Import the latest shell&nbsp; (e.g.&nbsp; imp fromuser=(USERA,USERB)&nbsp; touser=(USERA,USERB) file=last_shell.dmp log=step4.log )</p>
<p>5) Apply any database upgrade scripts readied for deployment since last shell was created.</p>
<p>6) Drop and recreate sequences.&nbsp; This will assure that the actual sequence numbers will be computed from values in associated tables.</p>
<p>7) Review the newly created schemas and recompile any invalid triggers, PL/SQL, and views.&nbsp;&nbsp; Investigate objects that won&#39;t recompile and remove any obsolete objects not cleared by upgrade scripts. Invalid objects will raise errors when imported by end-users and cause calls to product technical support.</p>
<p>8) Rebuild indexes on unique or primary keys that appear to be on the USER_DATA into the USER_INDEXES tablespace.</p>
<p>9) Export the full database&nbsp; &#8212; save this as it will be needed later.&nbsp; (e.g. exp userid=sys file=NEW_SHELL_STEP9.dmp full=Y compress=N log=STEP13.log )</p>
<p>10) Export the database &#8212; all user object definitions<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (e.g. exp userid=USERA file=NEW_SHELL_USERA.dmp&nbsp; rows=N statistics=NONE log=STEP10A.log )</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (e.g. exp userid=USERB file=NEW_SHELL_USERB.dmp&nbsp; rows=N statistics=NONE log=STEP10B.log )</p>
<p>11) Export the database &#8212; all user data</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (e.g. exp userid=USERA file=NEW_DATA_USERA.dmp&nbsp; rows=Y statistics=NONE log=STEP11A.log )</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (e.g. exp userid=USERB file=NEW_DATA_USERB.dmp&nbsp; rows=Y statistics=NONE log=STEP11B.log )</p>
<p>12) With SQLPlus, connect to the target database as SYSDBA, then enter the following commands:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DROP USER USERA CASCADE;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DROP USER USERB CASCADE;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; then re-run the create users script.&nbsp;</p>
<p>13) Extract DDL for creating USERA objects to a text file.<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (e.g. strings NEW_SHELL_USERA.dmp&nbsp; | egrep -v -fgrep_v.inp | sed -fsed_nl.inp &gt; USERA_DDL.SQL )</p>
<p>14) Extract DDL for creating USERB objects to a text file.<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (e.g.&nbsp; strings NEW_SHELL_USERB.dmp&nbsp; | egrep -v -fgrep_v.inp | sed -fsed_nl.inp &gt; USERB_DDL.SQL )</p>
<p>15)&nbsp; Edit the USERA_DDL.SQL to remove extraneous information<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Remove the header information from the 1st line down to the line after CONNECT USERA.<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Skip DDL statements until you find the first CREATE TRIGGER, CREATE FUNCTION,&nbsp; CREATE PROCEDURE, or CREATE VIEW statement.&nbsp; Delete all lines from this point to the end of the file.</p>
<p>15) Perform the same editing to the USERB_DDL.SQL file.</p>
<p>16) With SQLPlus, connect to the target database as USERA, then enter the following commands:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPOOL STEP16.LOG<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SET ECHO ON<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @USERA_DDL.SQL<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPOOL OFF<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EXIT</p>
<p>17) With SQLPlus, connect to the target database as USERB, then enter the following commands:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPOOL STEP17.LOG<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SET ECHO ON<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @USERB_DDL.SQL<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPOOL OFF<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EXIT</p>
<p>18) Re-import the data saved from Step 11.</p>
<p>&nbsp; (e.g. imp userid=usera file=DATA_USERA.dmp log=STEP18A.log ignore=Y rows=Y constraints=N )</p>
<p>&nbsp; (e.g. imp userid=userb file=DATA_USERB.dmp log=STEP18B.log ignore=Y rows=Y constraints=N )<br />
	&nbsp;</p>
<p>19) Re-import the data saved from Step 10</p>
<p>&nbsp; (e.g. imp userid=sys fromuser=USERA touser=USERA file=NEW_SHELL_USERA.dmp log=STEP19A.log ignore=Y rows=N constraints=Y )<br />
	&nbsp; (e.g. imp userid=sys fromuser=USERB touser=USERB file=NEW_SHELL_USERB.dmp log=STEP19B.log ignore=Y rows=N constraints=Y )<br />
	&nbsp;</p>
<p>20) Export data for the last time</p>
<p>&nbsp;(e.g. exp userid=sys full=Y file=last_shell.dmp compress=N log=STEP20.log )</p>
<p>21) Put the last_shell.dmp back into your source control system.</p>
<p>================================================<br />
	NOTES: Step 13, Step 14:&nbsp;&nbsp;&nbsp;&nbsp; The strings command is available on both Windows and Unix platforms.<br />
	================================================</p>
<p>It might be a good idea to store the extracted DDL files in version control as they are useful artifacts of the software development process and are useful as reference representations of the database definitions at various points in the software lifecycle.<br />
	&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://psoug.org/blogs/arkytekture/2010/08/22/how-to-build-and-maintain-an-oracle-shell/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>In the Arkytekture</title>
		<link>http://psoug.org/blogs/arkytekture/2010/04/09/hello-world/</link>
		<comments>http://psoug.org/blogs/arkytekture/2010/04/09/hello-world/#comments</comments>
		<pubDate>Sat, 10 Apr 2010 01:47:55 +0000</pubDate>
		<dc:creator>arkytekture</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[ to share some real-world experiences (ok, maybe thinly disguised ones) that illustrate either database technology issues, software engineering practices, or some other philosophy. ]]></description>
				<content:encoded><![CDATA[<p>Welcome to<strong> Arkytekture.</strong></p>
<p>PSOUG.org is a great resource that people should be looking at when solving data management problems in Oracle.Â  Sharing knowledge and assisting others is part and parcel of the user group experience.</p>
<p>AlthoughÂ  a new feature from Oracle holds great promise, some strategies work better than others.Â  Developers and architects should know about the different ways and choose carefully to achieve better successes with their projects.</p>
<p>The spirit of <strong>Arkytekture </strong> is to share some real-world experiences (ok, maybe thinly disguised ones) that illustrate either database technology issues, software engineering practices, or some other philosophy.</p>
<p>Upcoming topics will include bulk-loading, measurements, error-handling, dynamic PL/SQL, and Apex.</p>
]]></content:encoded>
			<wfw:commentRss>http://psoug.org/blogs/arkytekture/2010/04/09/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
