﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Most recent blog entries</title>
    <description>Quest Experts' share their thoughts on Toad family products and the database industry.</description>
    <link>http://www.toadworld.com/Community/Blogs/tabid/67/Default.aspx</link>
    <language>en-US</language>
    <managingEditor>webmaster@toadworld.com</managingEditor>
    <webMaster>webmaster@toadworld.com</webMaster>
    <pubDate>Tue, 02 Dec 2008 11:40:56 GMT</pubDate>
    <lastBuildDate>Tue, 02 Dec 2008 11:40:56 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Blog RSS Generator Version 3.2.0.15477</generator>
    <item>
      <title>Speeding-Up Oracle on Your Notebook PC – Part 2</title>
      <description>&lt;div&gt;Just a very brief blog this Thanksgiving week (my favorite holiday of the year) – part 2 of &lt;a href="http://www.toadworld.com/Default.aspx?tabid=67&amp;EntryID=311"&gt;last week’s relatively easy suggestions&lt;/a&gt; on how to make Oracle run as fast as possible on minimal computer setup. As before, my goal is simply to squeeze as much performance blood from the Oracle turnip as possible when deployed on limited capacity equipment. The one additional suggestion below only makes sense for environments where instance recovery is not a key issue – e.g. a demo notebook PC for traveling consultant types. So make sure not to use this unless you understand what the drawbacks are (discussed below) and can live with them.&lt;/div&gt;
&lt;ol dir="ltr" style="margin-right: 0px"&gt;
    &lt;ol start="6"&gt;
        &lt;li&gt;Place the Oracle REDO LOG files on a &lt;a target="_blank" href="http://www.codeguru.com/Cpp/W-P/system/devicedriverdevelopment/article.php/c5789/"&gt;&lt;font color="#800080"&gt;RAM Disk&lt;/font&gt;&lt;/a&gt;. For extremely transaction heavy environments this can make a huge difference. But for general purpose usage, it may provide just a small improvement. Thus apply and use the technique with forethought.&lt;/li&gt;
    &lt;/ol&gt;
&lt;/ol&gt;
&lt;div&gt;While Oracle is running it is writing transactional history to the REDO LOG files such that if the instance is brought down unexpectedly, then the outstanding transactions can be played forward to restore to the state of the instance failure, and then rolled back for the un-committed transactions. If you’re running in NOARCHIVELOG mode, then the contents of the REDO LOG files get overwritten once the database transactions’ round-robin consume the allocated space – so database transactions can get lost (i.e. aged out) anyhow in this setup. So placing the REDO LOG files on the RAM Disk just adds one more scenario where data is aged out (and rather abruptly) – at computer shutdown.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;So for purely demonstration or development environments, where raw speed is the most critical factor – this technique has merit. If it makes sense for your database computing needs, then give it a try …&lt;/div&gt;</description>
      <link>http://www.toadworld.com/Community/Blogs/tabid/67/EntryID/315/Default.aspx</link>
      <author>Bert Scalzo</author>
      <comments>http://www.toadworld.com/Community/Blogs/tabid/67/EntryID/315/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.toadworld.com/Default.aspx?tabid=67&amp;EntryID=315</guid>
      <pubDate>Wed, 26 Nov 2008 14:50:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.toadworld.com/DesktopModules/Blog/Trackback.aspx?id=315</trackback:ping>
    </item>
    <item>
      <title>Optimizing SQL Part 4 – Optimizing SQL statements with a VIEW</title>
      <description>&lt;div&gt;
&lt;p&gt;&lt;font size="1"&gt;Written by Rene Woody&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;This blog is a &lt;a href="http://www.toadworld.com/Default.aspx?tabid=67&amp;EntryID=309"&gt;continuation of a series&lt;/a&gt; about the SQL optimization process in the Batch Optimizer and the Tuning Lab modules of Quest SQL Optimizer &lt;em&gt;for Oracle&lt;/em&gt;. It covers optimizing SQL statements that use VIEWs.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;In early versions of the Oracle database, a VIEW was handled like a temporary table that stores the temporary data from the VIEW’s SELECT statement. Then the temporary table was joined with the main portion of the SQL statement, so the tuning of a SQL statement that contained a VIEW could be separated into the VIEW’s SQL statement and main SQL statement. In more recent versions of Oracle, the SQL optimizer in Oracle can merge these two SQL statements together before it does further SQL optimization, so, it is now more complicated for you to tune a VIEW SQL statement by hand than before. Quest SQL Optimizer has a “View to Inline View transformation” technique to solve this problem.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;The optimization process in Quest SQL Optimizer includes this technique of rewriting the VIEW’s SQL statement when it transforms the syntax of the original SQL statement. So it will automatically do all the work for you.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;For example, with this simple SQL statement &lt;/div&gt;
&lt;blockquote dir="ltr" style="margin-right: 0px"&gt;
&lt;pre&gt;&lt;font size="2"&gt;SELECT * FROM VIEW_DEPT&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;WHERE DPT_AVG_SALARY &gt; 40000&lt;/font&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;div&gt;that uses the following VIEW.&lt;/div&gt;
&lt;blockquote dir="ltr" style="margin-right: 0px"&gt;
&lt;pre&gt;&lt;font size="2"&gt;CREATE OR REPLACE VIEW VIEW_DEPT&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;    (DPT_ID,&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;     DPT_NAME,&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;     DPT_MANAGER,&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;     DPT_AVG_SALARY)&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;AS&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;SELECT "DPT_ID", &lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;       "DPT_NAME", &lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;       "DPT_MANAGER", &lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;       "DPT_AVG_SALARY" &lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;  FROM DEPARTMENT &lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt; WHERE DPT_ID IN (SELECT EMP_DEPT &lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;                    FROM EMPLOYEE &lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;                   WHERE EMP_ID &gt; 50)&lt;/font&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;div&gt;When the VIEW’s SELECT statement is inserted into the original SQL statement, the SQL statement looks like this:&lt;/div&gt;
&lt;blockquote dir="ltr" style="margin-right: 0px"&gt;
&lt;pre&gt;&lt;font size="2"&gt;SELECT *&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt; FROM (SELECT "DPT_ID", &lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;               "DPT_NAME", &lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;               "DPT_MANAGER", &lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;               "DPT_AVG_SALARY" &lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;          FROM DEPARTMENT &lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;            WHERE DPT_ID IN (SELECT EMP_DEPT &lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;                               FROM EMPLOYEE &lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;                              WHERE EMP_ID &gt; 50))&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt; WHERE DPT_AVG_SALARY &gt; 40000&lt;/font&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;div&gt;
&lt;p&gt;The original SQL statement and the SQL statement with the VIEW inserted will both be rewritten by the Quest SQL Optimizer to generate all the possible SQL statements which produce the same results as the original SQL statement. Some of the SQL alternatives will not include the VIEW’s SQL and others will have the VIEW’s SQL rewritten.&lt;/p&gt;
&lt;p&gt;An example of one of the SQL alternatives is:&lt;/p&gt;
&lt;/div&gt;
&lt;blockquote dir="ltr" style="margin-right: 0px"&gt;
&lt;pre&gt;&lt;font size="2"&gt;SELECT * &lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;  FROM (SELECT DPT_ID,&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;               DPT_NAME,&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;               DPT_MANAGER,&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;               DPT_AVG_SALARY&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;          FROM DEPARTMENT &lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;         WHERE EXISTS (SELECT 'X' &lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;                         FROM EMPLOYEE &lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;                        WHERE EMP_ID &gt; 50 &lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;                          AND EMP_DEPT = DEPARTMENT.DPT_ID))&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt; WHERE DPT_AVG_SALARY &gt; 40000&lt;/font&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;div&gt;You can control whether the VIEW’s SQL is rewritten along with the original SQL statement with the &lt;strong&gt;Transform view to inline view&lt;/strong&gt; setting in the Options. Quest SQL Optimizer will also transform a VIEW that is being used by another VIEW. You control how many levels (VIEWs within VIEWs) are included when the original SQL is rewritten by specifying the &lt;strong&gt;Transformation levels&lt;/strong&gt; setting.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;em&gt;If you would like to learn more about Quest SQL Optimizer for Oracle, please visit the &lt;/em&gt;&lt;a href="http://sqloptimizeroracle.inside.quest.com/index.jspa"&gt;Inside SQL Optimizer for Oracle community&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;</description>
      <link>http://www.toadworld.com/Community/Blogs/tabid/67/EntryID/314/Default.aspx</link>
      <author>Richard To</author>
      <comments>http://www.toadworld.com/Community/Blogs/tabid/67/EntryID/314/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.toadworld.com/Default.aspx?tabid=67&amp;EntryID=314</guid>
      <pubDate>Fri, 21 Nov 2008 13:54:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.toadworld.com/DesktopModules/Blog/Trackback.aspx?id=314</trackback:ping>
    </item>
    <item>
      <title>F-what?</title>
      <description>&lt;div&gt;
&lt;p&gt;After working with Toad for almost a decade (I think I first saw it as a new grad in ’99…), I tend to start taking things for granted when I do demonstrations for customers or present at conferences on the beauty of Toad. It’s very easy to get excited about CRUD Matrices and the beauty of PL/SQL debuggers, but overlook the critical core features that users often miss out on.&lt;/p&gt;
&lt;p&gt;Well, ‘overlook’ is such a critical, judgmental word. Instead, let’s say that users often don’t realize the power that lies at their hands via the keyboard shortcuts in Toad. I want to take 20 minutes or so to write about my favorite ‘F’ key: F4 DESC.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;After doing the ‘Toad-demo-thing’ for some time now, I’ve come to discover that most of our users are not aware of this feature. In fact, many people are not even aware of the SQL*Plus ‘DESC’ or ‘DESCRIBE’ command. Let’s take a quick look at it in action:&lt;/p&gt;
&lt;p align="center"&gt;&lt;img height="542" alt="" width="643" src="http://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.com/Portals/0/blogimages/Jeff Smith/jeffblog11202008-1.gif" /&gt;&lt;br /&gt;
&lt;em&gt;SQL*Plus shows the table structure – Column Names, Nullability, and Data type. &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I know, this isn’t exactly earth-shattering. Toad has had such a feature for quite a long time. You can either type ‘DESC [object]’ in the editor or execute with F9 (using F5 will show the above information), or you can simply put your mouse-cursor on the object you want described and hit ‘F4’.&lt;/p&gt;
&lt;p align="center"&gt;&lt;img height="422" alt="" width="700" src="http://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.com/Portals/0/blogimages/Jeff Smith/jeffblog11202008-2.gif" /&gt;&lt;br /&gt;
&lt;em&gt;Toad’s ‘DESC’ popup window for a table object.&lt;/em&gt;&lt;/p&gt;
&lt;div&gt;A few key observations:&lt;/div&gt;
&lt;ol type="1"&gt;
    &lt;li&gt;You can ‘DESC’ ANY object or object type in the database – users, roles, tablespaces, stored procedures, directories, etc. SQL*Plus &lt;em&gt;only&lt;/em&gt; allows you to ‘DESCRIBE’ data objects like tables and views.&lt;br /&gt;
     &lt;/li&gt;
    &lt;li&gt;The popup describe window is a miniature Schema Browser window that just contains the information for that object. So not only do you get the column information, you get everything else too!&lt;br /&gt;
     &lt;/li&gt;
    &lt;li&gt;The full power of the Schema Browser is available here. Try mouse-right-clicking in the popup window.&lt;br /&gt;
     &lt;br /&gt;
    &lt;img alt="" src="http://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.com/Portals/0/blogimages/Jeff Smith/jeffblog11202008-3.gif" /&gt;&lt;br /&gt;
     &lt;br /&gt;
     &lt;/li&gt;
    &lt;li&gt;You can have more than one open at a time, so if you want help with a query, like looking at opposing data or even updating the data as you write the selects in the data grids, you can easily do so.&lt;br /&gt;
     &lt;br /&gt;
    &lt;img alt="" src="http://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.com/Portals/0/blogimages/Jeff Smith/jeffblog11202008-4.gif" /&gt;&lt;br /&gt;
     &lt;/li&gt;
    &lt;li&gt;You can drag table/view column headers into the editor space (just like the Object Palette)&lt;br /&gt;
     &lt;/li&gt;
    &lt;li&gt;This is the most frequently &lt;em&gt;borrowed&lt;/em&gt; feature in the database IDE world. Try using ‘F4’ in another database tool to see if they too have seen the wisdom of the Toad &lt;font face="Wingdings"&gt;J&lt;/font&gt;&lt;br /&gt;
     &lt;/li&gt;
    &lt;li&gt;If you want to see something even cooler, instead of pressing ‘F4’, try ‘SHIFT’+’F4’&lt;/li&gt;
&lt;/ol&gt;
&lt;p align="left"&gt;Enjoy!&lt;/p&gt;</description>
      <link>http://www.toadworld.com/Community/Blogs/tabid/67/EntryID/313/Default.aspx</link>
      <author>Jeff Smith</author>
      <comments>http://www.toadworld.com/Community/Blogs/tabid/67/EntryID/313/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.toadworld.com/Default.aspx?tabid=67&amp;EntryID=313</guid>
      <pubDate>Thu, 20 Nov 2008 17:10:00 GMT</pubDate>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.toadworld.com/DesktopModules/Blog/Trackback.aspx?id=313</trackback:ping>
    </item>
    <item>
      <title>Run Toad off a USB Flash Drive</title>
      <description>&lt;div&gt;
&lt;p&gt;Lot’s of people have asked “How can I setup Toad to run off a flash drive?” The reason for this question varies in nature and intent by requestor – but the general concept is that some users need the ability to carry Toad with them. Some are contractors who must use whatever computer and/or desk is open that day. Some are database developers who must travel around their company to perform or assist with various tasks. And finally, some are DBA’s who need to travel around while diagnosing and troubleshooting problems. In all cases, the request makes total sense (i.e. making portable a legal license). Now we have a way to do it!&lt;/p&gt;
&lt;div&gt;Note – Toad is normally &lt;a href="http://www.questsoftware.de/Quest_Site_Assets/PDF/Licensing-Guide.pdf"&gt;licensed per seat&lt;/a&gt;, therefore this is not a mechanism or technique to circumvent or violate the spirit of that license agreement. The basic idea is that per seat means for a single USB Flash Drive being used by a single user on a single computer at a time – and thus no concurrency.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Here are the steps:&lt;/div&gt;
&lt;ol&gt;
    &lt;li&gt;Format the USB Flash Drive as an NTFS file system.&lt;br /&gt;
     
    &lt;ol&gt;
        &lt;li&gt;File explorer, right hand mouse, properties, hardware tab&lt;/li&gt;
        &lt;li&gt;Select the USB Flash Drive and press the properties button&lt;/li&gt;
        &lt;li&gt;Policies tab, choose Optimize for Performance and press OK&lt;/li&gt;
        &lt;li&gt;Format the USB Flash Drive – NTFS should now be available&lt;br /&gt;
         &lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
    &lt;li&gt;Create TOAD_FLASH directory on your USB Flash Disk (at topmost level)&lt;br /&gt;
     &lt;/li&gt;
    &lt;li&gt;Download and then unzip the TOAD_FLASH.zip file onto your USB Flash Disk&lt;br /&gt;
     &lt;/li&gt;
    &lt;li&gt;Unzip the contained Oracle Instant Client installation file onto your USB Flash Disk&lt;br /&gt;
     &lt;/li&gt;
    &lt;li&gt;Install Toad for Oracle and copy the Toad home (install directory) to your flash drive&lt;br /&gt;
     &lt;br /&gt;
    Example: xcopy /s /q "C:\Program Files\Quest Software\Toad 9.7" "X:\Toad 9.7\"&lt;br /&gt;
     &lt;/li&gt;
    &lt;li&gt;Run TOAD_FLASH_SETUP.bat file to install (and save pre-existing Toad setups)&lt;br /&gt;
     &lt;/li&gt;
    &lt;li&gt;Run TOAD_FLASH_RUN.bat file to launch Toad (must enter license first time)&lt;br /&gt;
     &lt;/li&gt;
    &lt;li&gt;Run TOAD_FLASH_RESTORE.bat file to restore PC back to prior Toad state&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;You can download the file at &lt;a href="http://www.bertscalzo.com/Files/TOAD_FLASH.zip"&gt;http://www.bertscalzo.com/Files/TOAD_FLASH.zip&lt;/a&gt;&lt;br /&gt;
 &lt;/div&gt;</description>
      <link>http://www.toadworld.com/Community/Blogs/tabid/67/EntryID/312/Default.aspx</link>
      <author>Bert Scalzo</author>
      <comments>http://www.toadworld.com/Community/Blogs/tabid/67/EntryID/312/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.toadworld.com/Default.aspx?tabid=67&amp;EntryID=312</guid>
      <pubDate>Wed, 19 Nov 2008 21:32:00 GMT</pubDate>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.toadworld.com/DesktopModules/Blog/Trackback.aspx?id=312</trackback:ping>
    </item>
    <item>
      <title>Speeding-Up Oracle on Your Notebook PC</title>
      <description>&lt;div&gt;Just a quick blog this week – some relatively easy suggestions on how to make Oracle run as fast as possible on minimal computer setups such as a notebook PC. My goal is simply to squeeze as much performance blood from the Oracle turnip as possible when deployed on limited capacity equipment. The suggestions below should work for most operating systems, including Windows, Mac-OS and Linux – simply interpret and apply the suggestions in a contextually appropriate manner.&lt;/div&gt;
&lt;ol&gt;
    &lt;li&gt;Exclude Oracle data files directory(s) from all anti-virus and anti-spyware automatic and manual scans. Myself, I exclude the entire “C:\Oracle” directory – where I place all my Oracle files.&lt;br /&gt;
     &lt;/li&gt;
    &lt;li&gt;Eliminate all unnecessary background processes (demons) or services. Here are some basic examples (note that your computing environment needs and thus extraneous list will surely vary – so check with your local administrators to be sure and thus safe):  &lt;br /&gt;
     &lt;br /&gt;
    &lt;ol&gt;
        &lt;li&gt;&lt;a href="http://www.beemerworld.com/tips/servicesxp.htm"&gt;Windows XP&lt;/a&gt;
        &lt;ol&gt;
            &lt;li&gt;ATI Hot Key Poller&lt;/li&gt;
            &lt;li&gt;Computer Browser&lt;/li&gt;
            &lt;li&gt;Distributed Link Tracking Client&lt;/li&gt;
            &lt;li&gt;Error Reporting Service&lt;/li&gt;
            &lt;li&gt;Indexing Service&lt;/li&gt;
            &lt;li&gt;Upload Manager&lt;br /&gt;
             &lt;/li&gt;
        &lt;/ol&gt;
        &lt;/li&gt;
        &lt;li&gt;Redhat Linux(s)
        &lt;ol&gt;
            &lt;li&gt;&lt;span&gt; &lt;/span&gt;anacron / cron&lt;/li&gt;
            &lt;li&gt;&lt;span&gt;  &lt;/span&gt;httpd&lt;/li&gt;
            &lt;li&gt;&lt;span&gt;  &lt;/span&gt;ISDN&lt;/li&gt;
            &lt;li&gt;&lt;span&gt;  &lt;/span&gt;Net FS&lt;/li&gt;
            &lt;li&gt;&lt;span&gt;  &lt;/span&gt;NFS Lock&lt;/li&gt;
            &lt;li&gt;&lt;span&gt;  &lt;/span&gt;Send Mail&lt;br /&gt;
             &lt;/li&gt;
        &lt;/ol&gt;
        &lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
    &lt;li&gt;Clean up (i.e. purge) the Oracle logging directory tree. For 9i and 10g, this was subdirectories such as BDUMP and UDUMP under your “admin/SID” directory. Starting with 11g, you need to look at the entire “DIAG” directory. Myself, I use a freeware called &lt;a href="http://www.ccleaner.com/"&gt;CCCleaner&lt;/a&gt; to purge all these files such that they don’t accumulate.&lt;br /&gt;
     &lt;/li&gt;
    &lt;li&gt;Place the Oracle “DIAG” directory on a &lt;a href="http://www.codeguru.com/Cpp/W-P/system/devicedriverdevelopment/article.php/c5789/"&gt;RAM Disk&lt;/a&gt;. This also has the side effect of automatically purging the files (step #3 above) when the laptop is shutdown.&lt;br /&gt;
     &lt;/li&gt;
    &lt;li&gt;Exclude Oracle data files directory(s) from excessive or unnecessary last update timestamp maintenance.&lt;br /&gt;
     
    &lt;ol&gt;
        &lt;li&gt;Windows
        &lt;ol&gt;
            &lt;li&gt;
            &lt;pre&gt;HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem\NtfsDisableLastAccessUpdate = 1&lt;/pre&gt;
            &lt;/li&gt;
        &lt;/ol&gt;
        &lt;/li&gt;
        &lt;li&gt;Redhat Linux(s)
        &lt;ol&gt;
            &lt;li&gt;chattr +A file_name per Oracle control, data and log file&lt;/li&gt;
            &lt;li&gt;chattr –R +A directory_name per Oracle SID data directory&lt;/li&gt;
            &lt;li&gt;Edit /etc/fstab for the Oracle Home and/or data file systems&lt;br /&gt;
            &lt;strong&gt;Example:&lt;/strong&gt;    /dev/sda6    / home    ext3    defaults,&lt;strong&gt;noatime&lt;/strong&gt;    1 1&lt;br /&gt;
             &lt;/li&gt;
        &lt;/ol&gt;
        &lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;</description>
      <link>http://www.toadworld.com/Community/Blogs/tabid/67/EntryID/311/Default.aspx</link>
      <author>Bert Scalzo</author>
      <comments>http://www.toadworld.com/Community/Blogs/tabid/67/EntryID/311/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.toadworld.com/Default.aspx?tabid=67&amp;EntryID=311</guid>
      <pubDate>Wed, 19 Nov 2008 15:29:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.toadworld.com/DesktopModules/Blog/Trackback.aspx?id=311</trackback:ping>
    </item>
    <item>
      <title>Just Make Oracle Go Faster</title>
      <description>&lt;div&gt;Catchy title – huh? But don’t laugh, in today’s hectic world many database professionals (whether DBA’s or developers – and sometimes even end users) just wish that the Oracle database would go faster. That may seem self evident – but let’s just accept that premise for now. So what does this mean for Toad users?&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Toad offers numerous database monitoring, diagnostic and tuning screens or utilities. But not all of us have sufficient spare time to dig through the database haystack to find such issues. Moreover we all don’t know the database internals anymore – because Oracle 10g and 11g have become such technical behemoths. For example, just how many of us now know all the various wait events and what they really, really mean anymore? There are just too many to stay an expert on every little internal detail.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;So what’s an Oracle professional to do? How should we attack a performance problem where we know that the SLA is being missed – but there are a lot of things going on that we may or may not know all the details about. And like the database, applications have become very complex too – often with numerous technology layers beyond the database. So how can we quickly and easily locate the needle in the haystack? Because we all want to concentrate on fixing items that quickly yield measurable results.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;For those who have licensed Oracle’s diagnostic and tuning packs – Toad offers screens to support more productive work with those facilities. Because not everyone wants or is permitted to run OEM – as some shops limit OEM access to production DBA’s. That’s OK as Toad with the DB Administrators module (or bundle) can help you out here.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;My experience has been that the fastest way to locate and concentrate on the most likely database performance issues is via Oracle’s AWR and ADDM reports. For those who do not have those Oracle options (they are optional OEM add-on licenses) – you can very often use the Stats Pack report in a similar fashion. Simply take a manual AWR and/or Stats Pack snapshot before and after some time period where database performance is generally not acceptable. Then run the reports using Toad’s screens (rather than OEM).&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Here are examples of the AWR and ADDM screen’s that I’m talking about – and the tabs (i.e. reports) of key interest. Often just these two reports alone can point me into the right direction for where to spend my tuning time and effort.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div align="center"&gt;&lt;strong&gt;&lt;font size="2"&gt;&lt;img height="682" alt="" width="777" src="http://www.toadworld.comhttp://www.toadworld.com/Portals/0/blogimages/Bert Scalzo/BertBlog11122008-1.gif" /&gt;&lt;br /&gt;
Figure 1: Toad Screen for AWR Report&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div align="center"&gt;&lt;strong&gt;&lt;font size="2"&gt;&lt;img alt="" src="http://www.toadworld.comhttp://www.toadworld.com/Portals/0/blogimages/Bert Scalzo/BertBlog11122008-2.gif" /&gt;&lt;br /&gt;
Figure 2: Toad Screen for ADDM Report&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;By starting with an analysis of just these two reports, I can often locate the most critical areas of concern and thus promptly address the most major performance issues – and all within just a few minutes time. What I’m saying is that for 20% of my diagnostic time and effort, I can locate and often correct 80% of my biggest issues.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Then from here, I can now dive into the other more complex or detailed Toad screens or utilities for performance optimization – such as the Database Health Check (part of Toad Database Admin Module) and/or the SQL Optimizer (part of Toad Xpert Edition).&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Thus I can use Toad to quickly solve some major issues (so as to quiet things down a bit so I can look further). Then I can use the many other Toad features to find the remaining and more complex performance issues that need attention. So Toad permits me to do the heavy lifting very fast, and then to follow-up with the more intricate work to its logical conclusion. In other words, Toad can do for database performance what it has always done for SQL and PL/SQL development – improve your productivity by letting you concentrate on the task at hand rather than the Oracle mechanisms to do it.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;You gotta love Toad &lt;font face="Wingdings"&gt;J&lt;/font&gt;&lt;/div&gt;</description>
      <link>http://www.toadworld.com/Community/Blogs/tabid/67/EntryID/310/Default.aspx</link>
      <author>Bert Scalzo</author>
      <comments>http://www.toadworld.com/Community/Blogs/tabid/67/EntryID/310/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.toadworld.com/Default.aspx?tabid=67&amp;EntryID=310</guid>
      <pubDate>Wed, 12 Nov 2008 16:25:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.toadworld.com/DesktopModules/Blog/Trackback.aspx?id=310</trackback:ping>
    </item>
    <item>
      <title>Optimizing SQL Part 3– Generating more SQL alternatives for simple SQL statements</title>
      <description>&lt;div&gt;
&lt;p&gt;&lt;font size="1"&gt;Written by Rene Woody&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;This blog is a &lt;a href="http://www.toadworld.com/Default.aspx?tabid=67&amp;EntryID=300"&gt;continuation&lt;/a&gt; of a series about the SQL optimization process in the Batch Optimizer and the Tuning Lab modules of &lt;a href="http://www.toadworld.com/LinkClick.aspx?link=434&amp;tabid=67"&gt;Quest SQL Optimizer &lt;em&gt;for Oracle&lt;/em&gt;&lt;/a&gt;. It covers how to generate more SQL alternatives.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p&gt;When you optimize a simple SQL statement, Quest SQL Optimizer may only generate a few SQL alternatives using the default settings in the Optimizer options. It is very likely that many more alternatives can be generated, but they did not get generated because of the way the options were set.&lt;/p&gt;
&lt;p&gt;The options settings in Quest SQL Optimizer &lt;em&gt;for Oracle&lt;/em&gt; enable you to select which Oracle optimization hints are applied, include or exclude a few of the syntax transformation rules that are used, select how many driving paths will be tried, and increase or decrease the number of SQL alternatives generated.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;We’ll take a look at how you can do this using the Optimizer options. These options apply to the optimization process in both the Tuning Lab and the Batch Optimizer.&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;To open the Options window, click &lt;strong&gt;Options&lt;/strong&gt; &lt;img height="26" alt="" width="64" src="http://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.com/Portals/0/blogimages/Richard To/RichadToBlog10242008-1.gif" /&gt;&lt;span&gt;.&lt;/span&gt; &lt;br /&gt;
     &lt;/li&gt;
    &lt;li&gt;Select &lt;strong&gt;Tuning Lab | Optimizer | Intelligence&lt;/strong&gt;. &lt;br /&gt;
     &lt;/li&gt;
    &lt;li&gt;By default, the “intelligence level” of the optimization process is set to &lt;strong&gt;&lt;span&gt;Predefined Settings&lt;/span&gt;&lt;/strong&gt; with &lt;strong&gt;level 4&lt;/strong&gt;. Change the intelligence level to 10. &lt;br /&gt;
     &lt;br /&gt;
    &lt;img height="510" alt="" width="678" src="http://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.com/Portals/0/blogimages/Richard To/RichadToBlog11062008-1.gif" /&gt;&lt;br /&gt;
     &lt;/li&gt;
    &lt;li&gt;Level 10 selects all of the Optimization options, all of the Oracle optimization hints, and sets the quotas for the number of SQL statements that will be generated very high.&lt;br /&gt;
     &lt;br /&gt;
    &lt;img height="510" alt="" width="678" src="http://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.com/Portals/0/blogimages/Richard To/RichadToBlog11062008-2.gif" /&gt;&lt;br /&gt;
    &lt;br /&gt;
    Applying Level 10 to your original SQL statement maximizes the possibility of finding a better alternative for you.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;&lt;em&gt;If you would like to learn more about Quest SQL Optimizer for Oracle, please visit the &lt;/em&gt;&lt;strong&gt;&lt;a href="http://sqloptimizeroracle.inside.quest.com/index.jspa"&gt;Inside SQL Optimizer for Oracle community&lt;/a&gt;.&lt;br /&gt;
 &lt;/strong&gt;&lt;/div&gt;</description>
      <link>http://www.toadworld.com/Community/Blogs/tabid/67/EntryID/309/Default.aspx</link>
      <author>Richard To</author>
      <comments>http://www.toadworld.com/Community/Blogs/tabid/67/EntryID/309/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.toadworld.com/Default.aspx?tabid=67&amp;EntryID=309</guid>
      <pubDate>Thu, 06 Nov 2008 16:10:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.toadworld.com/DesktopModules/Blog/Trackback.aspx?id=309</trackback:ping>
    </item>
    <item>
      <title>Getting to know the Query Builder in Toad for Data Analysis</title>
      <description>Query Builder is the heart and soul of Toad for Data Analysis. We've spent lots of time and effort working to make it very useful and intuitive. Recently, in version 2.0 of Toad for Data Analysis, we introduced a few new features including reverse engineering SQL to a Query Builder model, creation of DDL scripts and better connection awareness. The linked doc is a very nice write up that Shawn Pickett (Senior Developer) and Alan Bala (Development Team Lead) have put together.</description>
      <link>http://www.toadworld.com/Community/Blogs/tabid/67/EntryID/308/Default.aspx</link>
      <author>Daniel Norwood</author>
      <comments>http://www.toadworld.com/Community/Blogs/tabid/67/EntryID/308/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.toadworld.com/Default.aspx?tabid=67&amp;EntryID=308</guid>
      <pubDate>Wed, 05 Nov 2008 22:04:00 GMT</pubDate>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.toadworld.com/DesktopModules/Blog/Trackback.aspx?id=308</trackback:ping>
    </item>
    <item>
      <title>Toad Makes DB Waits Easy</title>
      <description>&lt;div&gt;I’ve always been a huge fan of &lt;a href="http://method-r.com/"&gt;Cary Millsap’s “Method-R”&lt;/a&gt; technique for &lt;a href="http://www.amazon.com/gp/product/059600527X?ie=UTF8&amp;tag=methodrcom-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=059600527X"&gt;Optimizing Oracle Performance&lt;/a&gt; via detailed analysis of all of the business process wait states. It is fundamentally sound since it’s based on genuine business concerns and detailed analysis of a mission critical business processes’ overall execution time (and not simply just the database waits or ratios). But while many people like this approach, few have found the tools to support this technique. But Toad offers many screens for DB Wait analysis. Did you really expect me to say otherwise?&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Let’s examine a few (most assume that you own the DB Admin module or bundle).&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;If we want to begin an end trace collection for a particular database session in order to create database trace files, then we simply use &lt;strong&gt;&lt;em&gt;Toad’s Session Browser&lt;/em&gt;&lt;/strong&gt; as shown below. Remember, all of the trace files will be on the database server – and we can retrieve them using &lt;strong&gt;&lt;em&gt;Toad’s FTP Screen&lt;/em&gt;&lt;/strong&gt;.&lt;/div&gt;
&lt;p align="center"&gt;&lt;img height="516" alt="" width="705" src="http://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.com/Portals/0/blogimages/Bert Scalzo/BertBlog11052008-1.gif" /&gt;&lt;br /&gt;
&lt;strong&gt;&lt;font size="1"&gt;Figure 1: Toad's Session Browser&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Once you have the trace file, you can then explore it using &lt;strong&gt;&lt;em&gt;Toad’s Trace File Browser&lt;/em&gt;&lt;/strong&gt; as shown below. Note that this screen offers a link to the &lt;strong&gt;&lt;em&gt;FTP screen&lt;/em&gt;&lt;/strong&gt; for convenience.&lt;/div&gt;
&lt;p align="center"&gt;&lt;img alt="" src="http://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.com/Portals/0/blogimages/Bert Scalzo/BertBlog11052008-2.gif" /&gt;&lt;br /&gt;
&lt;strong&gt;&lt;font size="1"&gt;Figure 2: Toad's Trace File Browser&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I could go on as there are numerous other screens to support this database wait centric optimization technique. But then the real question arises – “&lt;strong&gt;&lt;em&gt;What does this all mean?&lt;/em&gt;&lt;/strong&gt;” We’re all not wait event experts like Cary Millsap, Tom Kyte, Mike Ault and many other Oracle experts out there. That’s where Toad makes life easy once again – as all the most common wait events have pop-up windows to explain why they generally occur and how to possibly fix them. These pop-up help screens are very easy to locate as they always shows up as a &lt;strong&gt;&lt;em&gt;blue underlined hyperlink&lt;/em&gt;&lt;/strong&gt; on wait event screens. So when you double-click on them, you get help such as this.&lt;/p&gt;
&lt;p align="center"&gt;&lt;img alt="" src="http://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.com/Portals/0/blogimages/Bert Scalzo/BertBlog11052008-3.gif" /&gt;&lt;br /&gt;
&lt;strong&gt;&lt;font size="1"&gt;Figure 3: Wait Event Explanation Screen&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Below are screen snapshots of just some of the many other places where you’ll find this wait event explanation feature in Toad. Remember to simply look for database wait event information (i.e. tabs) on a particular screen, and then double click on those marked with a &lt;strong&gt;&lt;em&gt;blue underlined hyperlink&lt;/em&gt;&lt;/strong&gt;. Now we all can look like wait event know it alls &lt;span&gt;&lt;font face="Wingdings"&gt;J&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;strong&gt;&lt;font size="2"&gt;&lt;img alt="" src="http://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.com/Portals/0/blogimages/Bert Scalzo/BertBlog11052008-4.gif" /&gt;&lt;br /&gt;
&lt;/font&gt;&lt;font size="1"&gt;Figure 4: Wait's on Trace File Browser&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div align="center"&gt; &lt;img alt="" src="http://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.com/Portals/0/blogimages/Bert Scalzo/BertBlog11052008-5.gif" /&gt;&lt;/div&gt;
&lt;div align="center"&gt;&lt;strong&gt;&lt;font size="1"&gt;Figure 5: Wait's on the Session Browser, Sessions&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div align="center"&gt;&lt;br /&gt;
&lt;img alt="" src="http://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.com/Portals/0/blogimages/Bert Scalzo/BertBlog11052008-6.gif" /&gt; &lt;/div&gt;
&lt;div align="center"&gt;&lt;strong&gt;&lt;font size="1"&gt;Figure 6: Wait's on the Session Browser, Waits #1&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div align="center"&gt;&lt;font size="1"&gt; &lt;br /&gt;
&lt;img alt="" src="http://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.com/Portals/0/blogimages/Bert Scalzo/BertBlog11052008-7.gif" /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div align="center"&gt;&lt;strong&gt;&lt;font size="1"&gt;Figure 7: Wait's on the Session Browser, Waits #2&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div align="center"&gt;&lt;font size="1"&gt; &lt;br /&gt;
&lt;img alt="" src="http://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.comhttp://www.toadworld.com/Portals/0/blogimages/Bert Scalzo/BertBlog11052008-8.gif" /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div align="center"&gt;&lt;strong&gt;&lt;font size="1"&gt;Figure 8: Wait's on the Session Browser, Waits #3&lt;br /&gt;
 &lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;</description>
      <link>http://www.toadworld.com/Community/Blogs/tabid/67/EntryID/307/Default.aspx</link>
      <author>Bert Scalzo</author>
      <comments>http://www.toadworld.com/Community/Blogs/tabid/67/EntryID/307/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.toadworld.com/Default.aspx?tabid=67&amp;EntryID=307</guid>
      <pubDate>Wed, 05 Nov 2008 15:19:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.toadworld.com/DesktopModules/Blog/Trackback.aspx?id=307</trackback:ping>
    </item>
    <item>
      <title>Unicode Migration</title>
      <description>&lt;div&gt;Migrating to a database that supports Unicode is a challenge. You are safe if you are currently using  US7ASCII for you Oracle database because Oracle provides a mechanism with ALTER DATABASE SET CHARACTERSET UTF8 which allows you by just bouncing the database to switch to this new character set. But what if you are currently on a different character set? In Europe we have a bunch of WE8 (Western European) or EE8 (Eastern European) character sets and as they are not a strict subset of Unicode the ALTER Database does not work. So the only chance is to export the whole database, create a new one (with UTF8 or similar) and import it again.&lt;/div&gt;
&lt;div&gt;Is it that easy? No! The reason is that in most databases the so called length semantics hasn’t been used while creating a table. Since Oracle9i the correct syntax for creating is:&lt;/div&gt;
&lt;blockquote dir="ltr" style="margin-right: 0px"&gt;
&lt;pre&gt;CREATE TABLE test1&lt;br /&gt;(custid   NUMBER(10),&lt;br /&gt;lastname VARCHAR2(6 CHAR))&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;div&gt;Have you used this syntax? No of course not! We all used the old version:&lt;/div&gt;
&lt;blockquote dir="ltr" style="margin-right: 0px"&gt;
&lt;pre&gt;CREATE TABLE test1&lt;br /&gt;(custid   NUMBER(10),&lt;br /&gt;lastname VARCHAR2(6))&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;div&gt;
&lt;p&gt;But what is the difference? The default behavior for an Oracle database is to use “BYTE” as length semantic. And this can cause huge problems while migrating to Unicode.&lt;/p&gt;
&lt;p&gt;Let’s assume your current database is working with WE8MSWIN1252 (common on western European Windows Databases). Entering the following name into the customer table is safe:&lt;/p&gt;
&lt;/div&gt;
&lt;blockquote dir="ltr" style="margin-right: 0px"&gt;
&lt;pre&gt;INSERT INTO customer (custid, lastname)&lt;br /&gt;VALUES&lt;br /&gt;(1,’Müller’);&lt;br /&gt;COMMIT;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;div&gt;If you try to enter the same row in an Oracle database with AL32UTF8 you get the following error message:&lt;/div&gt;
&lt;blockquote dir="ltr" style="margin-right: 0px"&gt;
&lt;pre&gt;ERROR at line 2:&lt;br /&gt;ORA-12899: value too large for column "DEMO"."TEST1"."LASTNAME" (actual: 7, maximum: 6)&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;div&gt;
&lt;p&gt;The reason is that a German umlaut takes two bytes in Unicode as well as most special characters for other languages.&lt;/p&gt;
&lt;p&gt;When using Oracle export/import or datapump the situation doesn’t change because both utilities are using the exported format while importing into an new database.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;The only chance is to first create the objects and then do the import.&lt;/div&gt;
&lt;div&gt;
&lt;p&gt;Toad has a very nice switch under options -&gt; data types which is called “Include Byte/Char spec when creating DDL scripts from 9i databases”. This behavior is not limited to 9i but all existing Oracle versions you can switch off the “BYTE or CHAR” specification for all scripts.&lt;/p&gt;
&lt;p&gt;Now you can generate the schema script (under menu export) for all schemas you want to recreate and execute a user export or full export of the database.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;On your target you first create the user (maybe with CREATE LIKE…) using Toad and load your generated schema script. Before you execute it ,please add one command to the script:&lt;/div&gt;
&lt;blockquote dir="ltr" style="margin-right: 0px"&gt;
&lt;pre&gt;ALTER SESSION SET NLS_LENGTH_SEMANTICS = 'CHAR';&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;div&gt;
&lt;p&gt;This will switch the actual session into a mode where the default length semantic is now CHAR instead of BYTE. This works for a session as well as for the database but there are several known bugs if you switch it for the database so better only use it for the actual session.&lt;/p&gt;
&lt;p&gt;The test table is now created like:&lt;/p&gt;
&lt;/div&gt;
&lt;blockquote dir="ltr" style="margin-right: 0px"&gt;
&lt;pre&gt;CREATE TABLE test1&lt;br /&gt;(custid   NUMBER(10),&lt;br /&gt;lastname VARCHAR2(6 CHAR));&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;div&gt;which allows you to insert the lastname “Müller” now.&lt;/div&gt;
&lt;div&gt;
&lt;p&gt;After all objects are successfully created you can run the import for the table data but don’t forget to switch on “IGNORE ERRORS” as the “CREATE TABLE” scripts are included in the export file.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;/div&gt;</description>
      <link>http://www.toadworld.com/Community/Blogs/tabid/67/EntryID/306/Default.aspx</link>
      <author>Johannes Ahrends</author>
      <comments>http://www.toadworld.com/Community/Blogs/tabid/67/EntryID/306/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.toadworld.com/Default.aspx?tabid=67&amp;EntryID=306</guid>
      <pubDate>Mon, 03 Nov 2008 17:24:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.toadworld.com/DesktopModules/Blog/Trackback.aspx?id=306</trackback:ping>
    </item>
  </channel>
</rss>