CoolThreads Try and Buy Application Resources

Oracle Configuration Notes

Generally speaking Oracle will scale well on Sun Fire CoolThreads servers. Standard database tuning needs to be applied for Oracle. Use statspack to determine if there are contended resources or I/O bottlenecks.

In /etc/system add

set consistent_coloring=2
or ensure that patch 118833-03 or later has been applied.

For write-intensive applications placing the database, especially the log, on external storage other than Sun Fire CoolThreads server is recommended. Use iostat (1M) to ensure there are no disk I/O bottlenecks in the system.

Long running single threaded Oracle batch jobs may run longer on Sun Fire CoolThreads server.

If your Oracle installation involves the following, please implement the instructions below:

  • installing Oracle 10g Release 2 on T1000/T2000
  • using Oracle 10g Release 2 JVM on T1000/T2000

Description:

Use of the Oracle JVM involves an uncommon software trap which was not implemented correctly for sun4v platforms (T1000/T2000) and will cause the calling process/thread to enter an infinite loop and appear to be hung. Spinning processes/threads respond normally to UNIX signals and can be killed.

If the Oracle JVM is selected for installation, the JVM will be called and installation will appear to hang at that point.

If Oracle is installed on another SPARC system and that installation is copied to a T1000/T2000, processes will spin when they first attempt to call the JVM.

Workaround:

  1. If your application makes no use of the Oracle JVM, when installing Oracle, de-select the option to have the Oracle JVM installed.
  2. If your application uses the Oracle JVM, download and install patch 118833-18. To install this patch and update your system follow the process documented here: http://www.sun.com/servers/coolthreads/tnb/updates.jsp

Oracle DSS Workloads

Testing Oracle Database10g R2 on Sun Fire T2000 Server with a DSS workload demonstrates the importance of ensuring the following parameters are met in order to deliver high levels of performance:

  • Application parallelism
  • I/O bandwidth
  • configuring for large pages and consistent_coloring
Tuning parameters are as follows:
  1. Implement "set consistent_coloring=2" in /etc/system (default setting in Solaris 10 6/06 and later). For recommended /etc/system parameters, see http://www.sun.com/servers/coolthreads/tnb/parameters.jsp
  2. Setting parallelism to "DOP=32" ensures good scaling of queries.
  3. DSS queries often require high I/O bandwidth. Set db_file_multiblock_read_count appropriately to enable 1MB reads and set maxphys=4194304 in /etc/system
  4. By default Oracle 10gR2 does not use 4M pages for anon. This can be explicitly set by the following init.ora parameter.
    _realfree_heap_pagesize_hint = 4194304
  5. I/O bandwidth is an important requirement for single query execution. When multiple, complex queries are executed in parallel, it is observed that the system becomes CPU bound and hence I/O bandwidth becomes less of an issue.