<?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>Only Four Left... &#187; Oracle misc</title>
	<atom:link href="http://only4left.jpiwowar.com/category/oracle-misc/feed/" rel="self" type="application/rss+xml" />
	<link>http://only4left.jpiwowar.com</link>
	<description>Oracle stuff.  Some Linux and Mac stuff.  ALTER TABLE blog DISABLE UNIQUE (content_type);</description>
	<lastBuildDate>Thu, 02 Sep 2010 07:00:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Oracle OpenWorld 2010 planning</title>
		<link>http://only4left.jpiwowar.com/2010/09/oow10-planning/</link>
		<comments>http://only4left.jpiwowar.com/2010/09/oow10-planning/#comments</comments>
		<pubDate>Thu, 02 Sep 2010 07:00:02 +0000</pubDate>
		<dc:creator>jpiwowar</dc:creator>
				<category><![CDATA[Oracle misc]]></category>
		<category><![CDATA[oow10]]></category>

		<guid isPermaLink="false">http://only4left.jpiwowar.com/2010/09/oow10-planning/</guid>
		<description><![CDATA[<p>Looking ahead to OpenWorld 2010, and coming to terms with the fact that no matter what I do, I'm going to miss out on some interesting content. And sleep. Going to miss out on LOTS of sleep.</p>
]]></description>
			<content:encoded><![CDATA[<p>I'm pretty excited to be heading to Oracle OpenWorld this year. My only previous OpenWorld was in 2006, which feels like eons ago. This time around, I'll be going on a blogger pass, which I feel is very generous of Oracle, since my most popular post has been a <a href="http://www.oraclenerd.com/2009/12/ebs-install-guide-part-1.html">piece</a> that I wrote for someone else's blog, and the most popular page on this blog is basically a <a href="http://only4left.jpiwowar.com/2009/02/retrieving-oracle-patches-with-wget/" title="Retrieving Oracle patches with wget">5-line shell script</a>. *ahem* At the very least, I hope to become worthy of the blogger title by blowing the doors off my 2-posts-per-month lifetime average during the month of September.</p>
<p>With the conference less than 3 weeks away, I'm mostly all set. Plane tickets and hotel were booked long ago. I've learned that getting from SFO to my hotel via BART will be ridiculously easy. I've even managed to arrange a <a href="http://www.oraclenerd.com/">roommate</a> who's certain to take all blame in the vanishingly unlikely event of shenanigans. <img src='http://only4left.jpiwowar.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  There's just one problem: there's way too much to do once I get there! Okay, maybe that's not a problem; call it an abundance of riches.</p>
<h3 id="challenge">The challenge: Fitting it all in</h3>
<p>When I left OOW 4 years ago, I told myself that I would "do better next time." It felt like I hadn't managed to get as much out of the conference as I could have. This time around, I'm hoping to strike a better balance between sessions, exhibits, keynotes, and, um...</p>
<p><img src="http://only4left.jpiwowar.com/wp-content/uploads/2010/09/oow10-networking.png" width="480" height="66" alt="oow10-networking.png" title="oow10-networking.png" /></p>
<p>...I'm not sure what Chet means by those first two, but I <i>do</i> hope to work in some networking. I'm looking forward to meeting some people with whom I've mostly interacted 140 characters at a time, or via my longer-winded blog comments. I'm already signed up to attend the <a href="http://www.pythian.com/news/16005/bloggers-meetup-oracle-openworld-2010">Blogger meetup</a>, and am looking for other opportunities to meet people; drop me a comment <a href="http://only4left.jpiwowar.com/author/#contact">or an email</a> if you'd like to grab a coffee, beer, or just exchange a quick handshake. <img src='http://only4left.jpiwowar.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>But back to that "abundance of riches" problem. I'm having a heck of a time reconciling my general interests (Oracle Apps, "Core" database, virtualization), specific areas of curiosity (this year, GoldenGate and MySQL), and my desire to see presentations by people way smarter than me. Thankfully, there's a fair amount of overlap on that last point, but I'm still looking at almost 40 interesting sessions over 5 days, not counting keynotes and hopefully an <a href="http://wikis.sun.com/display/JavaOne/Unconferences+at+JavaOne+and+Oracle+Develop+2010">Unconference</a> visit or two. It's unclear when I'll be eating lunch, most days. I'm even double- and triple-booking <i>Sunday</i>, for heaven's sake, and that's "just" SIG/User Group day!</p>
<h3 id="list">The List, so far</h3>
<p>Here are the sessions that I'm thinking about. If you have any thoughts about how to make this more sane, or (I can't believe I'm typing this) if you think I might enjoy a session that's not listed here, I'd love your feedback. Thanks to <a href="http://orclville.blogspot.com/2010/08/oracle-openworld-2010-what-looks-good.html">Floyd Teter</a> (<a href="http://twitter.com/fteter">@fteter</a>), <a href="http://blogs.oracle.com/stevenChan/2010/08/ebs_oow_2010.html">Steven Chan</a>, and the people who put together the <a href="http://wiki.oracle.com/page/Oracle+ACE+presentations">Oracle ACE presentations</a> page on the Oracle Wiki for making my job slightly easier by providing some initial filters for the 2000+ sessions. Now if only I could find some mad scientists to finish the work on these cloning vats...</p>
<h4 id="apps">Apps, EBS, Fusion, Whatchamacallit</h4>
<p>I'm probably going a bit overboard on some of the R12 DBA and R12 upgrade stuff, but it's always a good idea to hear what others have done/are doing, and the surest path to stagnation is to assume you already know enough.</p>
<ul>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=318375&#038;MASK=r">S318375: OAUG EBS Applications Technology SIG</a>
    </li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=318429&#038;MASK=r">S318429: OAUG Fusion Council Panel Discussion</a>
</li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=316898&#038;MASK=r">S316898: Ten Things You Can Do Today to Prepare for Oracle Fusion Applications</a>
    </li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=319054&#038;MASK=r">S319054: Oracle E-Business Suite 12 Performance Tuning 101</a>
    </li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=318106&#038;MASK=r">S318106: General Session: Oracle E-Business Suite--Vision, Strategy, and Roadmap</a>
    </li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=316409&#038;MASK=r">S316409: Oracle Fusion Middleware Architecture: Choices, Choices, Choices</a>
   </li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=318119&#038;MASK=r">S318119: Oracle E-Business Suite Technology Certification Primer and Roadmap</a>
    </li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=317343&#038;MASK=r">S317343: Oracle E-Business Suite on Sun Hardware: Best Practices, Sizing, Methodology</a>
    </li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=314886&#038;MASK=r">S314886: Oracle Database 11g Upgrade Essentials for Oracle E-Business Suite Environments</a>
   </li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=318135&#038;MASK=r">S318135: Oracle Fusion Applications: Technical Architecture Overview</a>
</li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=318582&#038;MASK=r">S318582: OAUG Oracle E-Business Suite SIG</a>
</li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=319291&#038;MASK=r">S319291: Planning for Oracle E-Business Suite 12</a>
    </li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=318429&#038;MASK=r">S318429: OAUG Fusion Council Panel Discussion</a>
    </li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=318344&#038;MASK=r">S318344: General Session: Oracle Applications Strategy and Roadmap </a>
    </li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=314980&#038;MASK=r">S314980: Oracle Advanced Compression on a Multiterabyte Oracle 11i Financials Database</a>
 </li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=318311&#038;MASK=r">S318311: Planning Your Oracle E-Business Suite Upgrade from Release 11i to Release 12.1</a>
</li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=317131&#038;MASK=r">S317131: Maximum Availability Architecture Best Practices: Oracle E-Business Suite R12.1</a>
 </li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=316240&#038;MASK=r">S316240: Oracle E-Business Suite 12 Applications DBA 101</a>
    </li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=317115&#038;MASK=r">S317115: Upgrading to Oracle E-Business Suite Release 12.1: Technical/Functional Panel</a>
</li>
</ul>
<h4 id="db">Oracle RDBMS</h4>
<p>There are some folks in here that I'm really interested in seeing, since they're known to be great presenters. It was hard enough to winnow the database track down to just this list.</p>
<ul>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=318615&#038;MASK=r">S318615: IOUG: Oracle Indexing Tips, Tricks, and Traps</a>
    </li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=315449&#038;MASK=r">S315449: Thinking Clearly About Performance</a>
    </li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=317165&#038;MASK=r">S317165: Oracle Database Performance Secrets Finally Revealed</a>
  </li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=315988&#038;MASK=r">S315988: How-To: Implement Oracle Automatic Storage Management Successfully</a>
</li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=317153&#038;MASK=r">S317153: Does Upgrade = Downtime? Minimal Downtime Strategies for Planned Maintenance </a>
</li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=316189&#038;MASK=r">S316189: IOUG: Under the Hood of Oracle Clusterware 2.0--Grid Infrastructure</a>
</li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=315110&#038;MASK=r">S315110: Optimizing Servers for Oracle Database Performance</a>
   </li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=317295&#038;MASK=r">S317295: SQL Tuning for Smarties, Dummies, and Everyone in Between </a>
</li>
</ul>
<h4 id="hp">General Hodgepodge</h4>
<p>And here's the grab-bag, which is not to suggest I have a lower level of interest. I'm just too lazy to subcategorize further. <img src='http://only4left.jpiwowar.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<ul>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=318723&#038;MASK=r">S318723: Proactively Optimizing Queries with EXPLAIN and mk-query-digest</a>
</li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=319115&#038;MASK=r">S319115: Oracle GoldenGate: Making Your Best Practices Golden</a>
</li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=315953&#038;MASK=r">S315953: Oracle GoldenGate in Depth: What&rsquo;s All the Fuss About?</a>
    </li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=313346&#038;MASK=r">S313346: Web 2.0 Versus Enterprise 2.0: Lost in Translation</a>
</li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=317407&#038;MASK=r">S317407: Oracle GoldenGate Architecture Deep Dive</a>
    </li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=314916&#038;MASK=r">S314916: Optimizing Oracle Databases on VMware </a>
</li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=316417&#038;MASK=r">S316417: When Oracle Databases Meet the Cloud, It Might Rain</a>
</li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=318733&#038;MASK=r">S318733: For Best Results, Use Daily: MySQL Workbench--Design, Develop, and Admin</a>
    </li>
<li><a href="http://www.eventreg.com/sb250/sessionDetail.jsp?SID=316002&#038;MASK=r">S316002: Query Optimization in MySQL</a>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://only4left.jpiwowar.com/2010/09/oow10-planning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recently relevant (to me) links</title>
		<link>http://only4left.jpiwowar.com/2010/06/recently-relevant-to-me-links/</link>
		<comments>http://only4left.jpiwowar.com/2010/06/recently-relevant-to-me-links/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 22:16:14 +0000</pubDate>
		<dc:creator>jpiwowar</dc:creator>
				<category><![CDATA[Oracle misc]]></category>
		<category><![CDATA[11g]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[references]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://only4left.jpiwowar.com/2010/06/recently-relevant-to-me-links/</guid>
		<description><![CDATA[<p>A handful of interesting links, while I wait for my mental content logjam to break.</p>
]]></description>
			<content:encoded><![CDATA[<p>I've found a few bits of interesting reading over the past week or two. Most of this content is not brand-new, but since they've added some technical enrichment to my life, I figured that a "shout-out rollup" was appropriate.</p>
<ul>
<li>Jonathan Lewis' review of a Collaborate '09 presentation on <a href="http://jonathanlewis.wordpress.com/2009/05/11/cardinality-feedback/">tuning by cardinality feedback</a>, and the <a href="http://go2.wordpress.com/?id=725X1342&amp;site=jonathanlewis.wordpress.com&amp;url=http%3A%2F%2Fjonathanlewis.files.wordpress.com%2F2009%2F05%2F2009_q306_deng.pdf&amp;sref=http%3A%2F%2Fjonathanlewis.wordpress.com%2F2009%2F05%2F11%2Fcardinality-feedback%2F">slides</a> from that presentation, helped me refresh my approach to a report tuning exercise.</li>
<li>Kerry Osborne saved my sanity with an <a href="http://kerryosborne.oracle-guy.com/2008/11/statspack-still-works-in-10g-and-11g/">18-month old post,</a> as I tried to figure out why a 'shared server idle wait event' was skewing my 11g Statspack reports.&nbsp;&nbsp;</li>
<li>Ever wondered what the translations are for the command_type column in V$SQL? Martin Widlake offers a few pointers to get that info, in not <a href="http://mwidlake.wordpress.com/2009/12/10/command_type-values/">one</a>, but <a href="http://mwidlake.wordpress.com/2010/01/08/more-on-command_type-values">two</a> posts.</li>
<li>Finally, if you're interested in some real-world information about using Oracle E-Business Suite on VMware (and who isn't, really?), J Weinshenker (Twitter: <a href="http://twitter.com/aus_effendi">@aus_effendi</a>) has recently spun up a <a href="http://weinshenker.net/blog" title="Technology Defenestration">blog</a> about those topics and others of interest to <a href="http://www.oraclenerd.com" title="That should fend off Chet's trademark lawyers">ORACLENERD</a>s of the DBA/Apps DBA variety. Quality content there; go read!</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://only4left.jpiwowar.com/2010/06/recently-relevant-to-me-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Downloading OTN software using wget</title>
		<link>http://only4left.jpiwowar.com/2010/04/wget_otn_downloads/</link>
		<comments>http://only4left.jpiwowar.com/2010/04/wget_otn_downloads/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 00:12:30 +0000</pubDate>
		<dc:creator>jpiwowar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Oracle misc]]></category>
		<category><![CDATA[StupidLinuxTricks]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://only4left.jpiwowar.com/2010/04/wget_otn_downloads/</guid>
		<description><![CDATA[<p>One of my most frequently-visited blog posts is <a href="http://only4left.jpiwowar.com/2009/02/retrieving-oracle-patches-with-wget/" title="Retrieving Oracle patches with wget">Retrieving Oracle patches with wget</a>. Recently, a commenter asked about using wget to download software from Oracle Technet (OTN). It's a little more complicated to use wget to download from OTN, because there are cookies involved. This post discusses how to extract the relevant cookies from Firefox and Google Chrome, and use those cookies with wget to retrieve files.</p>
]]></description>
			<content:encoded><![CDATA[<p>One of my most frequently-visited posts is "<a href="http://only4left.jpiwowar.com/2009/02/retrieving-oracle-patches-with-wget/" title="Retrieving Oracle patches with wget">Retrieving Oracle patches with wget</a>." Recently, a commenter on that post <a href="http://only4left.jpiwowar.com/2009/02/retrieving-oracle-patches-with-wget/#comment-4771">asked</a> about using wget to download software from Oracle Technet (OTN). It's a little complicated to use wget to download from OTN, because there are cookies involved. This post discusses how to extract the relevant cookies from Firefox and Google Chrome, and use those cookies with wget to retrieve files. If you manage to wade through my excessive exposition, there's even a script at the end that you might find useful.</p>
<p>First things first: This is <b>not</b> a new idea. <a href="http://www.pythian.com" title="Smart people who love data.">Pythian's</a> Marc Fielding wrote an <a href="http://www.pythian.com/library/papers_and_books/downloading_from_otn_directly_to_your_database_server/" title="DOWNLOADING FROM OTN DIRECTLY TO YOUR DATABASE SERVER">excellent article</a> a long time ago about using wget and the text-based browser lynx to download files from OTN. His article is the reason that I even knew this was possible; I'm just expanding on the concept to include other browsers. If you have lynx installed on your server, you can stop reading <b>this</b> post, go read Marc's post instead, and you're all set. In fact, it's a good idea to read Marc's article anyway, because I'm going to reference it a few times in this post.</p>
<h3>Overview and assumptions</h3>
<p>As you've read from Marc's article (you did go to read that, right?), the basic process to set up downloads from OTN with wget is as follows:</p>
<ol>
<li>Authenticate to OTN with your username and password. You need to do this for cookies to be set properly. No workarounds or backdoors here, you have to sign in.</li>
<li>Navigate to the relevant page in the Downloads section for the software to be downloaded</li>
<li>Click the radio button to accept the license agreement. This is necessary to reveal the download links so you can copy the URL to feed to wget. Again, no backdoors, no workarounds.</li>
<li>Copy the URLs of the files you want to download</li>
<li>Extract the cookies created during your browser session into a text file.</li>
<li>Invoke wget with the --load-cookies option to download the desired files.</li>
</ol>
<p>By now, you might be thinking, "If it's that easy, why is the scroll bar next to this post so long?" The answer is that step 5 is somewhat involved.</p>
<p>I'm going to assume a few things. First, we'll be working with either Firefox or Google Chrome, because they store their cookies in similar ways. Safari uses XML to store cookies, and Internet Explorer is just an abomination <img src='http://only4left.jpiwowar.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> , so they're beyond the scope of this post. My second assumption is that you don't need help with steps 1-4 above. We're going to jump right into extracting cookies from Firefox and Chrome.</p>
<p><i><b>Update, 25-Apr-2010:</b> Here's one last opportunity to stop reading and start doing.  If you're a Firefox user, and not averse to using plugins in your browser, you could install a plugin like <a href="https://addons.mozilla.org/en-US/firefox/addon/66579/">Cookie Exporter</a> to extract cookies to a properly-formatted text file.  Also, notwithstanding my crack about IE, I have read that it's possible to export IE's cookies in the correct format without having to resort to any special shenanigans.  I had intended to point out both of these things in my original post, but instead I launched right into the SQLite discussion below.  Sorry about that;  the editing department has been sternly reprimanded.</i></p>
<h3>Extracting cookies</h3>
<p>Lynx very conveniently exports its cookies to a text file, in the format expected by wget (the classic "<a href="http://www.cookiecentral.com/faq/#3.5" title="cookie file format">Netscape cookies.txt</a>" spec). Firefox and Chrome, on the other hand, save cookies in a <a href="http://www.sqlite.org/" title="SQLite.org">SQLite</a> database file. So, I guess that's it, right? Cookies locked up in some goofy binary file. Not going to be able to get those out. Guess I'm out of luck.</p>
<p>Oh. Wait. I do database stuff. There's hope!</p>
<p>The first thing to do is to install a SQLite client. Instructions are beyond the scope of this post, but you can <a href="http://www.sqlite.org/download.html" title="SQLite downloads page">download precompiled binaries of the sqlite3 command-line client</a> from the SQLite site. If you're a Mac user, you're in luck: sqlite3 should already be installed in /usr/bin.</p>
<p>The next step is to locate the cookies database file for your browser. For Firefox, it should be cookies.sqlite in your <a href="http://kb.mozillazine.org/Profile_folder_-_Firefox" title="Firefox profile folder info">default profile</a> directory, and for Chrome, it should be the file creatively named Cookies in you<a href="http://www.google.com/support/forum/p/Chrome/thread?tid=37c4da1ce9f62f12&amp;hl=en" title="This is suprisingly hard-to-find info">r profile directory</a>. If you're really stuck, and are running Linux or OS X, you should be able to find the location by issuing <code>lsof | grep -i cookies</code> while your browser is running.</p>
<p>Here's an example of what the cookies look like in the SQLite database in Firefox:</p>
<pre class="brush: plain;">
zathras:~ jpiwowar$ sqlite3 /Users/jpiwowar/Library/Application\ Support/Firefox/Profiles/ftpzvxjz.default/cookies.sqlite
SQLite version 3.6.10
Enter &quot;.help&quot; for instructions
Enter SQL statements terminated with a &quot;;&quot;
sqlite&gt; .schema moz_cookies
CREATE TABLE moz_cookies (id INTEGER PRIMARY KEY, name TEXT, value TEXT, host TEXT, path TEXT,expiry INTEGER, lastAccessed INTEGER, isSecure INTEGER, isHttpOnly INTEGER);
sqlite&gt; select *
...&gt; from moz_cookies
...&gt; where name like 'ORA_UCM%'
...&gt; ;
1271476327342462|ORA_UCM_INFO|3~70969please_dont_copy_my_cookies|.oracle.com|/|1303012327|1271477696515030|0|0
1271476327343576|ORA_UCM_VER|%200|.oracle.com|/|1303012327|1271477696515030|0|0
1271476327344121|ORA_UCM_SRVC|no_really_just_use_your_own|.oracle.com|/|1303012327|1271477696515030|0|0
</pre>
<p>The name of the cookies table in Firefox is moz_cookies. At the time of this post, the OTN cookies needed for this exercise have names starting with ORA_UCM. The name of the SQLite table in the Chrome cookies database is simply 'cookies'. You'll note that some of the column names are also different:</p>
<pre class="brush: plain;">
zathras:~ jpiwowar$ sqlite3 /Users/jpiwowar/Library/Application\ Support/Chromium/Default/Cookies
SQLite version 3.6.10
Enter &quot;.help&quot; for instructions
Enter SQL statements terminated with a &quot;;&quot;
sqlite&gt; .schema cookies
CREATE TABLE cookies (creation_utc INTEGER NOT NULL UNIQUE PRIMARY KEY,host_key TEXT NOT NULL,name TEXT NOT NULL,value TEXT NOT NULL,path TEXT NOT NULL,expires_utc INTEGER NOT NULL,secure INTEGER NOT NULL,httponly INTEGER NOT NULL,last_access_utc INTEGER NOT NULL);
</pre>
<p>Of course, a simple "select *" from the cookies table is not going to produce a usable cookies file to use with wget. The <a href="http://www.cookiecentral.com/faq/#3.5" title="cookie file format">cookies.txt</a> spec requires 7 tab-, not pipe-, separated fields, and the expiration timestamp for Chrome cookies is in an unusual format. Rather than take up even more space in this post, I've written a shell script, <a href="http://only4left.jpiwowar.com/wp-content/uploads/2010/04/OTNcookies.txt" title="OTN cookie extractor">OTNcookies.sh</a> (it'll probably download as .txt, not .sh), that performs the work of extracting the cookies in the proper format. Here's a quick overview of the script:</p>
<ul>
<li>Takes two arguments: the first (required) is the location of the cookies database file, and the second (optional) is the name of the text file containing the exported cookies.</li>
<li>Determines the type of cookie database (Firefox or Chrome)</li>
<li>Runs an appropriate query to extract the cookies to the text file specified by the user, or to a default output file.</li>
<li>Tries to accommodate for spaces in filenames and directories, but you <b>will</b> need to escape spaces in the file names that you pass to the script</li>
</ul>
<p>As with any script you grab from the Intertubes, please exercise caution. This isn't designed to do anything malicious or damaging, but that doesn't mean you couldn't do something silly with it (like, say, running it as root and overwriting critical system files with cookies. Wouldn't that be embarrassing? Yes, but it would be your fault, not mine <img src='http://only4left.jpiwowar.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
<p>Here's a sample run of the OTNcookies script:</p>
<pre class="brush: plain;">
zathras:~ jpiwowar$ OTNcookies.sh /Users/jpiwowar/Library/Application\ Support/Firefox/Profiles/ftpzvxjz.default/cookies.sqlite /var/tmp/FFcookies.txt
Looks like Firefox.
OTN cookies written to /var/tmp/FFcookies.txt
</pre>
<p>After extracting the cookies, it's a simple matter of invoking wget with the load-cookies option, as documented in Marc's article.</p>
<pre class="brush: plain;">
zathras:~ jpiwowar$ wget --load-cookies=/var/tmp/FFcookies.txt http://download.oracle.com/otn/mac/instantclient/10204/instantclient-basic-10.2.0.4.0-macosx-x86.zip

--2010-04-22 17:00:39--  http://download.oracle.com/otn/mac/instantclient/10204/instantclient-basic-10.2.0.4.0-macosx-x86.zip
Resolving download.oracle.com... 208.111.133.52, 208.111.133.54
Connecting to download.oracle.com|208.111.133.52|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 34109360 (33M) [application/zip]
Saving to: `instantclient-basic-10.2.0.4.0-macosx-x86.zip'&lt;br /&gt;10% [===&gt;                                   ] 3,563,808    545K/s  eta 65s
</pre>
<p>A final note:  The cookie file should be re-usable, so you don't need to regenerate one for each file you want to download.  The cookies will expire eventually, however, at the time indicated in the expiry or expires_utc field.  At that point, you'll need to go through the whole process again, starting with logging in to OTN to create new cookies.  </p>
<p>Happy downloading!</p>
]]></content:encoded>
			<wfw:commentRss>http://only4left.jpiwowar.com/2010/04/wget_otn_downloads/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vancouver Oracle Users Group (VanOUG) meeting set for 9 March</title>
		<link>http://only4left.jpiwowar.com/2010/02/vancouver-oracle-users-group-vanoug-meeting-set-for-9-march/</link>
		<comments>http://only4left.jpiwowar.com/2010/02/vancouver-oracle-users-group-vanoug-meeting-set-for-9-march/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 17:40:53 +0000</pubDate>
		<dc:creator>jpiwowar</dc:creator>
				<category><![CDATA[Oracle misc]]></category>
		<category><![CDATA[OUG]]></category>
		<category><![CDATA[vanoug]]></category>

		<guid isPermaLink="false">http://only4left.jpiwowar.com/2010/02/vancouver-oracle-users-group-vanoug-meeting-set-for-9-march/</guid>
		<description><![CDATA[<p>Vancouver Oracle Users Group March 9 2010 meeting announcement</p>
]]></description>
			<content:encoded><![CDATA[<p>A while ago, I wrote about the <a href="http://only4left.jpiwowar.com/2009/11/hey-vancouver-bc-want-an-oracle-users-group/" title="Shameless self-referential linkage!">(re)formation of the Vancouver Oracle Users Group</a> (VanOUG). Wheels are now in motion to make this a reality; the first meeting has been scheduled for 9 March, 2010, conveniently after all of the Olympic hullabaloo. I received the following message recently with details about the agenda and meeting location, and I'm sharing in case you aren't already on the 100+-member mailing list. If you're a Vancouver-area Oracle professional in search of an Oracle user group, please make space in your schedule to attend this meeting. As noted in the meeting announcement, you will need to register prior to the meeting so that security at the site knows to expect you. Visit the <a href="http://vanoug.org/events.html" title="VanOUG events page">VanOUG events page</a> to register.</p>
<p>Disclosure/disclaimer: I don't represent VanOUG; I'm just an interested member trying to get the word out.</p>
<blockquote><p>
  Thanks to the overwhelming response from the local Oracle community, we<br />
  are moving forward with the initial meeting of the Vancouver Group on<br />
  Tuesday March 9, 2010. Over 120 people have already signed up, and many<br />
  have indicated willingness to participate as directors and sponsors of the<br />
  group.</p>
<p>  Dan Morgan and Caleb Small will chair this initial meeting, and provide<br />
  informative presentations on Oracle 11gR2 new features and best practices<br />
  including RAC and ASM. Unilogik Systems, Inc. is the meeting sponsor and<br />
  will provide a light dinner of pizza, pop and juice.</p>
<p>  Following the networking and presentations, an organizational meeting will<br />
  be held for those that wish to be involved in the group's leadership. The<br />
  future direction of the group will be discussed at this meeting.</p>
<p>  Please check the <a href="http://www.vanoug.org" title="VanOUG home page">VANOUG.ORG</a> website for full details.</p>
<p>  DATE: Tuesday March 9, 2010<br />
  TIME: 5:00pm - 8:00pm<br />
  LOCATION:<br />
  Okanagan Room at BC Liquor Distribution Branch (BC LDB)<br />
  3200 East Broadway (Rupert and Broadway)<br />
  Parking is located on the East side of the Distribution Centre</p>
<p>  TO REGISTER: simply reply to this email with your request</p>
<p>  <b>LDB Security requires attendee list before the meeting so you MUST<br />
  register in advance!</b></p>
<p>  AGENDA:<br />
  5:00 Networking and light dinner<br />
  5:30 Presentation - Daniel Morgan (<a href="#dan">see below</a>)<br />
  6:15 Break (and a word from our sponsor)<br />
  6:30 Presentation - Caleb Small (<a href="#caleb">see below</a>)<br />
  7:15 Discussion of group leadership and future direction</p>
<p>
  <a name="dan">11g NEW FEATURES YOU WON'T HEAR ABOUT FROM ORACLE, Daniel Morgan</a></p>
<p>  We know Oracle will tell us some things about each new release of their<br />
  flagship database ... but not everything we need to know.</p>
<p>  At our first official meeting ACE Director Daniel Morgan will live demo,<br />
  in SQL*Plus many of the most important new 11gR1 and 11gR2 features and<br />
  give us source code for the demos.</p>
<p>
  <a name="caleb">11gR2 HIGH AVAILABILITY BEST PRACTICES, Caleb Small</a></p>
<p>  11gR2 brings significant changes to Oracle RAC and Clusterware, now called<br />
  Grid Infrastructure. It also introduces ACFS, which stands for ASM Cluster<br />
  File System, and a completely different approach to handling the OCR and<br />
  Voting Disk. Other changes include the new Single Client Access Name<br />
  (SCAN) IP, a new required grid user, Cluster Time Synchronization Service,<br />
  Grid Naming Service, and some very interesting network configuration<br />
  requirements.</p>
<p>  Caleb is a senior consultant, mentor and educator responsible for numerous<br />
  production RAC installations. Come and hear about theses changes and new<br />
  features from a completely practical perspective.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://only4left.jpiwowar.com/2010/02/vancouver-oracle-users-group-vanoug-meeting-set-for-9-march/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hey Vancouver BC, want an Oracle Users Group?</title>
		<link>http://only4left.jpiwowar.com/2009/11/hey-vancouver-bc-want-an-oracle-users-group/</link>
		<comments>http://only4left.jpiwowar.com/2009/11/hey-vancouver-bc-want-an-oracle-users-group/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 21:03:46 +0000</pubDate>
		<dc:creator>jpiwowar</dc:creator>
				<category><![CDATA[Oracle misc]]></category>
		<category><![CDATA[OUG]]></category>
		<category><![CDATA[vanoug]]></category>

		<guid isPermaLink="false">http://only4left.jpiwowar.com/?p=105</guid>
		<description><![CDATA[Well, here's your chance.  
As a recent arrival to Vancouver, BC from Pittsburgh, PA, I'd started hunting around for a Vancouver-based Oracle Users Group.  I was surprised to discover that the closest group was actually based in Victoria, BC, which I've now learned is a scenic but not particularly convenient commute.   [...]]]></description>
			<content:encoded><![CDATA[<p>Well, <a href="http://www.vanoug.org/" title="Vancouver Oracle Users Group">here's your chance</a>.  </p>
<p>As a recent arrival to Vancouver, BC from Pittsburgh, PA, I'd started hunting around for a Vancouver-based Oracle Users Group.  I was surprised to discover that the <a href="http://www.vicoug.org" title="Victoria Oracle Users Group">closest group</a> was actually based in Victoria, BC, which I've now learned is a scenic but not particularly convenient commute. <img src='http://only4left.jpiwowar.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  I'd arrived in BC just barely in time to make the Victoria group's November meeting, so off I went.</p>
<p>At the meeting, I had the privilege of seeing two interesting presentations by Dan Morgan.  Dan's secondary purpose in coming to the meeting was to help Oracle lay the foundation for forming an OUG based in Vancouver, to better serve the customer base in the Lower Mainland.  I tagged along to a second, more informal meeting about the Vancouver OUG at (of course) a local pub, with Dan, some folks from Oracle, and representatives of local Oracle customers.  Since there was beer involved, discussion occasionally strayed, but here's the basic scoop:</p>
<ul>
<li>There are two upcoming events where interested parties can get involved in the formation of the Vancouver OUG:  an Oracle reception on 3 Dec 2009, and the <a href="http://www.oracle.com/dm/10q2field/40651_ev_11g_vancouver_jan14.html" title="Lower IT Costs with Oracle Database 11g Release 2">Oracle Database 11gR2 launch event</a> on 14 January 2010.  More information can be found at the VanOUG web site: <a href="http://www.vanoug.org/" title="Vancouver Oracle Users Group">http://www.vanoug.org/</a>.  I hear that the second event particularly is going to have some star power. <img src='http://only4left.jpiwowar.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
<li>This group is in the early stages of its formation; officers and directors have not been chosen. If you're interested in being part of getting a new OUG off the ground, this is a great opportunity to do so.</li>
<li>Timing and location of future VanOUG meetings are keys to its success; engaging content only works if people come to the meetings. </li>
<li>If you're interested in getting involved, have ideas, or want to make sure you're included in future announcements about VanOUG, visit the "Contact Us" link on the <a href="http://www.vanoug.org/" title="Vancouver Oracle Users Group">VanOUG site</a>.</li>
</ul>
<p>VanOUG is currently an idea and a 1-page web presence, but with community involvement it will be a lot more in a very short time.   <img src='http://only4left.jpiwowar.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />   I'm looking forward to meeting some new people at the upcoming events!</p>
]]></content:encoded>
			<wfw:commentRss>http://only4left.jpiwowar.com/2009/11/hey-vancouver-bc-want-an-oracle-users-group/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>My Oracle Support has landed.  Check your links.</title>
		<link>http://only4left.jpiwowar.com/2009/11/mos_has_landed/</link>
		<comments>http://only4left.jpiwowar.com/2009/11/mos_has_landed/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 02:19:23 +0000</pubDate>
		<dc:creator>jpiwowar</dc:creator>
				<category><![CDATA[Oracle misc]]></category>
		<category><![CDATA[Metalink]]></category>

		<guid isPermaLink="false">http://only4left.jpiwowar.com/?p=90</guid>
		<description><![CDATA[So there was a small, inconsequential change in the Oracle Support landscape last week:  Oft-maligned-and-yet-somehow-much-beloved Metalink went away, to be replaced by a flashier (hah, I kill me) My Oracle Support.  I bet you barely noticed.
One thing that I discovered pretty quickly is that some of my links to old Metalink content no [...]]]></description>
			<content:encoded><![CDATA[<p>So there was a small, inconsequential change in the Oracle Support landscape last week:  Oft-maligned-and-yet-somehow-much-beloved Metalink went away, to be replaced by a flashier (hah, I kill me) My Oracle Support.  I bet you <a href="http://www.oraclenerd.com/2009/11/my-oracle-support-fiasco.html" title="ORACLENERD aggregates the My Oracle Support upgrade reactions">barely noticed</a>.</p>
<p>One thing that I discovered pretty quickly is that some of my links to old Metalink content no longer worked.  Thankfully, the content itself hadn't disappeared, but I had some editing to do in my personal documentation.  Here's what I've found:</p>
<ul>
<li>Links referencing metalink2.oracle.com, specifically those of the super-long form <code>https://metalink2.oracle.com/metalink/plsql/f?blahblah:NOT,nnnnnn.n</code>, are broken.  This may be temporary, but somehow I doubt it. 	</li>
<li> It appears, however, that shorter metalink2 links <code>(https://metalink2.oracle.com/metalink/plsql/showdoc?db=NOT&#038;id=nnnnnn.n)</code> still resolve.</li>
<li>Similarly, links that reference metalink.oracle.com, of the form <code>https://metalink.oracle.com/metalink/plsql/showdoc?db=NOT&#038;id=nnnnnn.n</code> seem to forward to support.oracle.com without issue.</li>
<li>The "new way" to format links to My Oracle Support documents is: <code>https://support.oracle.com/CSP/main/article?cmd=show&#038;id=nnnnnn.n&#038;type=NOT</code></li>
<li>These direct links to My Oracle Support documents do not open pages wrapped in the new My Oracle Support interface.  This is probably a good thing for lots of people. <img src='http://only4left.jpiwowar.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
<li>Links to patches via updates.oracle.com, of the form <code>https://updates.oracle.com/ARULink/PatchDetails/process_form?patch_num=nnnnnnn</code>, are unaffected by the switch to My Oracle Support.  Whew.</li>
</ul>
<p>Anyone notice anything else? Please comment away.</p>
<p><em>(off-topic aside: I didn't really expect to break a long blog silence with another post about Support.  Ah well.  Man plans, God laughs.)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://only4left.jpiwowar.com/2009/11/mos_has_landed/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The end is near! (for FTP download of Oracle patches)</title>
		<link>http://only4left.jpiwowar.com/2009/07/the-end-is-near-for-ftp-download-of-oracle-patches/</link>
		<comments>http://only4left.jpiwowar.com/2009/07/the-end-is-near-for-ftp-download-of-oracle-patches/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 20:42:25 +0000</pubDate>
		<dc:creator>jpiwowar</dc:creator>
				<category><![CDATA[Oracle misc]]></category>
		<category><![CDATA[Metalink]]></category>

		<guid isPermaLink="false">http://only4left.jpiwowar.com/2009/07/the-end-is-near-for-ftp-download-of-oracle-patches/</guid>
		<description><![CDATA[<p>Oracle has set a date for shutting off FTP access to their patch repository, updates.oracle.com: September 18, 2009. Fortunately, they're continuing to allow access via wget.<br /></p>
]]></description>
			<content:encoded><![CDATA[<p>If you haven't had to download a patch from My Oracle Support lately...lucky you, to have such a smoothly-functioning system! <img src='http://only4left.jpiwowar.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  If you have, however, you may have seen the following notice on the patch download page.  Oracle was kind enough to highlight the information in red, which is good, because I usually just ignore the boilerplate:</p>
<p>
<img src="http://only4left.jpiwowar.com/wp-content/uploads/2009/07/buh-byeftpupdates.jpg" width="480" height="361" alt="buh-byeFTPupdates.jpg" title="buh-byeFTPupdates.jpg" /></p>
<p>I'm <a href="http://trioragroup.com/blog/archives/268#more-268" title="The Triora Group">not the first</a> to ponder the demise of FTP downloads from Oracle's patch server, but this is the first time I've seen a date (18-SEP-2009) attached to the event. The timing appears to coincide with the <a href="http://blogs.oracle.com/Support/2009/07/here_comes_my_oracle_supportfo.html" title="Here comes My Oracle Support…for everybody">imminent retirement of Classic Metalink</a> (which is being met with much <a href="http://forums.oracle.com/forums/thread.jspa?forumID=29&amp;threadID=912647" title="OTN Save Classic Metalink! thread">wailing</a> and <a href="http://www.computerworld.com/s/article/9135224/Some_Oracle_users_irked_about_support_site_switch?source=CTWNLE_nlt_dailyam_2009-07-07" title="Computerworld">gnashing of teeth</a>, but that's not what this post is about).</p>
<p>Losing FTP access to updates.oracle.com would be a lot more painful if Oracle weren't continuing to allow access via wget. It's pretty clear that Oracle understands that some admins prefer to download patches directly to their servers, and won't force users to access patches solely via a graphical browser. Whatever other concerns I might have about the My Oracle Support transition, this is a piece that's being done right, and I'm grateful.</p>
<p>If you're interested in a solution for using wget to retrieve Oracle patches, I know a guy who wrote <a href="http://only4left.jpiwowar.com/2009/02/retrieving-oracle-patches-with-wget/" title="Retrieving Oracle patches with wget">a blog post</a> about that very topic a while back...</p>
]]></content:encoded>
			<wfw:commentRss>http://only4left.jpiwowar.com/2009/07/the-end-is-near-for-ftp-download-of-oracle-patches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Via Twitter, an interesting regexp_replace puzzle</title>
		<link>http://only4left.jpiwowar.com/2009/04/regexp_replace_puzzle/</link>
		<comments>http://only4left.jpiwowar.com/2009/04/regexp_replace_puzzle/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 16:11:41 +0000</pubDate>
		<dc:creator>jpiwowar</dc:creator>
				<category><![CDATA[Oracle misc]]></category>
		<category><![CDATA[regex]]></category>

		<guid isPermaLink="false">http://only4left.jpiwowar.com/2009/04/regexp_replace_puzzle/</guid>
		<description><![CDATA[<p>Prolific and knowledgeable Oracle Ace LewisC asked a regular expression (more specifically, regexp_replace) question on Twitter, and I found myself thinking, "hey, I bet I could actually answer that!" So I did. Then I thought about my answer a bit more, and decided to write a blog post to expand upon my original 140-character response.</p>
]]></description>
			<content:encoded><![CDATA[<p><i>Update:  Laurent Schneider offers more elegant solutions and points out an embarrassing bug.  Rather than edit my post to appear more clever than I actually am, I will instead direct you to his <a href="http://only4left.jpiwowar.com/2009/04/regexp_replace_puzzle/#comment-786">comment</a>. <img src='http://only4left.jpiwowar.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </i> </p>
<p><a href="http://databasewisdom.com/" title="Database Wisdom, LewisC's database knowledge repository">LewisC</a> (aka <a href="http://twitter.com/oracle_ace/" title="Oracle Ace on Twitter">@oracle_ace</a>) posed a question on Twitter yesterday, in the following <a href="http://twitter.com/oracle_ace/status/1437742677" title="spec">two</a> <a href="http://twitter.com/oracle_ace/status/1437745706" title="Use case">tweets</a>, about using regexp_replace to match unescaped characters:</p>
<p><img src="http://only4left.jpiwowar.com/wp-content/uploads/2009/04/oracle-acetweets.png" width="480" height="141" alt="oracle_aceTweets.png" title="oracle_aceTweets.png" /></p>
<p>I'm no guru, but as an unreformed Perl geek, I'm a sucker for a regex problem, and liked the added challenge of conforming to Oracle's regexp_*() syntax. After a little bit of tweaking and testing, I found that I could even fit the solution in less than 140 characters, so I <a href="http://twitter.com/jpiwowar/status/1439246221" title="regexp_replace solution">tweeted back</a> the following:</p>
<pre class="brush: sql;">
select '&quot;a&quot;bcd\&quot;efg&quot;hi&quot;' tst,
regexp_replace('&quot;a&quot;bcd\&quot;efg&quot;hi&quot;','(^&quot;+)|([^\\])&quot;+','\2|') fixed
from dual;
</pre>
<p>Since one person's regex is often another person's line noise, I thought I'd explain what's going on:</p>
<ul>
<li><code>(^"+)</code> Matches one or more double quote characters at the start of the string. This is basically just handling an edge condition that can't be addressed by the second match. The circumflex character, ^ (aka "caret"), matches the beginning of a line.</li>
<li><code>([^\\])"+</code> Matches any character except a slash, followed by a quote. So, per Lewis' spec, an escaped character like <code>\"</code> would be ignored. Note that in this context, the circumflex character ^ means "not."</li>
<li><code>\2|</code> in the replacement string replaces the double-quote characters with a pipe character. The <code>\2</code> prepends what was matched in the second grouped expression <code>([^\\])</code>. If the first match condition <code>(^"+)</code> is met, <code>\2</code> is empty, so nothing is prepended to the replacement character, which is exactly what we want.</li>
</ul>
<p>This solution can be easily modified to use your choice of match and replacement characters. If one of your chosen characters is \, however, you should expect a little extra quoting/escaping work. <img src='http://only4left.jpiwowar.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>There is a limitation to this solution that I didn't realize until I started composing this post: Thanks to the + character in the match condition, multiple matched characters will be compressed to a single replacement character. For example:</p>
<pre class="brush: sql;">
SQL&gt; select '&quot;&quot;&quot;a&quot;bcd\&quot;efg&quot;&quot;&quot;&quot;hi&quot;&quot;&quot;&quot;' tst,
2 regexp_replace('&quot;&quot;&quot;a&quot;bcd\&quot;efg&quot;&quot;&quot;hi&quot;&quot;&quot;&quot;','(^&quot;+)|([^\\])&quot;+','\2|') fixed
3 from dual
4 /

TST                     FIXED
----------------------- ---------------
&quot;&quot;&quot;a&quot;bcd\&quot;efg&quot;&quot;&quot;&quot;hi&quot;&quot;&quot;&quot; |a|bcd\&quot;efg|hi|
</pre>
<p>If the goal is to eliminate the matched characters altogether (i.e. no replacement character), then this is not a problem. If this compression is a concern, however, then a slightly modified match (+ characters removed) with a multi-pass approach might be appropriate:</p>
<pre class="brush: sql;">
SQL&gt; select '&quot;&quot;&quot;a&quot;bcd\&quot;efg&quot;&quot;&quot;&quot;hi&quot;&quot;&quot;&quot;' tst,
2 regexp_replace(regexp_replace('&quot;&quot;&quot;a&quot;bcd\&quot;efg&quot;&quot;&quot;hi&quot;&quot;&quot;&quot;',
3                               '(^&quot;)|([^\\])&quot;','\2|'),
4                '(^&quot;)|([^\\])&quot;','\2|') fixed
5 from dual
6 /

TST                     FIXED
----------------------- ----------------------
&quot;&quot;&quot;a&quot;bcd\&quot;efg&quot;&quot;&quot;&quot;hi&quot;&quot;&quot;&quot; |||a|bcd\&quot;efg|||hi||||
</pre>
<p>Not particularly elegant, but it works. Output from using this revised match condition in a single-pass approach is left as an exercise for the reader. <img src='http://only4left.jpiwowar.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Finally, if you're familiar with perl regular expressions, you may note that what Lewis asked for could be handled with a zero-width negative look-behind assertion, without having to resort to multiple passes over the string:</p>
<pre class="brush: bash;">
[oracle@vir ~]$ test_string='&quot;&quot;&quot;a&quot;bcd\&quot;efg&quot;&quot;&quot;&quot;hi&quot;&quot;&quot;&quot;'
[oracle@vir ~]$ echo $test_string | perl -pe 's/(?&amp;lt;!\\)&quot;/|/g'
|||a|bcd\&quot;efg||||hi||||
</pre>
<p>As far as I know, however, Oracle's regexp functions have not implemented Perl's "extended pattern" syntax. Furthermore, Lewis seemed to be asking for an Oracle-centric solution, and if I'd replied to Lewis' question with "something like Perl's zero-width negative look-behind assertion extended pattern," I would've used up way too many characters in my tweet. <img src='http://only4left.jpiwowar.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://only4left.jpiwowar.com/2009/04/regexp_replace_puzzle/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Retrieving Oracle patches with wget</title>
		<link>http://only4left.jpiwowar.com/2009/02/retrieving-oracle-patches-with-wget/</link>
		<comments>http://only4left.jpiwowar.com/2009/02/retrieving-oracle-patches-with-wget/#comments</comments>
		<pubDate>Sat, 14 Feb 2009 05:05:25 +0000</pubDate>
		<dc:creator>jpiwowar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Oracle misc]]></category>
		<category><![CDATA[StupidLinuxTricks]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[TypeLess]]></category>

		<guid isPermaLink="false">http://only4left.jpiwowar.com/?p=67</guid>
		<description><![CDATA[While working from home this evening, I had to download some patches to a remote Linux system, and was struck, not for the the first time, by the inconvenience of it all.   So I wrote a quick shell function that helps me grab patches using wget.  And then, I decided to share with the world, or at least the really small portion of the world that visits my blog. ]]></description>
			<content:encoded><![CDATA[<blockquote><p>Update #1, 13-Nov-2009:  While testing this patch download method in the wake of the recent My Oracle Support cutover, I noticed a new wrinkle.  Instead of a successful patch download, I got the following message from wget:
<pre>Self-signed certificate encountered.
To connect to login.oracle.com insecurely, use `--no-check-certificate'.</pre>
<p>After adding --no-check-certificate to the wget command, I was once again able to retrieve patches, but it took a bit longer than usual, as wget wandered through a tree of redirects.  I've updated the code for the getOraPatch function accordingly.</p>
<p>Update #2, also 13-Nov-2009:  A commenter on Chris Warticki's Oracle Support blog <a href="http://blogs.oracle.com/Support/2009/11/oracle_customer_support_ok_i_t.html#comment-197126">noted</a> that the patch download page provided by the Flash version of My Oracle Support does not present a right-clickable Download button, which would seem to render the wget patch retreival method useless.  Thankfully, there's a workaround: open a new window/tab in your browser, using an URL of the form <code>https://updates.oracle.com/ARULink/PatchDetails/process_form?patch_num=<em>nnnnnnn</em></code>  This will open a patch download page in a plain HTML, non-Flashy interface, and you should be all set to go!</p></blockquote>
<p>No, no, this isn't a back door into the <del>Metalink</del> My Oracle Support patch repository.  Don't get too excited. <img src='http://only4left.jpiwowar.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>While working from home this evening, I had to download some patches to a remote Linux system, and was struck, not for the the first time, by the inconvenience of it all.  The usual options seem to be:</p>
<ol>
<li>Download the patches to a local machine and upload them to the remote system -- annoyingly manual at best, and downright gross when a VPN connection is involved.</li>
<li><del>FTP from the remote system to updates.oracle.com.  That's a tried-and true method, but still involves a lot of typing.</del> Not anymore!  This access option was disabled in November 2009, with the arrival of My Oracle Support.</li>
<li>Start a VNC session on the remote system, launch a web browser, log in to <del>Metalink</del> My Oracle Support, and click the download button.  Not a bad option...unless you <em>can't</em> use VNC for some reason, and are stuck with a command-line interface.  Or if you're trying to navigate in that remote browser over a VPN connection.  Not an exercise for impatient people.</li>
</ol>
<h3 id="script">When life gives you inconvenience, write a shell function!</h3>
<p>At least, I think that's how the old saying goes.  I created the following bash(1) function that uses wget to download a patch from updates.oracle.com, using the URL behind the Download button:</p>
<pre class="brush: bash; toolbar: true;">
# Function to retreive patches from Metalink/My Oracle Support via wget
function getOraPatch {
   [[ $mosUser ]] || read -p &quot;Oracle Support Userid: &quot; mosUser;
   [[ $mosPass ]] || read -sp &quot;Oracle Support Password: &quot; mosPass;
   fname=`echo $1 | awk -F&quot;=&quot; '{print $NF;}'`;
   wget --no-check-certificate --http-user $mosUser --http-passwd $mosPass $1 -O $fname;
}</pre>
<p>The above function prompts for the username and password that you use to access <del>Metalink</del> My Oracle Support.  If the variables are already defined in your session, then it assumes you want to use the existing values and does not prompt you again.  Then, the function parses the patch URL to find the patch's filename, and passes all four values (userid, password, URL, and filename) to wget.</p>
<h3 id="usage">Usage example</h3>
<ol>
<li>Load the above function into your shell session, or copy and paste the code into your .bash_profile to have it loaded when you log in.</li>
<li>Log in to <del>Metalink</del> My Oracle Support and locate the patch.  Can't get around this step, but you can do it in a local browser, instead of dealing with a remote X session as described above in #3.</li>
<li>Right-click on the Download button to copy the patch URL:<br />
<a href='http://only4left.jpiwowar.com/wp-content/uploads/2009/02/downloadpatch.png'><img src="http://only4left.jpiwowar.com/wp-content/uploads/2009/02/downloadpatch-300x129.png" alt="Patch download window" title="downloadpatch" width="300" height="129" class="alignnone size-medium wp-image-68" /></a></li>
<li>Invoke the function, enclosing the super-long patch URL in single quotes:
<pre class="brush: bash;">
oracle@testhost:/stage&gt; getOraPatch 'really_long_patch_URL_copied_in_previous_step'
</pre>
</li>
<li>Answer the prompts, and lean back and watch as wget retrieves your patch:
<pre class="brush: plain;">Oracle Support Userid: your_MyOracleSupport_login_here
Oracle Support Password: your_MyOracleSupport_password_here
(some wget output snipped)
HTTP request sent, awaiting response... 200 OK
Length: 52,028 [application/zip]

100%[====================================&gt;] 52,028        --.--K/s             

22:27:24 (555.94 KB/s) - `pnnnnnnn_version_platform.zip' saved [52028/52028]
</pre>
</li>
<li>Repeat as necessary.</li>
</ol>
<h3 id="warn">Disclaimers, caveats and commentary</h3>
<ol>
<li>As noted in the opening line of this post, this is not a "back door" into Oracle's patch repository.  You still need a valid Metalink userid and password for this retrieval method to work.  Furthermore, since this method essentially performs the same actions as clicking on a link in a browser, and requires manual collection of the patch download URL, I don't think it qualifies as "automation."  I certainly didn't set out to violate the Oracle.com Terms of Use, so hopefully no one interprets this as such. <img src='http://only4left.jpiwowar.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
<li>I've only tested this on Linux.  Presumably, you could utilize this method on other Unix variants (and even Windows, if you're into that sort of thing).</li>
<li>On Unix/Linux, make sure you enclose the patch URL in single quotes, or the shell will interpret all of the ampersands in the URL as, "wow, you want me to launch 5 or 6 background processes?  O-<em>kay</em>!"</li>
<li>Before copying the patch URL, make sure you've already selected the correct release and platform for the patch.  The values of the aru and file_id parameters in the URL change as you select those values.</li>
<li>You need to have wget installed on your system for this method to work as written above.  It probably would be relatively easy to adapt this to use curl instead, but wget is what I thought to use first.</li>
<li>Some versions of wget use <code>http-password</code> instead of <code>http-passwd</code>.  Check <code>wget --help</code> to verify what's valid for your version.</li>
<li>Using this function will leave the values of your Oracle Support userid and password in the shell variables $mosUser and $mosPass.  If this makes you uncomfortable, remember to use <code>unset</code> on those variables, or just exit your session, when you're done downloading. </li>
<li>If you have any characters in your password that could be interpreted as metacharacters by the shell, you might need to escape them.  I didn't test that too thoroughly. <img src='http://only4left.jpiwowar.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
</ol>
<h3 id="lol">A few random observations</h3>
<ul>
<li>Yes, I'm downloading patches on a Friday night.  And it's not urgent, strictly speaking.  Do I know how to live, or what?</li>
<li>According to The Google, my posting rate for the life of this blog is 0.2 posts/week.  It's not every week that I get to surpass my average output by an order of magnitude.</li>
<li>On second thought, at this rate, I could post twice a week for a while and still bask in the glow of that false feeling of productivity. <img src='http://only4left.jpiwowar.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://only4left.jpiwowar.com/2009/02/retrieving-oracle-patches-with-wget/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Fixing file permission problems on Grid Control targets</title>
		<link>http://only4left.jpiwowar.com/2009/01/fix-gc-file-perms/</link>
		<comments>http://only4left.jpiwowar.com/2009/01/fix-gc-file-perms/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 21:33:33 +0000</pubDate>
		<dc:creator>jpiwowar</dc:creator>
				<category><![CDATA[EBS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Oracle RDBMS]]></category>
		<category><![CDATA[Oracle misc]]></category>
		<category><![CDATA[Grid Control]]></category>
		<category><![CDATA[monitoring]]></category>

		<guid isPermaLink="false">http://only4left.jpiwowar.com/?p=64</guid>
		<description><![CDATA[When installing Grid Control on a Linux or Unix platform, a recommended practice is to install the monitoring agent software as a user that doesn’t own the ORACLE_HOMEs to be monitored. This poses a challenge when configuring monitoring for some targets, particularly those based on Oracle Application Server 10g. This post lists some changes you can make to work around a variety of target discovery and metric collection errors.]]></description>
			<content:encoded><![CDATA[<p>When installing Grid Control agents on a Linux or Unix platform, a <a href="http://www.oracle.com/technology/products/oem/pdf/Security_Paper_OOW_06.pdf" title="Grid Control Security Best Practices">recommended practice</a> is to install as a user that doesn't own the ORACLE_HOMEs to be monitored.  This poses a challenge when configuring monitoring for some targets, particularly those based on Oracle Application Server 10g.  For security purposes, file and directory permissions on some ORACLE_HOMEs are fairly restrictive, and the Grid Control agent can't read all of the files necessary for target discovery and metric collection.  The Grid Control release notes <a href="http://download.oracle.com/docs/cd/B16240_01/doc/doc.102/e10552/toc.htm#sthref81" title="Grid Control 10gR4 Release notes for Linux and Windows">mention this complication</a>, and <a href="https://metalink2.oracle.com/metalink/plsql/showdoc?db=NOT&#038;id=437078.1" title="Metalink Note 437078.1">Metalink Note 437078.1</a> provides additional suggestions for resolving discovery and metric collection errors related to file permission restrictions on a target ORACLE_HOME.  I can't reveal the content of the <del>Metalink</del> My Oracle Support Note, and the information in the publicly-available Release Notes provides inadequate coverage, but the overall problem-solving method reduces to:</p>
<ol>
<li>Make sure that the owner of the agent software is in the same group as the owner of the monitored target software</li>
<li>Check the agent log files for file permission errors, and fix them.</li>
</ol>
<p>My experience so far indicates that fixing some errors tends to reveal others.  Who doesn't love a rousing game of log file <a href="http://en.wikipedia.org/wiki/Whac-A-Mole#Colloquial_usage" title="Wikipedia: Whac-a-mole">whack-a-mole? </a>  In the interest of saving others a few rounds of this, I'm offering up a few additional permission change steps that could make your lives easier.  For ease of navigation, I've broken things into the following sections:</p>
<ul>
<li><a href="#10gAS">Oracle Application Server</a></li>
<li><a href="#db">Database targets</a></li>
<li><a href="#ocs">Oracle Collaboration Suite Calendar Server</a></li>
<li><a href="#ebs">E-Business Suite</a></li>
</ul>
<p>Disclaimer: When considering making the changes I describe below, please consider the trade-off you are making:  more robust monitoring at the expense of <i>some</i> level of security.  The perceived degree of sacrifice will vary from person to person and organization to organization.  I would argue that the benefits outweigh the risks, and since Oracle itself suggests similar changes, this is clearly not a cut-and-dried issue.  Hey, if doing the right thing were always easy, this job wouldn't be any fun, right? <img src='http://only4left.jpiwowar.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Please feel free to leave any similar tips (or links to your own posts about this topic) in the comments.</p>
<h3 id="10gAS">Oracle Application Server</h3>
<p>Note 437078.1 is a good start, but there are a few additional items I found to ease metric collection and discovery errors for Oracle 10g App Server.  ORACLE_HOME refers to the location of the 10gAS software.  Depending on the application server components installed on your system, you may need to change more or fewer permissions. </p>
<pre class="brush: bash; toolbar: true;">chmod g+rx $ORACLE_HOME/webcache
chmod g+r $ORACLE_HOME/webcache/*.xml
chmod g+rx $ORACLE_HOME/portal
chmod g+rx $ORACLE_HOME/portal/conf
chmod g+rx $ORACLE_HOME/discoverer
chmod g+rx $ORACLE_HOME/discoverer/config
chmod g+rx $ORACLE_HOME/forms
chmod g+rx $ORACLE_HOME/forms/server
chmod g+rx $ORACLE_HOME/ldap
chmod g+rx $ORACLE_HOME/ldap/das
chmod g+rx $ORACLE_HOME/uix
chmod g+rx $ORACLE_HOME/ultrasearch
chmod g+rx $ORACLE_HOME/ultrasearch/webapp
chmod g+rx $ORACLE_HOME/ultrasearch/webapp/config
chmod g+rx $ORACLE_HOME/jpi
chmod g+rx $ORACLE_HOME/jpi/doc
chmod g+rx $ORACLE_HOME/Apache/oradav
chmod g+rx $ORACLE_HOME/Apache/oradav/conf
chmod g+rx $ORACLE_HOME/Apache/jsp
chmod g+rx $ORACLE_HOME/Apache/jsp/conf
chmod g+rx $ORACLE_HOME/Apache/modplsql
chmod g+rx $ORACLE_HOME/Apache/modplsql/conf
chmod g+rx $ORACLE_HOME/sso
chmod g+rx $ORACLE_HOME/sso/conf</pre>
<h3 id="db">Database targets</h3>
<p>Some environments (for example, the 10gAS infrastructure database) will require permission changes to effectively monitor database and listener targets.  You may find the scope of these changes to be a bit broad; at some point I got tired of chasing down individual files and just hit them all with the same hammer. <img src='http://only4left.jpiwowar.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />   In this case, ORACLE_HOME refers to the ORACLE_HOME of the RDBMS software.</p>
<pre class="brush: bash; toolbar: true;">find $ORACLE_HOME/admin -type d -exec chmod g+rx {} \;
find $ORACLE_HOME/admin -type f -exec chmod g+r {} \;

find $ORACLE_HOME/network -type d -exec chmod g+rx {} \;
find $ORACLE_HOME/network -type f -exec chmod g+r {} \;

find $ORACLE_HOME/rdbms -type d -exec chmod g+rx {} \;
find $ORACLE_HOME/rdbms -type f -exec chmod g+r {} \;

## The following are needed for database health checks to work properly...
chmod g+rx $ORACLE_HOME/dbs
chmod g+rw $ORACLE_HOME/dbs/hc*
</pre>
<p>Another general configuration note for the database listener, which I stumbled upon when setting up monitoring for a Secure Enterprise Search repository database:  If sqlnet.ora is configured with <code>TCP.VALIDNODE_CHECKING=yes</code>, then the server that hosts the Grid Control OMS needs to be added to the list of hosts defined by <code>TCP.INVITED_NODES</code>.  Otherwise, you'll get messages like this when attempting to add the database target, even if all monitoring credentials are correct:</p>
<pre class="brush: bash;">Failed to connect to the database: Io exception: Got minus one from a read call
The Connect Descriptor was (description=(address=(host=ses.myorg.com)(protocol=tcp)(port=xxxx))
(connect_data=(service_name=SESdb)(instance_name=SESdb)(UR=A)))&lt;/pre&gt;
And corresponding messages in the listener log:
&lt;pre&gt;TNS-12546: TNS:permission denied
 TNS-12560: TNS:protocol adapter error
  TNS-00516: Permission denied
</pre>
<p>Of course, after adding the OMS host to <code>TCP.INVITED_NODES</code> in sqlnet.ora, you need to tell the listener that you've made a change before the OMS will be able to connect to the database and add it as a target:</p>
<pre class="brush: bash;">oracle@ses:~&gt; lsnrctl  reload

LSNRCTL for Linux: Version 10.1.0.5.0 - Production on 05-DEC-2008 10:58:45

Copyright (c) 1991, 2004, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ses.myorg.com)(PORT=xxxx)))
The command completed successfully</pre>
<h3 id="ocs">Oracle Collaboration Suite Calendar Server</h3>
<p>These commands will resolve some issues with metric collection for OCS Calendar Server.  I suspect that the intersection of Collaboration Suite administrators (a small set) and readers of this blog (a vanishingly small set) is probably zero, but Google works in mysterious ways.  ORACLE_HOME refers to the OCS software location, not the Grid Control agent home.</p>
<pre class="brush: bash; toolbar: true;">chmod g+rx $ORACLE_HOME/ocal/bin
chmod g+rx $ORACLE_HOME/ocal/bin/uniwho
chmod g+rx $ORACLE_HOME/ocal/bin/unireqdump
chmod g+rx $ORACLE_HOME/ocal/bin/uniping
chmod g+rx $ORACLE_HOME/ocal/bin/unistatus
chmod g+rx $ORACLE_HOME/ocal/sbin
chmod g+rx $ORACLE_HOME/ocal/sbin/who
chmod g+rx $ORACLE_HOME/ocal/sbin/reqdump
chmod g+rx $ORACLE_HOME/ocal/sbin/ping
chmod g+rx $ORACLE_HOME/ocal/sbin/status
chmod g+rx $ORACLE_HOME/ocal/oem
chmod g+rx $ORACLE_HOME/ocal/oem/scripts
chmod g+rx $ORACLE_HOME/ocal/oem/scripts/ocal_ps.pl
chmod g+rx $ORACLE_HOME/ocal/oem/scripts/ocal_dbsize.pl
chmod g+rx $ORACLE_HOME/ocas
chmod g+rx $ORACLE_HOME/ocas/linkdb
chmod g+rx $ORACLE_HOME/ocas/sessiondb
chmod g+rx $ORACLE_HOME/lib
chmod g+rx $ORACLE_HOME/ocal/lib
chmod g+r $ORACLE_HOME/ocal/lib/*.so
chmod g+rx $ORACLE_HOME/ocal/db
chmod g+rx $ORACLE_HOME/ocal/db/nodes
find $ORACLE_HOME/ocal/db/nodes -type d -exec chmod g+rx {} \;
find $ORACLE_HOME/ocal/db/nodes -type f -exec chmod g+r {} \;
</pre>
<h3 id="ebs">E-Business Suite</h3>
<p>Setting these permissions in an E-Business Suite R12 instance resolved some metric collection errors of the form
<pre>Couldn't open INST_TOP/ora/10.1.3/j2ee/oafm/application-deployments/oafm/orion-application.xml: Permission denied at AGENT_HOME/sysman/admin/scripts/ias/simpleXPath.pm line 116</pre>
<p>  These errors may not manifest in 11i, since that version's tech stack is not based on 10gAS.  INST_TOP is the "Instance TOP" environment variable for the R12 Apps installation, and serves as a reminder to connect as the Apps owner (not database software owner) to run these commands.</p>
<pre class="brush: bash; toolbar: true;">chmod g+r $INST_TOP/ora/10.1.3/j2ee/forms/config/jms.xml
chmod g+r $INST_TOP/ora/10.1.3/j2ee/forms/application-deployments/forms/orion-application.xml
chmod g+r $INST_TOP/ora/10.1.3/j2ee/forms/application-deployments/forms/formsweb/orion-web.xml
chmod g+r $INST_TOP/ora/10.1.3/j2ee/oacore/config/jms.xml
chmod g+r $INST_TOP/ora/10.1.3/j2ee/oacore/application-deployments/oacore/orion-application.xml
chmod g+r $INST_TOP/ora/10.1.3/j2ee/oacore/application-deployments/oacore/html/orion-web.xml
chmod g+r $INST_TOP/ora/10.1.3/j2ee/oafm/config/jms.xml
chmod g+r $INST_TOP/ora/10.1.3/j2ee/oafm/application-deployments/oafm/orion-application.xml
chmod g+r $INST_TOP/ora/10.1.3/j2ee/oafm/application-deployments/oafm/webservices/orion-web.xml
chmod g+r $INST_TOP/ora/10.1.3/j2ee/oafm/application-deployments/mapviewer/orion-application.xml
chmod g+r $INST_TOP/ora/10.1.3/j2ee/oafm/application-deployments/mapviewer/web/orion-web.xml
chmod g+r $INST_TOP/ora/10.1.3/j2ee/oafm/application-deployments/ascontrol/orion-application.xml
</pre>
]]></content:encoded>
			<wfw:commentRss>http://only4left.jpiwowar.com/2009/01/fix-gc-file-perms/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
