1. Analysis Tools
1.1. awr_info.sh
1.1.1. Included in SLOB distribution
1.1.2. Summarizes multiple AWR reports
1.1.3. SLOB.R
1.1.3.1. Download
1.1.3.1.1. http://wp.me/p2Jp2m-4i
1.1.3.2. Interrogates awr_info.sh output in R
1.1.3.3. Requires R Statistical Environment
1.1.3.3.1. Download
2. General Setup
2.1. Eliminate other activity on database server
2.1.1. Disable automatic AWR snapshots
2.1.2. alter system set resource_manager_plan=''
2.2. Disable parallel unless testing parallel performance
2.2.1. alter system set parallel_max_servers=0
2.2.2. alter system set cpu_count=1
2.3. Switch logfiles (N*2+1) times before each run
2.3.1. N = number of redo logs
2.4. Do a throwaway SLOB run after a bounce to prime the database
2.5. Save awr.txt output after each run for further analysis
2.6. Scripts to automate multiple SLOB runs and save awr.txt
2.6.1. http://wp.me/p2Jp2m-29
2.7. Try misc/create_database_kit/ in SLOB to build a testing DB
2.8. Isolate UNDO blocks from table/index (chains) for write/REDO model by setting db_recycle_cache_size=N
3. Uses
3.1. Benchmark one storage unit vs another
3.2. Compare performance of various filesystems
3.2.1. Don't mix LUNs; use same LUN for each FS
3.3. Identify max throughput possible from your setup
4. Other Considerations
4.1. Distributing your SLOB results/AWRs may be a legal issue with Oracle Corp
4.1.1. Scale data against a baseline?
5. Test Models
5.1. Physical Read Performance
5.1.1. Use a small db_cache_size
5.1.2. In 11.2.0.3 use specific parameters
5.1.2.1. alter system set "_db_block_prefetch_limit"=0
5.1.2.2. alter system set "_db_block_prefetch_quota"=0
5.1.2.3. alter system set "_db_file_noncontig_mblock_read_count"=0
5.1.2.4. alter system set compatible="11.2.0.2"
5.1.3. Should see db file sequential read as top wait event
5.2. Redo Generation Performance
5.2.1. Use large redo logs
5.2.2. Use a large db_cache_size
5.2.3. alter system set log_checkpoint_timeout=99999999
5.3. Physical Write Performance
5.3.1. Use small redo logs
5.3.2. Use a small db_cache_size
5.3.2.1. With small db_cache_size, don't need to include readers, will have physical reads
5.4. Logical I/O Performance
5.4.1. use a big db_cache_size (bigger than tables used)
5.4.2. avoid any auto memory management