<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Log Buffer #2: a Carnival of the Vanities for DBAs</title>
	<atom:link href="http://www.pythian.com/news/225/log-buffer-2-a-carnival-of-the-vanities-for-dbas/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pythian.com/news/225/log-buffer-2-a-carnival-of-the-vanities-for-dbas/</link>
	<description>News and views from Pythian DBAs</description>
	<lastBuildDate>Fri, 10 Feb 2012 13:01:25 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
	<item>
		<title>By: will dieterich</title>
		<link>http://www.pythian.com/news/225/log-buffer-2-a-carnival-of-the-vanities-for-dbas/#comment-1144</link>
		<dc:creator>will dieterich</dc:creator>
		<pubDate>Sat, 29 Jul 2006 14:06:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/225/log-buffer-2-a-carnival-of-the-vanities-for-dbas#comment-1144</guid>
		<description>The only rule that needs to be followed to advoide SQL injection is
&#039;Use parameterized SQL!!!!!!!!&#039;  every modern language provides it in some form.  

Stored procedures don&#039;t stop sql inection, it is that most people when using stored procedures do it using parameteried variables, besides for CRUD stuff stored procudures are slower.

Named SQL place holder are parammeterized SQL.

Most persistence engines use parameterized SQL because of its speed.  So using one of thoses does make use of the technology</description>
		<content:encoded><![CDATA[<p>The only rule that needs to be followed to advoide SQL injection is<br />
&#8216;Use parameterized SQL!!!!!!!!&#8217;  every modern language provides it in some form.  </p>
<p>Stored procedures don&#8217;t stop sql inection, it is that most people when using stored procedures do it using parameteried variables, besides for CRUD stuff stored procudures are slower.</p>
<p>Named SQL place holder are parammeterized SQL.</p>
<p>Most persistence engines use parameterized SQL because of its speed.  So using one of thoses does make use of the technology</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Scoles</title>
		<link>http://www.pythian.com/news/225/log-buffer-2-a-carnival-of-the-vanities-for-dbas/#comment-1100</link>
		<dc:creator>John Scoles</dc:creator>
		<pubDate>Thu, 27 Jul 2006 12:54:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/225/log-buffer-2-a-carnival-of-the-vanities-for-dbas#comment-1100</guid>
		<description>SQL injection attacks are a nasty annoyance but can be easily avoided it developers simply followed a few hard and set rules.

1) Use Stored Procedures instead of inline SQL is one sure way of  preventing these attacks --This of course brings up the problem of getting the SP written.
You either need a DBA with allot of time on her hands (ha!) or a  developer who can also write a good SP (double Ha!!) neither  of witch are that  common.

2) Use named SQL place holders in your inline SQL. This makes it much harder for the hacker to get in but it is not 100%. 

3) Use some sort of Persistence engine such as Enterprise Java Beans, Perl Beans or alike. This of course brings up the problems of speed  especially on the web.

4) Limit the rights of the web server to just the data views and cursors needed.  This can also works very well with SP in that you know that the web server can only access a know set of objects.</description>
		<content:encoded><![CDATA[<p>SQL injection attacks are a nasty annoyance but can be easily avoided it developers simply followed a few hard and set rules.</p>
<p>1) Use Stored Procedures instead of inline SQL is one sure way of  preventing these attacks &#8211;This of course brings up the problem of getting the SP written.<br />
You either need a DBA with allot of time on her hands (ha!) or a  developer who can also write a good SP (double Ha!!) neither  of witch are that  common.</p>
<p>2) Use named SQL place holders in your inline SQL. This makes it much harder for the hacker to get in but it is not 100%. </p>
<p>3) Use some sort of Persistence engine such as Enterprise Java Beans, Perl Beans or alike. This of course brings up the problems of speed  especially on the web.</p>
<p>4) Limit the rights of the web server to just the data views and cursors needed.  This can also works very well with SP in that you know that the web server can only access a know set of objects.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Gorbachev</title>
		<link>http://www.pythian.com/news/225/log-buffer-2-a-carnival-of-the-vanities-for-dbas/#comment-1085</link>
		<dc:creator>Alex Gorbachev</dc:creator>
		<pubDate>Wed, 26 Jul 2006 19:47:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/225/log-buffer-2-a-carnival-of-the-vanities-for-dbas#comment-1085</guid>
		<description>Paul,
Well, looking at the ADDM and Automatic SQL Tuning features in 10g, auto indexing functionality has been already partially implemented or at least basis of self-indexing has been created.
DBMS_SQLTUNE can recommend creating of certain indexes and/or drop/change existing ones. Not that I would trust it too much now but the trend is here and Oracle 11 may well already have a hidden parameter to run automatic SQL tuning tasks and hidden parameter(s) to control the types of automatically accepted recommendations.
Moreover, it doesnâ€™t have to be limited to self-indexing but can include &quot;self-materialized-viewing&quot;, self-profiling (this is the one I like much more), self-sql-rewriting and etc.
Indeed, looking at the automation that Oracle is introducing in such areas as UNDO, PGA, SGA, statistics, parallelism, and etc. I won&#039;t be much off-track asserting that automation and self-tuning is the most probable direction for future Oracle innovations.
Being a bit sarcastic (as usual) about GATHER_STATS_JOB, I should add that it&#039;s just a first implementation and requires particular attention from DBAâ€™s as any new feature enabled by default. Further improvements and, more important, increased awareness and understanding how to control and tune it, should make this job much more useful than it is now.
Do you want to bet which Oracle version will include default self indexing feature?
Cheers,
Alex</description>
		<content:encoded><![CDATA[<p>Paul,<br />
Well, looking at the ADDM and Automatic SQL Tuning features in 10g, auto indexing functionality has been already partially implemented or at least basis of self-indexing has been created.<br />
DBMS_SQLTUNE can recommend creating of certain indexes and/or drop/change existing ones. Not that I would trust it too much now but the trend is here and Oracle 11 may well already have a hidden parameter to run automatic SQL tuning tasks and hidden parameter(s) to control the types of automatically accepted recommendations.<br />
Moreover, it doesnâ€™t have to be limited to self-indexing but can include &#8220;self-materialized-viewing&#8221;, self-profiling (this is the one I like much more), self-sql-rewriting and etc.<br />
Indeed, looking at the automation that Oracle is introducing in such areas as UNDO, PGA, SGA, statistics, parallelism, and etc. I won&#8217;t be much off-track asserting that automation and self-tuning is the most probable direction for future Oracle innovations.<br />
Being a bit sarcastic (as usual) about GATHER_STATS_JOB, I should add that it&#8217;s just a first implementation and requires particular attention from DBAâ€™s as any new feature enabled by default. Further improvements and, more important, increased awareness and understanding how to control and tune it, should make this job much more useful than it is now.<br />
Do you want to bet which Oracle version will include default self indexing feature?<br />
Cheers,<br />
Alex</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul Vallee</title>
		<link>http://www.pythian.com/news/225/log-buffer-2-a-carnival-of-the-vanities-for-dbas/#comment-1083</link>
		<dc:creator>Paul Vallee</dc:creator>
		<pubDate>Wed, 26 Jul 2006 18:37:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/225/log-buffer-2-a-carnival-of-the-vanities-for-dbas#comment-1083</guid>
		<description>Alex - re self-indexing tables. I think it could work too. It could be done using a mix of sql replay and genetic algorithms. 

What I would have in mind is a process for a server to identify &quot;idle resources&quot; and off-peak time.

Then, identify expensive sql, preferably further characterized by its routine execution.

Then, during off-peak time and scheduled with idle resources (dba could set a cap on resources assigned to this task), simply have the system go ahead and create &quot;random&quot; indexes on these objects and re-play the captured sql (and even other concurrent captured sql). The key is to then engage the genetic algorithm component, and either kill (i.e. drop the index) or mutate (i.e. play around with columns, column orders, etc.) and iterate.

This would be challenging but would conceivably propose good indexing improvements, either for automated implementation or review.

Your thoughts?
Paul</description>
		<content:encoded><![CDATA[<p>Alex &#8211; re self-indexing tables. I think it could work too. It could be done using a mix of sql replay and genetic algorithms. </p>
<p>What I would have in mind is a process for a server to identify &#8220;idle resources&#8221; and off-peak time.</p>
<p>Then, identify expensive sql, preferably further characterized by its routine execution.</p>
<p>Then, during off-peak time and scheduled with idle resources (dba could set a cap on resources assigned to this task), simply have the system go ahead and create &#8220;random&#8221; indexes on these objects and re-play the captured sql (and even other concurrent captured sql). The key is to then engage the genetic algorithm component, and either kill (i.e. drop the index) or mutate (i.e. play around with columns, column orders, etc.) and iterate.</p>
<p>This would be challenging but would conceivably propose good indexing improvements, either for automated implementation or review.</p>
<p>Your thoughts?<br />
Paul</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Gorbachev</title>
		<link>http://www.pythian.com/news/225/log-buffer-2-a-carnival-of-the-vanities-for-dbas/#comment-1082</link>
		<dc:creator>Alex Gorbachev</dc:creator>
		<pubDate>Wed, 26 Jul 2006 18:10:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/225/log-buffer-2-a-carnival-of-the-vanities-for-dbas#comment-1082</guid>
		<description>I&#039;ve got a thought on the same note as &quot;Why Canâ€™t Database Tables Index Themselves&quot;.
When CBO came to Oracle many people wondered - why can&#039;t Oracle collect stats on their own? Well, here we go in 10g with GATHER_STATS_JOB.
Results? Well, if your database is something that can be managed in Microsoft Access - not a big deal - the job will work fine. For more or less serious implementations - good DBA leaves no place for a chance.
But who knows if Oracle won&#039;t adapt this self indexing idea soon... At least, they should start an internal project on this feature - marketing will be very happy! :-)
Or maybe someone is brave enough and has enoug time to start an indepedant project - like &quot;Oracle Self-indexing Wizard&quot;?</description>
		<content:encoded><![CDATA[<p>I&#8217;ve got a thought on the same note as &#8220;Why Canâ€™t Database Tables Index Themselves&#8221;.<br />
When CBO came to Oracle many people wondered &#8211; why can&#8217;t Oracle collect stats on their own? Well, here we go in 10g with GATHER_STATS_JOB.<br />
Results? Well, if your database is something that can be managed in Microsoft Access &#8211; not a big deal &#8211; the job will work fine. For more or less serious implementations &#8211; good DBA leaves no place for a chance.<br />
But who knows if Oracle won&#8217;t adapt this self indexing idea soon&#8230; At least, they should start an internal project on this feature &#8211; marketing will be very happy! :-)<br />
Or maybe someone is brave enough and has enoug time to start an indepedant project &#8211; like &#8220;Oracle Self-indexing Wizard&#8221;?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Edwards</title>
		<link>http://www.pythian.com/news/225/log-buffer-2-a-carnival-of-the-vanities-for-dbas/#comment-1062</link>
		<dc:creator>David Edwards</dc:creator>
		<pubDate>Wed, 26 Jul 2006 01:55:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/225/log-buffer-2-a-carnival-of-the-vanities-for-dbas#comment-1062</guid>
		<description>Here&#039;s the real story of Sakila -- &lt;a href=&quot;http://www.mysql.com/news-and-events/news/article_116.html&quot; rel=&quot;nofollow&quot;&gt;it&#039;s SiSwati&lt;/a&gt;.</description>
		<content:encoded><![CDATA[<p>Here&#8217;s the real story of Sakila &#8212; <a href="http://www.mysql.com/news-and-events/news/article_116.html" rel="nofollow">it&#8217;s SiSwati</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Gorbachev</title>
		<link>http://www.pythian.com/news/225/log-buffer-2-a-carnival-of-the-vanities-for-dbas/#comment-994</link>
		<dc:creator>Alex Gorbachev</dc:creator>
		<pubDate>Sun, 23 Jul 2006 21:01:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/225/log-buffer-2-a-carnival-of-the-vanities-for-dbas#comment-994</guid>
		<description>Paul, David,
Nice job! I like non-Oracle related part as well - it makes our vision broader.
Thanks! Alex</description>
		<content:encoded><![CDATA[<p>Paul, David,<br />
Nice job! I like non-Oracle related part as well &#8211; it makes our vision broader.<br />
Thanks! Alex</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Doug Burns</title>
		<link>http://www.pythian.com/news/225/log-buffer-2-a-carnival-of-the-vanities-for-dbas/#comment-929</link>
		<dc:creator>Doug Burns</dc:creator>
		<pubDate>Fri, 21 Jul 2006 20:10:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/225/log-buffer-2-a-carnival-of-the-vanities-for-dbas#comment-929</guid>
		<description>David,

A couple of points of order :-

1) Surely steroids would result in a suspiciously *low*-pitched voice?

2) I feel a little uncomfortable with you using the word thoughtful in reference to me.

Otherwise, nice job.

Cheers,

Doug</description>
		<content:encoded><![CDATA[<p>David,</p>
<p>A couple of points of order :-</p>
<p>1) Surely steroids would result in a suspiciously *low*-pitched voice?</p>
<p>2) I feel a little uncomfortable with you using the word thoughtful in reference to me.</p>
<p>Otherwise, nice job.</p>
<p>Cheers,</p>
<p>Doug</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul Vallee</title>
		<link>http://www.pythian.com/news/225/log-buffer-2-a-carnival-of-the-vanities-for-dbas/#comment-922</link>
		<dc:creator>Paul Vallee</dc:creator>
		<pubDate>Fri, 21 Jul 2006 17:37:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/225/log-buffer-2-a-carnival-of-the-vanities-for-dbas#comment-922</guid>
		<description>Great Job, David. I look forward to seeing Bill&#039;s next week!

Paul</description>
		<content:encoded><![CDATA[<p>Great Job, David. I look forward to seeing Bill&#8217;s next week!</p>
<p>Paul</p>
]]></content:encoded>
	</item>
</channel>
</rss>

