I. High cluster wait time problems in RAC
1. Set the LMS process to FX 60. Do not adjust the number of lms processes too much.
Note: process priority can be set after Solaris 10 Update 10 and Solaris 11. You can view the/etc/release Version. For example, Oracle Solaris 10 1/13 indicates Solaris 10 Update 11. For details, refer to: Oracle Solaris 10 Update version and its history.
Oracle Solaris 10 1/06 (Update 1) U1
Oracle Solaris 10 6/06 (Update 2) U2
Oracle Solaris 10 11/06 (Update 3) U3
Oracle Solaris 10 8/07 (Update 4) U4
Oracle Solaris 10 5/08 (Update 5) U5
Oracle Solaris 10 10/08 (Update 6) U6
Oracle Solaris 10 5/09 (Update 7) U7
Oracle Solaris 10 10/09 (Update 8) U8
Oracle Solaris 10 9/10 (Update 9) U9
Oracle Solaris 10 8/11 (Update 10) U10
Oracle Solaris 10 1/13 (Update 11) U11
2. UDP parameters:
In/etc/system
Set ip: ip_squeue_bind = 0
2. In large systems, startup is slow and sga loading is slow.
1. to accelerate the loading of sga memory, you can increase the mode of concurrent loading of memory: (Note: The default value is a maximum of 16 concurrency, and the following is changed to 32 concurrency), modify the parameters in/etc/system:
Set vmtask_ntasks_max = 0x20
2. Or directly modify it online:
Echo "vmtask_ntasks_max/W 0x20" |/bin/mdb-kw
In the test environment, on the T3-4 machine, load the slave g sga, if the default 16 concurrency, it takes 60 seconds, if you use 64 concurrency, it only takes about 20 seconds.
3. log file sync
Log file sync waits a lot, but log file parallel write does not have much waiting time.
You can use prstat-p-v to check the cpu usage of lgwr, such as the ratio of % sys, such as the latency of LAT.
1. Reduce the number of processes for each semaphore:
# Projadd-U oracle-K "process. max-sem-nsems = (priv, 64, deny)" user. oracle
# Projmod-a-K "process. max-sem-nsems = (priv, 64, deny)" user. oracle
# Prctl-n process. max-sem-nsems-r-v 64-I process <PID>
2. Increase the lgwr process priority to FX 60
# Priocntl-c FX-m 60-p 60-s '/usr/bin/pgrep-f ora_lgwr'
3. Use the cpu exclusively for lgwr
# Create Processor Set
# Psrset-c 56-63
# Turn off all but one CPU in the processor set
# Psradm-f 57-63
# Bind the lgwr to the processor set
# Psrset-B 1 'pgrep-f ora_lgwr'
# Mark the CPU as non-interruptible
# Psrset-f 56
4. db file sequential/parallel read too high.
1. Use processor sets to exclusively occupy the CPU.
2. Confirm that IO is evenly distributed on each available controllers/channels/ports.
3. In the SAN environment, consider using multi-path MPXIO
4. Use Database Smart Flash Cache:
-Db_flash_cache_file = <+ flashdg/FlashCacheFile>
-Db_flash_cache_size = <flash pool size>