TEN VITAL TIPS FOR ORACLE RAC
PERFORMANCE
ZEKERİYA BEŞİROĞLU
EXPERT CONSULTANT&INSTRUCTOR
BİLGİNC IT ACADEMY ISTANBUL
TURKİSH ORACLE USER GROUP
ORACLE OPEN WORLD 15
SAN FRANCİSCO
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
WHO I AM
▸ Oracle Ace Database Management & Performance
▸ OCP since 2002
▸ OCE Rac Expert
▸ Exadata Specialist
▸ President of TROUG
▸ Expert Consultant & Oracle University Instructor
BILGINC IT ACADEMY —- WWW.BILGINC.COM
TEN VITAL TIPS
▸ CAPACITY & ARCHITECTURE
▸ SQL TUNING
▸ PARALLEL QUERY TUNING
▸ TUNING DATABASE
▸ TUNING NETWORK
▸ RECOVERY TUNING
▸ GLOBAL CACHE TUNING
▸ TUNING STORAGE
▸ TUNNNG CLUSTERWARE
▸ TOOLS
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
1-CAPACITY & ARCHITECTURE
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
CAPACITY & ARCHITECTURE
▸ Building Balanced Hardware Configuration
▸ High Throughput
▸ You should consider configuring the following hardware components in order to create a
balanced system:
▸ Number and speed of CPUs
▸ Memory size
▸ Number and size of disks
▸ Number and speed of the I/O bandwidth components, such as:
▸ Host Bus Adapters(HBAs)
▸ Switches
▸ Disk Controllers
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
CAPACITY & ARCHITECTURE
▸ per Cpu Core avg 100-300 mb/per second
▸ Core = HBA
▸ Fiber switch avg 800 mb/per second
▸ One Disk Array avg 200 mb/per second
▸ Small 15000 rpm disk. 10 disk one array
▸ 4 gb memory per core / 8 gb Compress.
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
CAPACITY & ARCHITECTURE
▸Estimating Size of Database Objects
▸ SELECT * FROM TABLE(dbms_space.object_growth_trend(object_owner => 'SH', 

object_name => 'SALES', object_type => 'TABLE'));
▸DBMS_SPACE.CREATE_TABLE_COST(‘USERS’,30(avgrowsize),100000000(rowcount),
10(pctfree),ub,ab);
▸DBMS_OUTPUT.PUT_LINE('Used Bytes = ' || TO_CHAR(ub));
▸DBMS_OUTPUT.PUT_LINE('Allocated Bytes = ' || TO_CHAR(ab));
▸END;
▸/
▸Used Bytes = (100GB)
▸Allocated Bytes = (100GB)
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
CAPACITY & ARCHITECTURE
▸Size Interconnect for aggregated throughput – approx 1Gb/sec per 32 cores
▸10Gb/sec or IB generally good for database consolidations and large SMP nodes 

Bonded 1GbE solutions with load balancing are supported 

Use same type NICs for LB and failover
▸Use Jumbo frames wherever possible
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
2-SQL TUNING
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
SQL TUNING
▸Optimizing Third Normal Form:

Power, Partitioning, Parallelism
▸ Power
▸ Partition : Range- Hash partition
▸ Hash count cpus X 2
▸ Paralel degree power X 2 and goal parallel partition-wise join
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
SQL TUNING
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
SQL TUNING
▸ Reduce long full-table scans in OLTP systems.
▸ Use Automatic Segment Space Management (ASSM).
▸ Increase sequence caches.
▸ Use partitioning to reduce interinstance traffic.
▸ Avoid unnecessary parsing.
▸ Minimize locking usage.
▸ Remove unselective indexes.
▸ Configure interconnect properly.
▸ In Memory-Parallel Query
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
SQL TUNING
▸ How to avoid “Write Hot Spots” in applications
▸ Frequent transactional changes to the same data blocks in all instances may result in “write
hot spots”
▸ in 99% of OLTP performance issues write hot spots occur on indexes
▸ Use non-ordered & cached sequences if sequence is used to generate primary key
▸ ALTER SEQUENCE E1 ... CACHE 10000+
▸ Consolidate applications to use only one server and route via services
▸ Place redo logs on fast storage & Separate disks for logs from other IO busy disks
▸ Schema tuning only involves minimal modification
▸ Global hash partitioned indexes
▸ Locally partitioned indexes
▸ Drop unused indexes
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
3- PARALLEL QUERY TUNING
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
PARALLEL QUERY TUNING
▸ Parallel execution improves performance for the following:
▸ Queries that perform a full table scan
▸ Fast full index scans
▸ The creation of large indexes
▸ DML operations doing bulk inserts, updates, and deletes
▸ Aggregations and copying
Partitioned index scans
Database recovery
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
4-TUNING DATABASE
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
TUNING DATABASE
▸ Distribution of data using data partitions
▸ Distribution of data access using database services
▸ Distribution of workload based on resource availability
▸ Accessing data from a database using indexes
▸ Tuning parameters to help improve performance
▸ Partition pruning
▸ Partition-wise joins
▸ Parallel DML
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
TUNING DATABASE
▸Sequence Numbers
▸Row level locking causing high contention. Getting and maintaining
sequences can cause enqueue contention on the sequence enqueue and
latches.
▸Due to the non-recursive nature of the transaction, in high INSERT intensive
applications, updates to the table can be queued.
▸There could be serious concurrency issues when this method is used. 

TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
5-TUNING NETWORK
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
TUNING NETWORK
▸Listeners

There are two types of listeners in an Oracle Database 11g Release 2 RAC
configuration.
▸SCAN Listeners
▸Database Listeners
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
TUNING NETWORK
▸For example, the following SDU settings in the TNS connection descriptor will set the value of the SDU
to 16K:
▸ORCL =
▸ (DESCRIPTION =
▸(SDU = 16384) (FAILOVER = ON) (ADDRESS = (PROTOCOL = TCP)(HOST = oradb.istanbul.com)(PORT =
1521))
▸ (LOAD_BALANCE = YES)
▸ (CONNECT_DATA = (SERVER = DEDICATED)
▸ (SERVICE_NAME = ORCL)
▸ (FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC)(RETRIES = 10)(DELAY = 3))) )
▸Similar settings should also be made to the listener to ensure that the bytes received by the server
are also of a similar size. SID_LIST_LISTENER =
▸(SID_DESC =
(SDU=16384) (SID_NAME = ORCL)))
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
6-RECOVERY TUNING
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
FAST START PARALLEL ROLLBACK
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
RECOVERY PARALLELLISM
▸ SQL>RECOVER PARALLEL 4;
▸ SQL>RECOVER TABLESPACE SALES
▸ SQL>RECOVER DATAFILE /u01/app/IST/sales.dbf PARALLEL (DEGREE 4);
▸ SQL>RECOVER DATABASE PARALLEL ; -- default DOP is used.
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
REDO SIZE
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
CHECKPOINT
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
7-GLOBAL CACHE TUNING
Data is either stored
‣ 1.  Locally (local cache) " access time: nanoseconds
‣ 2.  Remote (global cache) " access time: micros.
‣ 3.  “On disk”
Flash cache"access time: microseconds
Disk controller cache"access time: micros.
Spinning disk"access time: milliseconds
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
▸ Global cache optimization
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
GLOBAL CACHE SCENARIOS
There are several scenarios for single block reads:
‣ Read from Disk
‣ Read – Read
‣ Read – Write
‣ Write – Write
‣ Write – Read
‣ Write to Disk
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
GLOBAL CACHE SCENARIOS
‣ Instance A
‣ Instance B
‣ Instance C
‣ Instance D-resource master
‣ Database-SCN 1000
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
READ FROM DISK
‣ Instance A
‣ Instance B
‣ Instance C ——Request to obtain a shared resource
‣ Instance D-resource master
‣ Database-SCN 1000
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
READ FROM DISK
‣ Instance A
‣ Instance B
‣ Instance C
‣ Instance D-(RM)request is granted
‣ Database-SCN 1000
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
READ FROM DISK
‣ Instance A
‣ Instance B
‣ Instance C Read Request
‣ Instance D-(RM)request is granted
‣ Database-SCN 1000
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
READ FROM DISK
‣ Instance A
‣ Instance B
‣ Instance C Read Request —- SCN 1000
‣ Instance D-(RM) Request is Granted
‣ Database-SCN 1000 -Block image Delivered
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
READ WRITE CACHE FUSION
‣ Instance A
‣ Instance B Request to obtain resource
‣ Instance C SCN 1000
‣ Instance D-(RM)
‣ Database-SCN 1000
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
READ WRITE CACHE FUSION
‣ Instance A
‣ Instance B Request to obtain resource
‣ Instance C SCN 1000
‣ Instance D-(RM) Instruct to transfer the block to B
‣ Database-SCN 1000
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
READ WRITE CACHE FUSION
‣ Instance A
‣ Instance B Request to obtain resource ——SCN 1000
‣ Instance C SCN 1000-Send Block image to instance B
‣ Instance D-(RM) Instruct to transfer the block to B
‣ Database-SCN 1000
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
WRITE WRITE CACHE FUSION
‣ Instance A
‣ Instance B Request to obtain resource ——SCN 1000-write SCN 1001
‣ Instance C SCN 1000-Send Block image to instance B
‣ Instance D-(RM) Instruct to transfer the block to B
‣ Database-SCN 1000
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
WRITE WRITE CACHE FUSION
‣ Instance A-request to write
‣ Instance B SCN 1001
‣ Instance C SCN 1000
‣ Instance D-(RM)
‣ Database-SCN 1000
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
WRITE WRITE CACHE FUSION
‣ Instance A-request to write
‣ Instance B SCN 1001
‣ Instance C SCN 1000
‣ Instance D-(RM)——Instruct to transfer to instance A
‣ Database-SCN 1000
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
WRITE WRITE CACHE FUSION
‣ Instance A-request to write ——SCN1001
‣ Instance B SCN 1001—-Copy To Buffer
‣ Instance C SCN 1000
‣ Instance D-(RM)——Instruct to transfer to instance A
‣ Database-SCN 1000
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
WRITE WRITE CACHE FUSION
‣ Instance A-request to write ——SCN1001 ———SCN 1002
‣ Instance B SCN 1001—-Copy To Buffer
‣ Instance C SCN 1000
‣ Instance D-(RM)——Instruct to transfer to instance A
‣ Database-SCN 1000
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
8-TUNING STORAGE
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
▸ Types of I/O Operations
▸ Read vs. write

Single-block vs. multi-block

Random vs. sequential

Synchronous vs. asynchronous
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
▸ I/O Access Patterns
▸ Sequential access
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
▸ I/O Access Patterns
▸ Random access
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
▸ How Many Disk Groups?
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
9-TUNING CLUSTERWARE
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
10-TOOLS
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
REMOTE DIAGNOSTIC AGENT
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
RAC DIAG
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
ORACHK
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
OLS
$ ./ols.pl
The Cluster Nodes are : "NodeA, NodeB, NodeC, NodeD"
The Local Node is : "NodeA"
The Remote Nodes are : "NodeB, NodeC, NodeD"
Major Clusterware Version is : "12.1.0.1.0"
CRS_HOME is installed at : "/u01/app/12.1.0/grid"
CRS_BASE is installed at : "/u01/app/crsusr"
CRS_OWNER is : "crsusr"
CRS_GROUP is : "oinstall"
ORACLE_HOMES[0] is installed at : "/u01/app/crsusr/product/12.1.0/dbhome_1"
ORACLE_BASES[0] is installed at : "/u01/app/crsusr"
ORACLE_OWNERS[0] is : "crsusr"
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
TEN VITAL TIPS
▸ CAPACITY & ARCHITECTURE
▸ SQL TUNING
▸ PARALLEL QUERY TUNING
▸ TUNING DATABASE
▸ TUNING NETWORK
▸ RECOVERY TUNING
▸ GLOBAL CACHE TUNING
▸ TUNING STORAGE
▸ TUNNNG CLUSTERWARE
▸ TOOLS
TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
ZEKERİYA BESİROGLU BILGINC IT ACADEMY
ISTANBUL

Oracle Rac Performance Tunning Tips&Tricks

  • 1.
    TEN VITAL TIPSFOR ORACLE RAC PERFORMANCE ZEKERİYA BEŞİROĞLU EXPERT CONSULTANT&INSTRUCTOR BİLGİNC IT ACADEMY ISTANBUL TURKİSH ORACLE USER GROUP ORACLE OPEN WORLD 15 SAN FRANCİSCO
  • 2.
    TEN VITAL TIPSFOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM WHO I AM ▸ Oracle Ace Database Management & Performance ▸ OCP since 2002 ▸ OCE Rac Expert ▸ Exadata Specialist ▸ President of TROUG ▸ Expert Consultant & Oracle University Instructor
  • 3.
    BILGINC IT ACADEMY—- WWW.BILGINC.COM
  • 4.
    TEN VITAL TIPS ▸CAPACITY & ARCHITECTURE ▸ SQL TUNING ▸ PARALLEL QUERY TUNING ▸ TUNING DATABASE ▸ TUNING NETWORK ▸ RECOVERY TUNING ▸ GLOBAL CACHE TUNING ▸ TUNING STORAGE ▸ TUNNNG CLUSTERWARE ▸ TOOLS TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 5.
    1-CAPACITY & ARCHITECTURE TENVITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 6.
    CAPACITY & ARCHITECTURE ▸Building Balanced Hardware Configuration ▸ High Throughput ▸ You should consider configuring the following hardware components in order to create a balanced system: ▸ Number and speed of CPUs ▸ Memory size ▸ Number and size of disks ▸ Number and speed of the I/O bandwidth components, such as: ▸ Host Bus Adapters(HBAs) ▸ Switches ▸ Disk Controllers TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 7.
    CAPACITY & ARCHITECTURE ▸per Cpu Core avg 100-300 mb/per second ▸ Core = HBA ▸ Fiber switch avg 800 mb/per second ▸ One Disk Array avg 200 mb/per second ▸ Small 15000 rpm disk. 10 disk one array ▸ 4 gb memory per core / 8 gb Compress. TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 8.
    CAPACITY & ARCHITECTURE ▸EstimatingSize of Database Objects ▸ SELECT * FROM TABLE(dbms_space.object_growth_trend(object_owner => 'SH', 
 object_name => 'SALES', object_type => 'TABLE')); ▸DBMS_SPACE.CREATE_TABLE_COST(‘USERS’,30(avgrowsize),100000000(rowcount), 10(pctfree),ub,ab); ▸DBMS_OUTPUT.PUT_LINE('Used Bytes = ' || TO_CHAR(ub)); ▸DBMS_OUTPUT.PUT_LINE('Allocated Bytes = ' || TO_CHAR(ab)); ▸END; ▸/ ▸Used Bytes = (100GB) ▸Allocated Bytes = (100GB) TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 9.
    CAPACITY & ARCHITECTURE ▸SizeInterconnect for aggregated throughput – approx 1Gb/sec per 32 cores ▸10Gb/sec or IB generally good for database consolidations and large SMP nodes 
 Bonded 1GbE solutions with load balancing are supported 
 Use same type NICs for LB and failover ▸Use Jumbo frames wherever possible TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 10.
    2-SQL TUNING TEN VITALTIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 11.
    SQL TUNING ▸Optimizing ThirdNormal Form:
 Power, Partitioning, Parallelism ▸ Power ▸ Partition : Range- Hash partition ▸ Hash count cpus X 2 ▸ Paralel degree power X 2 and goal parallel partition-wise join TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 12.
    SQL TUNING TEN VITALTIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 13.
    SQL TUNING ▸ Reducelong full-table scans in OLTP systems. ▸ Use Automatic Segment Space Management (ASSM). ▸ Increase sequence caches. ▸ Use partitioning to reduce interinstance traffic. ▸ Avoid unnecessary parsing. ▸ Minimize locking usage. ▸ Remove unselective indexes. ▸ Configure interconnect properly. ▸ In Memory-Parallel Query TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 14.
    SQL TUNING ▸ Howto avoid “Write Hot Spots” in applications ▸ Frequent transactional changes to the same data blocks in all instances may result in “write hot spots” ▸ in 99% of OLTP performance issues write hot spots occur on indexes ▸ Use non-ordered & cached sequences if sequence is used to generate primary key ▸ ALTER SEQUENCE E1 ... CACHE 10000+ ▸ Consolidate applications to use only one server and route via services ▸ Place redo logs on fast storage & Separate disks for logs from other IO busy disks ▸ Schema tuning only involves minimal modification ▸ Global hash partitioned indexes ▸ Locally partitioned indexes ▸ Drop unused indexes TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 15.
    3- PARALLEL QUERYTUNING TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 16.
    PARALLEL QUERY TUNING ▸Parallel execution improves performance for the following: ▸ Queries that perform a full table scan ▸ Fast full index scans ▸ The creation of large indexes ▸ DML operations doing bulk inserts, updates, and deletes ▸ Aggregations and copying Partitioned index scans Database recovery TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 17.
    4-TUNING DATABASE TEN VITALTIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 18.
    TUNING DATABASE ▸ Distributionof data using data partitions ▸ Distribution of data access using database services ▸ Distribution of workload based on resource availability ▸ Accessing data from a database using indexes ▸ Tuning parameters to help improve performance ▸ Partition pruning ▸ Partition-wise joins ▸ Parallel DML TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 19.
    TUNING DATABASE ▸Sequence Numbers ▸Rowlevel locking causing high contention. Getting and maintaining sequences can cause enqueue contention on the sequence enqueue and latches. ▸Due to the non-recursive nature of the transaction, in high INSERT intensive applications, updates to the table can be queued. ▸There could be serious concurrency issues when this method is used. 
 TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 20.
    5-TUNING NETWORK TEN VITALTIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 21.
    TUNING NETWORK ▸Listeners
 There aretwo types of listeners in an Oracle Database 11g Release 2 RAC configuration. ▸SCAN Listeners ▸Database Listeners TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 22.
    TUNING NETWORK ▸For example,the following SDU settings in the TNS connection descriptor will set the value of the SDU to 16K: ▸ORCL = ▸ (DESCRIPTION = ▸(SDU = 16384) (FAILOVER = ON) (ADDRESS = (PROTOCOL = TCP)(HOST = oradb.istanbul.com)(PORT = 1521)) ▸ (LOAD_BALANCE = YES) ▸ (CONNECT_DATA = (SERVER = DEDICATED) ▸ (SERVICE_NAME = ORCL) ▸ (FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC)(RETRIES = 10)(DELAY = 3))) ) ▸Similar settings should also be made to the listener to ensure that the bytes received by the server are also of a similar size. SID_LIST_LISTENER = ▸(SID_DESC = (SDU=16384) (SID_NAME = ORCL))) TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 23.
    6-RECOVERY TUNING TEN VITALTIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 24.
    FAST START PARALLELROLLBACK TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 25.
    RECOVERY PARALLELLISM ▸ SQL>RECOVERPARALLEL 4; ▸ SQL>RECOVER TABLESPACE SALES ▸ SQL>RECOVER DATAFILE /u01/app/IST/sales.dbf PARALLEL (DEGREE 4); ▸ SQL>RECOVER DATABASE PARALLEL ; -- default DOP is used. TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 26.
    REDO SIZE TEN VITALTIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 27.
    CHECKPOINT TEN VITAL TIPSFOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 28.
    7-GLOBAL CACHE TUNING Datais either stored ‣ 1.  Locally (local cache) " access time: nanoseconds ‣ 2.  Remote (global cache) " access time: micros. ‣ 3.  “On disk” Flash cache"access time: microseconds Disk controller cache"access time: micros. Spinning disk"access time: milliseconds TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 29.
    ▸ Global cacheoptimization TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 30.
    GLOBAL CACHE SCENARIOS Thereare several scenarios for single block reads: ‣ Read from Disk ‣ Read – Read ‣ Read – Write ‣ Write – Write ‣ Write – Read ‣ Write to Disk TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 31.
    GLOBAL CACHE SCENARIOS ‣Instance A ‣ Instance B ‣ Instance C ‣ Instance D-resource master ‣ Database-SCN 1000 TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 32.
    READ FROM DISK ‣Instance A ‣ Instance B ‣ Instance C ——Request to obtain a shared resource ‣ Instance D-resource master ‣ Database-SCN 1000 TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 33.
    READ FROM DISK ‣Instance A ‣ Instance B ‣ Instance C ‣ Instance D-(RM)request is granted ‣ Database-SCN 1000 TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 34.
    READ FROM DISK ‣Instance A ‣ Instance B ‣ Instance C Read Request ‣ Instance D-(RM)request is granted ‣ Database-SCN 1000 TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 35.
    READ FROM DISK ‣Instance A ‣ Instance B ‣ Instance C Read Request —- SCN 1000 ‣ Instance D-(RM) Request is Granted ‣ Database-SCN 1000 -Block image Delivered TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 36.
    READ WRITE CACHEFUSION ‣ Instance A ‣ Instance B Request to obtain resource ‣ Instance C SCN 1000 ‣ Instance D-(RM) ‣ Database-SCN 1000 TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 37.
    READ WRITE CACHEFUSION ‣ Instance A ‣ Instance B Request to obtain resource ‣ Instance C SCN 1000 ‣ Instance D-(RM) Instruct to transfer the block to B ‣ Database-SCN 1000 TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 38.
    READ WRITE CACHEFUSION ‣ Instance A ‣ Instance B Request to obtain resource ——SCN 1000 ‣ Instance C SCN 1000-Send Block image to instance B ‣ Instance D-(RM) Instruct to transfer the block to B ‣ Database-SCN 1000 TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 39.
    WRITE WRITE CACHEFUSION ‣ Instance A ‣ Instance B Request to obtain resource ——SCN 1000-write SCN 1001 ‣ Instance C SCN 1000-Send Block image to instance B ‣ Instance D-(RM) Instruct to transfer the block to B ‣ Database-SCN 1000 TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 40.
    WRITE WRITE CACHEFUSION ‣ Instance A-request to write ‣ Instance B SCN 1001 ‣ Instance C SCN 1000 ‣ Instance D-(RM) ‣ Database-SCN 1000 TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 41.
    WRITE WRITE CACHEFUSION ‣ Instance A-request to write ‣ Instance B SCN 1001 ‣ Instance C SCN 1000 ‣ Instance D-(RM)——Instruct to transfer to instance A ‣ Database-SCN 1000 TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 42.
    WRITE WRITE CACHEFUSION ‣ Instance A-request to write ——SCN1001 ‣ Instance B SCN 1001—-Copy To Buffer ‣ Instance C SCN 1000 ‣ Instance D-(RM)——Instruct to transfer to instance A ‣ Database-SCN 1000 TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 43.
    WRITE WRITE CACHEFUSION ‣ Instance A-request to write ——SCN1001 ———SCN 1002 ‣ Instance B SCN 1001—-Copy To Buffer ‣ Instance C SCN 1000 ‣ Instance D-(RM)——Instruct to transfer to instance A ‣ Database-SCN 1000 TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 44.
    8-TUNING STORAGE TEN VITALTIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 45.
    ▸ Types ofI/O Operations ▸ Read vs. write
 Single-block vs. multi-block
 Random vs. sequential
 Synchronous vs. asynchronous TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 46.
    ▸ I/O AccessPatterns ▸ Sequential access TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 47.
    ▸ I/O AccessPatterns ▸ Random access TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 48.
    ▸ How ManyDisk Groups? TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 49.
    9-TUNING CLUSTERWARE TEN VITALTIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 50.
    10-TOOLS TEN VITAL TIPSFOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 51.
    REMOTE DIAGNOSTIC AGENT TENVITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 52.
    RAC DIAG TEN VITALTIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 53.
    ORACHK TEN VITAL TIPSFOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 54.
    OLS $ ./ols.pl The ClusterNodes are : "NodeA, NodeB, NodeC, NodeD" The Local Node is : "NodeA" The Remote Nodes are : "NodeB, NodeC, NodeD" Major Clusterware Version is : "12.1.0.1.0" CRS_HOME is installed at : "/u01/app/12.1.0/grid" CRS_BASE is installed at : "/u01/app/crsusr" CRS_OWNER is : "crsusr" CRS_GROUP is : "oinstall" ORACLE_HOMES[0] is installed at : "/u01/app/crsusr/product/12.1.0/dbhome_1" ORACLE_BASES[0] is installed at : "/u01/app/crsusr" ORACLE_OWNERS[0] is : "crsusr" TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 55.
    TEN VITAL TIPS ▸CAPACITY & ARCHITECTURE ▸ SQL TUNING ▸ PARALLEL QUERY TUNING ▸ TUNING DATABASE ▸ TUNING NETWORK ▸ RECOVERY TUNING ▸ GLOBAL CACHE TUNING ▸ TUNING STORAGE ▸ TUNNNG CLUSTERWARE ▸ TOOLS TEN VITAL TIPS FOR REAL APPLICATION CLUSTER PERFORMANCE ZEKERIYABESIROGLU.COM
  • 56.
    ZEKERİYA BESİROGLU BILGINCIT ACADEMY ISTANBUL