oow 2013 bestpracticesfororacledatabaseperformanceonwindows
TRANSCRIPT
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 1
Best Practices for Oracle Database Performance on Windows
Christian Shay
Product Manager, Oracle
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 3
The following is intended to outline our general product direction. It is intended
for information purposes only, and may not be incorporated into any contract.
It is not a commitment to deliver any material, code, or functionality, and should
not be relied upon in making purchasing decisions. The development, release,
and timing of any features or functionality described for Oracle’s products
remains at the sole discretion of Oracle.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 4
<Insert Picture Here>
Program Agenda
Overview
Architecture
Best Practices for Windows
– Client side tuning
– Windows OS Diagnostic Tools
– Optimize CPU usage, Optimize Network, Optimize File I/O
Best Practices for RAC on Windows
Q+A: Ask the Experts
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 5
Slidedeck for this session
Within about one week:
– http://bit.ly/18Wh3UZ
Also will be linked to on OTN Windows page:
– http://otn.oracle.com/windows
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 6
Windows 8 and Windows 2012 Supported Editions
Windows 8 Editions
– Windows 8 Pro
– Windows 8 Enterprise
Windows Server 2012 Editions
– Essentials
– Foundation
– Standard
– Datacenter
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 7
Windows 32-bit Platform Support OS 10gR2 11gR1 11gR2 #2 12cR1 #3
Windows XP Professional
#1 Yes Yes Yes No
Windows Server 2003 and
Windows Server 2003 R2 Yes Yes Yes No
Windows Vista #1 10.2.0.4 Yes Yes No
Windows 7 #1 10.2.0.5 No Yes Yes
Windows Server 2008 10.2.0.4 11.1.0.7 Yes Yes
Windows Server 2008 R2 10.2.0.5 11.1.0.7 Yes Yes
Windows 8 #1 No No Planned in Patchset Yes
Windows Server 2012 No No Planned in Patchset Yes
#2
RAC not
supported for 32-
bit Windows in
11gR2 and later
# 3
Only Database
Client is
supported for 32-
bit Windows in
12c and later
#1
RAC and some
other features not
supported on
Windows client
systems
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 8
Windows 64-bit (x64) Platform Support
OS 10gR2 11gR1 11gR2 12cR1
Windows XP (#1), Windows Server
2003, and Windows Server 2003 R2 Yes Yes Yes No
Windows Vista #1
10.2.0.4 Yes Yes No
Windows 7 #1 10.2.0.5 No Yes Yes
Windows Server 2008 10.2.0.4 11.1.0.7 Yes Yes
Windows Server 2008 R2 10.2.0.5 No Yes Yes
Windows 8 #1 No No Planned in
Patchset Yes
Windows Server 2012 No No Planned in
Patchset Yes # 2
#1
RAC and some
other features not
supported on
Windows client
systems
Windows 32-bit
Client is also
supported on x64
systems
# 2
Single Instance
and Client support
only; RAC support
planned in a
future patchset
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 9
Hyper-V and Windows Azure Certification
Windows 2012 Hyper-V
– DB 12cR1 (Single Instance) certified on Windows 2012 guest OS
– DB 12cR1 (Single Instance ) planned to be certified on Windows 2008R2 guest OS in a
future patchset
– DB 11gR2 (Single Instance) planned to be certified on Windows 2008R2 and Windows 2012
guest operating systems in a future patchset
Windows Azure
– DB 12cR1(Single Instance) on Windows 2012 and Oracle Linux 6.4 (Preview)
– DB 11gR2 (Single Instance) on Windows 2012 and Windows 2008R2 planned in future
http://www.oracle.com/technetwork/topics/cloud/faq-1963009.html
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 10
<Insert Picture Here>
Program Agenda
Overview
Architecture
Best Practices for Windows
– Windows OS Diagnostic Tools
– Optimize CPU usage, Optimize Network, Optimize File I/O
Best Practices for RAC on Windows
Q+A: Ask the Experts
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 11
Architecture: Thread Model
Oracle process
8TB
total
Code
SGA
SGA contains
db buffers,
log buffers
shared pool,
other memory
allocations
Each thread
consists of
PGA, stack,
other memory
allocations
Background and foreground threads
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 12
Database Architecture
Thread model, not a straight port of Oracle’s process
architecture
8TB maximum memory per database instance
Runs as a Windows service process
No limits on memory, connections, resources except
those imposed by the operating system
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 13
File I/O
Supports asynchronous I/O to all types of files
Logical and physical raw files and partitions are
fully supported (faster than NTFS)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 14
File I/O
Full 64-bit file I/O internally. This means:
– No 2GB or 4GB limitations on database file
sizes.
– Maximum file size is 64GB
– Maximum database size is 4 petabytes
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 15
File I/O
Asynch IO support on Windows is very good for both
file system and raw devices.
No need to set INIT.ORA parameter
“filesystemio_options”
Default value of “asynch” is the recommended setting.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 16
Memory - Large Pages Large Page support
– For instances with large memory requirements, large page support can improve performance.
To enable, set registry parameter ORA_LPENABLE
x64 – 4kb default page size – will now be 2 MB
– In 12c, if Oracle Home User is a standard Windows account, the administrator must grant the "Lock pages in memory" privilege to Oracle Home User or Service SID of Oracle Database Service (NTAUTHORITY\OracleService<sid>)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 17
Memory - Large Pages Large Page support
– Windows Server may be slow to allocate a huge amount of memory when using large pages especially if memory is already fragmented. Start Oracle before other processes if this affects you.
– Oracle Database 12c introduces a new option to allow use of large pages but it will fall back to small pages if OS is not able to allocate large pages
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 18
Memory - Large Pages Support
Under HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_HOMENAME
– Create ORA_LPENABLE or ORA_SID_LPENABLE
– Set the value to 1 for regular mode and 2 for mixed mode
– Mixed mode is a new 12c option to allow use of large pages but fall back to small
pages if OS is not able to allocate large pages
– ORA_SID_LPMAXTIME is the optional time parameter for mixed mode
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 19
Memory - Numa
NUMA support for memory/scheduling
– Database intelligently allocates memory and schedules threads
based on node configuration
Test well before going into production, Work with your
hardware vendor and Oracle support to enable NUMA.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 20
Hyperthreading
Circuitry added to Intel CPUs resulting in single CPU
functioning as 2 CPUs
All versions of Oracle are supported in Hyperthreaded
environments.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 21
Additional Integration with Windows
Integration with Performance Monitor
Integration with Event Log
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 22
Direct NFS Client on Windows
Network Attached Storage (NAS) uses Network File
System (NFS)
As of 11g, Oracle Database allows direct Windows NFS
v3 access
– Part of DB kernel in Oracle Disk Manager library
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 23
Direct NFS Client on Windows
Bypasses a lot of software layers in OS
Tailored for the specific I/O patterns that Oracle uses
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 24
Direct NFS
Linear scalability of direct NFS can be achieved with
inexpensive NICS - and
– Does not require expensive switches which support link
aggregation…Oracle does load balancing rather relying on a
switch.
– Parallel network paths – More NICS – more bandwidth
Direct NFS is a good solution from low to high end
database servers
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 25
Direct NFS Client on Windows
Database 12c Release 1
– dnfs_batch_size allows Windows systems that don't have enough
bandwidth to throttle the number of IOs queued to the system,
which may improve overall performance. (Bug 13647945)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 26
<Insert Picture Here>
Program Agenda
Overview
Architecture
Best Practices for Windows
– Windows OS Diagnostic Tools
– Client side tuning
– Optimize CPU usage, Optimize Network, Optimize File I/O
Best Practices for RAC on Windows
Q+A: Ask the Experts
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 27
Enterprise Manager
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 28
Diagnostic Tools - Performance Monitor
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 29
Process Explorer
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 30
OS Tools
tasklist, taskkill
tlist (Shows command line args with -c)
driverquery
diskpart
sc (sc query state= all)
process monitor (regmon, filemon, procexp) tcpview
Windows Services for Unix
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 31
Client Diagnosability
Integrated with Automatic Diagnostic Repository (ADR)
OCI and Net tracing and logging uses ADR by default
Multithreaded client-side diagnosability context support
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 32
Client Diagnosability
First Failure Capture
– No need to reproduce a second time to get a dump
Client and Server trace file correlation
Reduce one-off diagnostic patches
Structure Dump Facility
– Dumps more than just a stack
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 33
Client Characteristics
V$SESSION_CONNECT_INFO/GV$_SESSION_CONNECT_INF
– CLIENT_CHARSET (NLS character set)
– CLIENT_CONNECTION (Homogeneous/heterogeneous)
– CLIENT_OCI_LIBRARY (Home-based, Instant Client Full/Light)
– CLIENT_VERSION (client RSF version)
– CLIENT_DRIVER (OCI/JDBC/other)
OCI_ATTR_DRIVER_NAME to set third party driver
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 34
Client-Side Crash Handler
Goal: handle segfaults, other core dumps
As of 10.2, handler only in RDBMS server
As of 11g, we added one on client side
Generates error message & stack trace, and controls
core dump location
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 35
Auto-Tuning
Automatically tune client-side OCI Statement Cache size • Low value will cause more soft parses on server, and higher network and
CPU getting cursor meta-data to client repeatedly
• High value will cause more memory usage on client
Auto tuning continuously monitors various parameters and adjusts size
internally to optimal performance given memory constraints specified
Enable during deployment via oraaccess.xml – Out-of-the-box solution that can be used by all OCI applications to improve
performance
– Freeing OCI drivers and applications from custom implementations
New in Oracle Database 12c
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 36
Auto-Tuning
<config_descriptions>
<config_description>
<!-- configuration description and giving it an alias -->
<config_alias>foo</config_alias>
<parameters>
<auto_tune>
<enable>true</enable>
<ram_threshold>80</ram_threshold> <!--percentage-->
<memory_target>100</memory_target>
</auto_tune>
</parameters>
</config_description>
...
</config_descriptions>
Configuring in oraaccess.xml
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 37
ODP.NET Integration with Performance Monitor
Monitor Connection Pools (As of ODP.NET 11.1)
Enable in
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ODP.NET\Assem
bly_Version\PerformanceCounters
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 38
ODP.NET Integration with Performance Monitor
Counters include (among many):
HardConnectsPerSecond
HardDisconnectsPerSecond
SoftConnectsPerSecond
SoftDisconnectsPerSecond
NumberOfActiveConnection
NumberOfFreeConnections
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 39
CPU Tuning
ORACLE_AFFINITY registry value can be set to tell
Oracle which threads to run on which processors (same
setting for all instances)
ORACLE_AFFINITY must be set if more than 64 CPUs
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 40
Support of Multiple Processor Groups
• Support a max of 4 processor groups with up to 64 CPUs in each
group for a total of 256 logical CPUs (Support of 10 processor groups
planned in a patchset)
• ORACLE_AFFINITY enhanced to enable affinity of Oracle threads to
cpus in multiple processor groups
• processorgroup is an optional parameter designating Windows CPU
group. On systems with 64+ logical CPUs, Windows divides all available
CPUs into 4 groups (0,1,2,3) with each group containing no more than
64 logical CPUs
Details in Oracle® Database Platform Guide 12c Release 1 (12.1) for
Microsoft Windows
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 41
CPU Tuning
Use Database Resource Manager to set CPU usage for
different classes of users
– For example, one can configure the db to use 50% CPU for gold
customers, 30% for silver and 20% for rest
Thread priorities can be set in the registry using the
ORACLE_PRIORITY variable
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 42
CPU Tuning – Diagnosing High CPU
Process Explorer: drill down to threads
Get thread id of high CPU thread and then do query
SELECT a.spid, b.username FROM v$process a,
v$session b WHERE a.addr= b.paddr AND a.spid =
<thread number>
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 43
Networking Best Practices
Use one listener per system
The default queue-size for Windows Server is 50 –
increase to 200 or 300 using QUEUESIZE parameter in
LISTENER.ORA – prevents errors during login storms
Listener Logon Storm Handler
– Configurable on server side in LISTENER.ORA (RATE_LIMIT =
<max conn/sec>)
– Use only if you have logon storm issues
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 44
Networking Best Practices
Increase “DEFAULT_SDU_SIZE” in SQLNET.ORA or
“SDU” in TNSNAMES.ORA
– Controls SQL*Net packet size (Session Data Unit)
– Default SDU size in 11g, 12c is 8k. For bulk data transfer
scenarios, increase DEFAULT_SDU_SIZE in sqlnet.ora or SDU
in tnsnames.ora. It can be increased up to 2 MB in 12.1, 64K as
of 11.2.0.2 and 32k for earlier versions.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 45
Networking Best Practices
– Any mix of 11g and 10g will cause it to negotiate down to lower
of the two peers (pre-11g default is 2K)
For 10g increase DEFAULT_SDU_SIZE to 8k or higher.
– Common misperception: Do not set to match MTU!
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 46
Networking Best Practices: Shared Server vs. Dedicated Server
Dedicated server gives very best performance
– Each client connection has it’s own thread
– Memory usage is 2-4 MB per server thread
– Oracle uses dedicated server for OLTP benchmarks
– Can hit scalability limits due to memory use
Shared server saves a lot of memory!
– Idle connections will not consume much memory
– Latency because dispatcher hands request to shared server
– Good for large number of connections with many idle
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 47
Networking Best Practices: Shared Server vs. Dedicated Server
Recommendation: Use dedicated server if you have
enough physical memory, otherwise use shared for all
sessions that may be idle for some time.
Continue to use dedicated server for a small number of
high performance connections/queries.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 48
Networking Best Practices: Using Shared Server
Client connections share pre-spawned server threads
– No dedicated idle threads wasting resources
Enable Shared Server on client in tnsnames.ora:
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)
(HOST=sales-server)(PORT=1521))
(CONNECT_DATA= (SERVICE_NAME=sales.us.acme.com)
(SERVER=shared) ))
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 49
Networking Best Practices: Using Shared Server
Modify init.ora parameters on server to enable shared
servers
Rough guidelines: 20 or 30 Shared Servers per 500 sessions, then
tune from there
Use 1 dispatcher for every 50-100 sessions
See Net Admin Guide for more details
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 50
Networking Best Practices: Oracle Database Resident Connection Pool
– Pools Oracle Dedicated Servers
– Shares server side connection pool across mid tier systems and
processes
– Co-exists in all server configurations
Dedicated Servers, Shared Servers, RAC
– Most useful when you have many thousands of client processes
connecting to a database server and each process needs to hold
on to the database server session for a short time
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 51
Networking Best Practices: Oracle Database Resident Connection Pool
– In test environment, we were able to support more than 20,000
connections to a 2 GB Database Server
– Pooling is optionally enabled by DBA on Server
– Client connect string also needs to have (SERVER=POOLED)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 52
Networking Best Practices: Connection Timeouts
Client Side connection timeouts: Achieve fast failover when you have multiple addresses in connect string
– TCP.CONNECT_TIMEOUT – as of 11g – Constrains only time required to go from client to listener (no db processing). It can be a few seconds. (60 Seconds default in 11.2). Tune down from there. Too low – false positives
– SQLNET.OUTBOUND_CONNECT_TIMEOUT – Constrains time required to go from client to database (including db processing) - from 10gR2 and later. Not set by default.
– These two timeouts can be used individually or at the same time
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 53
Networking Best Practices: Connection Timeouts
Server Side connection timeouts:
– SQLNET.INBOUND_CONNECT_TIMEOUT – available in 10gR1 and later - default 60 secs for 10gR2 and 11g, not enabled by default for 10gR1; this can also be used along with the client side timeouts mentioned on the last slide.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 54
Networking Best Practices: TCP Optimization on Windows
Windows 7 / Server 2008 supports TCP auto-tuning
For other versions, *careful* tuning necessary under RegKey
– HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Services\Tcpip\Parameters
– TcpWindowSize
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 55
Networking Best Practices: TCP Optimization on Windows
Turn on Window Scaling and Timestamps Tcp1323Opts = 3
Set TCP Window Size to BDP GlobalMaxTcpWindowSize = <BDP>
If desired, tune Window Size at the Interface Level (eg network card level)
Tcpip\Parameters\Interfaces\<interfaceGUID>\
TcpWindowSize
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 56
Networking Best Practices
SQLNET.AUTHENTICATION_SERVICES=(NTS)
– This is a default value in SQLNET.ORA, needed for OS
authentication (connect / as SYSDBA)
– It should be left at default on server side.
Use SecureFile LOBs
– NET stack optimizations provide very high throughput limited
only by the underlying hardware
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 57
File System Best Practices - ASM
Use Oracle Automatic Storage Management (ASM) –
whether single-instance or RAC – use most recent version
Benefits
– Don’t need to move datafiles around
– Don’t need to take tablespaces offline
– Add disks with no downtime
If you don’t use ASM, but want to use raw devices:
– Use volume mount points to mount raw devices onto directories
– Use this mount point as the file name for raw devices.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 58
File System Best Practices - ASM
ASM provides equivalent performance to RAW
– Database instance directly accesses data on disks
– ASM not in path between instance and storage
Sun ASM vs RAW benchmark
– ASM supported 80% more throughput with 50% shorter response
CERN testing on 11.2 Beta: “ACFS much faster than ext3 with comparable or less CPU usage”
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 59
Stores All Data ASM Cluster File System (ACFS)
General purpose scalable file
system
Accessible through NAS
protocols (NFS, CIFS)
Multi OS platform (Linux
and Windows at initial release)
Dynamic Volume Management
Supported
Read Only Snapshots
Supported
Siebel Web
PSFT
DW ODS
SOA IMDB OC4J APACHE
EBS
DB
Datafiles
OCR &
Voting Files
Binaries
File
System A
SM
Clu
ste
r F
ile S
yste
m
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 60
Memory Best Practices
11g, 12c: Use MEMORY_TARGET for automatic
management of combined SGA and PGA
10g and earlier:
– Control SGA Memory by using SGA_TARGET parameter
– Control PGA Memory by using PGA_AGGREGATE_TARGET
parameter
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 61
Using ORASTACK
Each thread within Oracle process is provided 1MB
reserved stack space
When needed use orastack to increase stack size:
C:\ orastack oracle.exe 8000000
Some Oracle apps installations have required
Oracle.exe stacks as large as 32mb
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 62
Using ORASTACK
Stop processes before running Orastack
If you apply a patch, you must re-run Orastack
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 63
Oracle on 64-bit Windows
Long history of supporting 64-bit databases on other platforms
Interoperability between 32-bit clients and 64-bit servers and vice versa
Improved performance, availability and scalability
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 64
64-bit: Migration
32-bit to 64-bit upgrade process is simple
– 32-bit data files are compatible with 64-bit DB
– Only recreate control file if neccesary (eg file location changes)
No need to recreate the database
Full export and import not required
Database Upgrade Assistant automates process
Transparent migration for end-user applications
– No changes required to existing client applications when running
against 64-bit database
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 65
64-Bit Best Practices
Use SP2 or later for Windows Server 2003 to avoid OS
performance bug. (Fixed in 2008)
32-Bit Oracle db not supported on 64-Bit platforms
32-bit Client is supported on x64 64-bit platforms
Enable Large Pages
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 66
64-Bit Best Practices
If system has more than 4G of SGA use sga_target (and
not memory target).
Having a fixed, non-pageable SGA with large pages
(compared to dynamically growing SGA) has many
benefits, in particular, stability.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 67
<Insert Picture Here>
Program Agenda
Overview
Architecture
Best Practices for Windows
– Windows OS Diagnostic Tools
– Client side tuning
– Optimize CPU usage, Optimize Network, Optimize File I/O
Best Practices for RAC on Windows
Q+A: Ask the Experts
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 68
Real Applications Clusters
Use RAC for scalability and High Availability
– Add instances against same database files providing more
Oracle processes and increasing number of users
– Provides unique scalability on Windows that no other vendor
offers
Clustered databases supported on Windows platforms
since version 7.3.4
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 69
Real Applications Clusters
Oracle provides platform independent Oracle
Clusterware to handle failover of services to surviving
nodes
Uses Oracle’s own clustering software, it does not
depend on MSCS
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 70
RAC Best Practices for Performance
Read “RAC and Oracle Clusterware Best Practices and
Starter Kit (Windows) (Doc ID 811271.1)”
Installation and performance best practices
Also contains excellent attached illustrated installation
walkthrough.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 71
RAC Best Practices for Performance
Disable Anti-Virus software running on cluster nodes
during installation of Oracle on Windows (be mindful of
manual reboots during this time).
After install, the following should be excluded from being
scanned:
– Oracle Software directories
– OCFS filesystems
– ACFS filesystems
– Network scanning of the private interconnect
Anti-Virus
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 72
RAC Best Practices for Performance
Some examples of how AV issues can manifest:
– Installation freezing
– Voting File Disk being locked
– Node eviction issues
Anti-Virus Symptoms
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 73
RAC Best Practices for Performance
Set /USEPMTIMER in the boot.ini to prevent excessive
LMD and LMS trace generation and to prevent
connectivity issues as described in Document 437101.1.
/USEPMTIMER
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 74
RAC Best Practices for Performance
Increase size of the default Non-Interactive Desktop
Heap to 1MB to prevent instability due to Desktop Heap
exhaustion. See Document 744125.1 and KB947246.
Consult with Microsoft for further tuning of the Non-
Interactive Desktop Heap beyond 1MB.
Non-Interactive Desktop Heap Size
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 75
RAC Best Practices for Performance
Run Perfmon to monitor CPU, Memory, Network, Disk IO
Rates - To aid in troubleshooting, configure Perfmon to
monitor these OS statistics and to generate binary log
files (.BLG). Instructions for implementing this change
can be found on the Microsoft support website using the
following link: http://support.microsoft.com/kb/146005
Expensive – don’t run all the time
Generate .BLG files
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 76
RAC Best Practices for Performance
Keep memory allocation under 80%.
Shoot for 75% allocated (eg more than 20-25% free)
This will allow for ample memory needed for Windows
OS operations (including collection of physical memory
dumps if required).
Memory Allocation
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 77
RAC Best Practices for Performance
Turn off default Scalable Networking Pack (SNP)
features. On a computer that has a TCP/IP Offload-
enabled network adapter, you may experience many
network-related problems like network adapters
consuming lots of nonpaged pool memory or adapters
requesting large blocks of contiguous memory -- causing
interference with internode communication.
See Document 988008.1 and KB Articles KB948496 and
KB951037 for instructions on how to fix.
Scalable Networking Pack
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 78
More Oracle on Windows Resources
.Windows Technology Center – http://otn.oracle.com/windows
For more questions
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 79
Upcoming Sessions
“Oracle Database 12c on Windows” (What’s New)
– Today 5:00pm-6:00pm Moscone South - 104
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 80
Demogrounds Booth
Moscone South, Left - S-067 – Oracle Database on
Windows
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 81
Questions & Answers
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 82
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 83