Professional Documents
Culture Documents
• Architecture
• Best Practices for Windows (32 bit & 64 bit)
– Windows OS Diagnostic Tools
– Optimize CPU usage
– Optimize Network
– Optimize File I/O
• Best Practices for 32 bit Windows
– Optimize Memory
• Best Practices for 64 bit Windows
• Q+A: Ask the Experts
3
Overview
4
Windows 32-bit Platform Support
Windows Server
10.2.0.4 11.1.0.7 Yes
2008
5
Windows 64-bit Platform Support
OS 10gR2 11gR1 11gR2
Windows Server 2003 for Itanium Yes No No
Windows XP, Windows Server 2003, Yes Yes Yes
and Windows Server 2003 R2, x64
Editions
Windows Vista for x64 systems 10.2.0.4 Yes Yes
6
Architecture
7
Architecture: Thread Model
SGA contains
Oracle process db buffers,
log buffers
SGA shared pool,
other memory
3GB allocations
or Each thread
8TB consists of
Background and foreground threads PGA, stack,
total
Code other memory
allocations
8
Database Architecture
9
File I/O
10
File I/O
11
Windows Server 2003/2008
12
Windows Server 2003/2008
13
Hyperthreading
14
Additional Integration with Windows
15
Direct NFS Client on Windows
16
Direct NFS
17
32-Bit and 64-Bit
18
Diagnostic Tools - Performance Monitor
19
Process Explorer
20
OS Tools
• tasklist, taskkill
• tlist (Shows command line args with -c)
• driverquery
• diskpart
• sc (sc query state= all)
• regmon, filemon, procexp, tcpview
• Windows Services for Unix
• poolmon
21
ODP.NET Integration with Performance Monitor
22
Client Diagnosability on 11g
23
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
24
Client-Side Crash Handler
25
CPU Tuning
26
CPU Tuning – Diagnosing High CPU
27
Networking Best Practices
28
Networking Best Practices
29
Networking Best Practices:
Shared Server vs. Dedicated Server
30
Networking Best Practices:
Shared Server vs. Dedicated Server
31
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) ))
32
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
– 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)
33
Networking Best Practices:
Connection Timeouts
34
Networking Best Practices:
TCP Optimization on Windows
35
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
36
File System Best Practices
37
Provides Best Performance
Performance
– ASM not in path between (Gets out of tune in time)
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 TIME
ext3 with comparable or
less CPU usage”
38
ASM vs ext3 and OCFS
full scan and index build
speed to perform operation - small is better
900
Full Scan 100G parallel 32
create index parallel 32
800
700
600
ASM has
Best Performance
500
seconds
400
300
200
100
0
ext3 async ext3 directio ocfs directio ocfs direct+async asm async
IO type
39
Stores All Data
ASM Cluster File System (ACFS)
40
Memory Best Practices
41
Specific to 32-bit
42
32 bit Memory Best Practices
43
Monitoring Memory
44
Using ORASTACK
45
32-bit: VLM Support
Window s Server
rest
Memory Limits (32-bit)
of For O/S, other apps
Standard Edition:
RAM
4GB
Enterprise Edition:
32GB
SGA
Datacenter Edition:
3GB
database 64GB
threads/
Code memory
46
32-bit: VLM Support
Window on dbbuffers in
47
Implementing AWE
48
Best Practices for 32-Bit Memory
49
Specific to 64-Bit
50
Oracle on 64-bit Windows
51
64-bit: Migration
52
64-Bit Best Practices
53
High Availability
54
High Availability Solutions
55
Fail Safe Best Practices
http://otn.oracle.com/tech/windows/failsafe/index.html
56
Real Applications Clusters
57
Oracle Data Guard
58
Next Steps
59
For More Information
Sessions
Wed 4:45-5:45: What’s New for Oracle Database 11g Release 2 on
Windows? (Moscone South 302)
Thu 10:30-11:30: Best Practices for Oracle Database and Client
Deployment on Windows (Moscone South 302)
60
More Information
61
QUESTIONS
ANSWERS
62
Oracle OpenWorld
Latin America 2010
December 7–9, 2010
63
Oracle OpenWorld
Beijing 2010
December 13–16, 2010
64
Oracle Products Available Online
Oracle Store
65
The preceding 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.
66
67
68