Hello, you are not logged in.  Login or sign up
Toad on Twitter Follow Toad Search Toad World Search
Blogger List   

All Recent Blog Entries
 

Johannes Ahrends
Unicode and Toad

Ben Boise
Toad SC Discussions

Kevin Dalton
Benchmark Factory

Steven Feuerstein
PL/SQL Obsession

Devin Gallagher
Toad SC discussions

Stuart Hodgins
JProbe Discussions

  Henrik "Mauritz" Johnson
Toad Tips & Tricks on the "other" Toads
  Mark Kurtz
Toad SC discussions
  Michael Lumbard
Toad SC discussions
Daniel Norwood
Toad for Data Analysts,
Toad Extension for Visual Studio
Debbie Peabody
Toad for Data Analysts
Gary Piper
Toad Reports Manager
John Pocknell
Toad for Oracle, JProbe
Kuljit Sangha
Toad SC discussions
Bert Scalzo Indicates Oracle ACE status
Toad for Oracle, Data Modeling, Benchmarking
Jeff Smith
Toad product family
Richard To
SQL Optimization
Jim Wankowski
DB2 - LUW and z/OS
John Weathington
  Toad World Editor
Toad World issues

  Toad Data Modeler Opens in a new window
Data Modeling
 
  Real Automated Code Testing for Oracle
Quest Code Tester blog

Blogs
Toad and Database Commentaries

Toad World blogs are a mix of insightful how-tos from Quest experts as well as their commentary on experiences with new database technologies.  Have some views of your own to share?  Post your comments!  Note:  Comments are restricted to registered Toad World users.

Do you have a topic that you'd like discussed?  We'd love to hear from you.  Send us your idea for a blog topic.

Oracle Configuration for Toad Usage
 
Location: Blogs Bert Scalzo's Blog    
 Bert Wednesday, February 18, 2009 8:04 AM
Like most things in life, there are prerequisites and preparations for Oracle databases.  Regardless of version, this is especially true for application access and usage. Oracle is a highly scalable and configurable database, therefore DBAs must configure their database for how it will be used to guarantee meeting their users’ expectations – including database developers. Failure to do so can lead to perceptions of “slow performance” and sometimes even seemingly odd Oracle error messages that may unfortunately be misconstrued as application bugs. Toad is no exception to this.
 
Now it would be nice if I could identify the 20 or so Oracle spfile or init.ora parameters that would yield ideal Oracle database behavior for the optimal Toad experience.  But, as Toad provides so many capabilities and people use it so differently, it’s hard to identify the ideal settings that universally apply. But I’ll try to identify a couple – and hope that these examples lead readers to see a pattern and address all those that make sense within their environment.
 
Let’s assume that you’re going to use Toad for just doing schema browsing, data browsing (whether in the schema browser and/or editor data grid), data filtering, data manipulation, data exports (i.e. data grid “Save As”) and basic SQL execution to obtain such data.  Then the database simply needs to be setup to best handle typical OLTP type database access. Thus the DBA might set the following parameters:
  • CLIENT_RESULT_CACHE_SIZE = BETWEEN 10 and 100 MB
  • CURSOR_SHARING = SIMILAR
  • CURSOR_SPACE_FOR_TIME = TRUE
  • DB_FILE_MULTIBLOCK_READ_COUNT = BETWEEN 4 and 128
  • DISK_ASYNCH_IO = TRUE
  • FILESYSTEMIO_OPTIONS = SETALL
  • OPTIMIZER_INDEX_CACHING = BETWEEN 20 and 80 (not default of 0)
  • OPTIMIZER_INDEX_COST_ADJ = BETWEEN 20 and 80 (not default of 100)
  • QUERY_REWRITE_ENABLED = TRUE
  • RESULT_CACHE_MODE = FORCE
  • RESULT_CACHE_MAX_SIZE = DERIVED, but maybe override to taste/needs
  • SESSION_CACHED_CURSORS = BETWEEN 10 and 50
  • STAR_TRANSFORMATION_ENABLED = TRUE
Again, I’m not trying to identify every possible database configuration setting that you might need to consider – but rather to establish a pattern. Look at how your users will use Toad and then configure your database accordingly.
 
Now what if you’re going to be doing lots of PL/SQL compiles, executions, debugging and profiling? Not properly configuring your database for these special needs can result in many different and seemingly odd Oracle messages – including ORA-4031: unable to allocate %s bytes of shared memory.  What does this mean and why did Toad seemingly cause Oracle to return this error? That’s easy – you’re doing extensive PL/SQL work that requires space within the shared pool according to the Oracle architecture and how things internally work. If you just use the default settings when creating your database, then you will generally be at risk when doing lots of PL/SQL work – regardless of the tool being used. So here are some example parameters that I’d set for this use case:
  • SHARED_POOL_SIZE = BETWEEN 100 and 500 MB (or more depending)
  • SHARED_POOL_RESERVED_SIZE = BETWEEN 5% (default) and 20%
  • LARGE_POOL_SIZE = BETWEEN 10 and 50 MB (or more depending)
Now some people might say “We’re using Oracle’s 10g’s automatic SGA_TARGET or Oracle 11g’s automatic MEMORY_TARGET allocation, so we don’t need to set these!”  But if you know what your needs will be – then set these as floors that the automatic memory management cannot go below. In other words add your wisdom and insight to Oracle's automatic attempts at a generic solution.
 
Here are a few other PL/SQL specific items to review:
  • PLSQL_CCFLAGS = depends
  • PLSQL_CODE_TYPE = depends, consider NATIVE for TEST and PROD
  • PLSQL_OPTIMIZE_LEVEL = consider 3 for TEST and PROD
There are far more setting that we could discuss, but hopefully you can see the pattern. When setting up your Oracle database for whatever application and usage it will have to support, then properly configuring your Oracle database will help you to avoid painful and unnecessary headaches.
 
Happy Toading ….
Permalink |  Trackback
Search Blog Entries
 
Copyright 2010 by Quest Software  | Terms Of Use | Privacy Statement | Contact Us