Heim Datenbank MySQL-Tutorial Oracle Shared Pool优化思路

Oracle Shared Pool优化思路

Jun 07, 2016 pm 05:02 PM

shared pool主要由保存数据字典的data_dictionary和保存SQL和PL/SQL代码和执行计划的library cache组成 。还包括其它供系统不同特

shared pool主要由保存数据字典的data_dictionary和保存SQL和PL/SQL代码和执行计划的library cache组成 。还包括其它供系统不同特性和技术使用的若干缓冲区,如为shared server模式提供的UGA等。
优化shared pool的思路:
1)根据设置经验,例如,可设置shared_pool_size=sga_target*(10%~15%)。
2)重点关注保存SQL和PL/SQL代码和执行计划的library cache相关指标。查看AWR报告Load Profile部分,分析Hard Parses/s等指标。分析Instance Efficiency Percentages (Target 100%)中Library Hit %、Execute to Parse %、Soft Parse %等
   需要关注的等待事件:
   Latch:library cache
   Latch:shared pool
3)查看Time Model Statistics中与shared pool相关指标(parse time elapsed与hard parse elapsed time)。
  如果hard parse elapsed time所占比例较高,说明应用的语句共享性存在严重问题。

优化方法:
1)评估语句共享性
   Execute to Parse %=(execute次数-Parse次数)/Execute次数*100%

   如果Execute to Parse %太低,说明解析次数非常高,系统整体共享性差。一般该指标达到70%以上,就说明语句共享性不错。

   

   AWR报告中Library Hit %、Soft Parse %和Hard Parses/s。Parse包含Hard Parse与Soft Parse次数,但我们应关注Hard Parses。

   

   查询非共享的sql语句(执行次数为1):
   select sql_text from v$sqlarea where executions=1 order by upper(sql_text); 

2)通过shared pool advisory设置合理的shared_pool_size。也可以通过设置shared_pool_reserved_size参数,使一些比较大的PL/SQL对象常驻内存中,减少shared pool出现碎片的可能性。

3)合理设置large_pool_size参数

   large pool缓冲区用于备份恢复操作、并行处理、ASM、共享连接模式、模拟异步I/O操作等场景,应合理设置large_pool_size以避免使用shared pool缓冲区,加剧shared pool缓冲区空间的紧张和产生碎片的可能性。

注意:并不是所有的sql都需要共享,对于统计报表类sql因其单笔事务的资源消耗大,并发量不高的特点,应该保证其执行计划的最优,这时候不用绑定变量。

linux

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Reduzieren Sie die Verwendung des MySQL -Speichers im Docker Reduzieren Sie die Verwendung des MySQL -Speichers im Docker Mar 04, 2025 pm 03:52 PM

Reduzieren Sie die Verwendung des MySQL -Speichers im Docker

Wie verändern Sie eine Tabelle in MySQL mit der Änderungstabelleanweisung? Wie verändern Sie eine Tabelle in MySQL mit der Änderungstabelleanweisung? Mar 19, 2025 pm 03:51 PM

Wie verändern Sie eine Tabelle in MySQL mit der Änderungstabelleanweisung?

So lösen Sie das Problem der MySQL können die gemeinsame Bibliothek nicht öffnen So lösen Sie das Problem der MySQL können die gemeinsame Bibliothek nicht öffnen Mar 04, 2025 pm 04:01 PM

So lösen Sie das Problem der MySQL können die gemeinsame Bibliothek nicht öffnen

Führen Sie MySQL in Linux aus (mit/ohne Podman -Container mit Phpmyadmin) Führen Sie MySQL in Linux aus (mit/ohne Podman -Container mit Phpmyadmin) Mar 04, 2025 pm 03:54 PM

Führen Sie MySQL in Linux aus (mit/ohne Podman -Container mit Phpmyadmin)

Was ist SQLite? Umfassende Übersicht Was ist SQLite? Umfassende Übersicht Mar 04, 2025 pm 03:55 PM

Was ist SQLite? Umfassende Übersicht

Ausführen mehrerer MySQL-Versionen auf macOS: Eine Schritt-für-Schritt-Anleitung Ausführen mehrerer MySQL-Versionen auf macOS: Eine Schritt-für-Schritt-Anleitung Mar 04, 2025 pm 03:49 PM

Ausführen mehrerer MySQL-Versionen auf macOS: Eine Schritt-für-Schritt-Anleitung

Was sind einige beliebte MySQL -GUI -Tools (z. B. MySQL Workbench, PhpMyAdmin)? Was sind einige beliebte MySQL -GUI -Tools (z. B. MySQL Workbench, PhpMyAdmin)? Mar 21, 2025 pm 06:28 PM

Was sind einige beliebte MySQL -GUI -Tools (z. B. MySQL Workbench, PhpMyAdmin)?

Wie konfiguriere ich die SSL/TLS -Verschlüsselung für MySQL -Verbindungen? Wie konfiguriere ich die SSL/TLS -Verschlüsselung für MySQL -Verbindungen? Mar 18, 2025 pm 12:01 PM

Wie konfiguriere ich die SSL/TLS -Verschlüsselung für MySQL -Verbindungen?

See all articles