`
oolala
  • 浏览: 103267 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
09c341db-7f05-3f2b-a572-9ee69a5d8a77
unix环境高级编程
浏览量:22702
社区版块
存档分类
最新评论

调整shared pool

阅读更多

调整shared pool

   v$sgastat  描述sga的祥细信息

   shared_pool_size(初始化参数)   调整share pool的大小

 

   v$librarycache 视图包括librarycache的统计性能。

 

   查看librarycache sql执行小于一个数目的sql语句。

   select sql_text from v$sqlarea where executions < 5 order by upper(sql_text);

 

   查看硬解析语句:                                                                       

   select sql_text,parse_calls,executions from v$sqlarea order by parse_calls;

 

   librarycache视图

   v$sysstat, v$librarycache ,v$sql, v$sqlarea, v$sqltext, v$db_object_cache

 

      

 

 

  一:shared pool contents

  共享池的主要组件:

library cache   

data dictionary cache

user global area for shared server sessions  

 

共享池包括如下结构:

(1)library cache存储共享sqlpl/sql代码

(2)data dictionary cache保存数据字典对象信息

 

调整shared pool

错误的data dictionary cache 或者 library cache的缓存大小将要比SGA内存要花费的多。所以调整shared pool是很重要的。              

当调整shared pool时,应该把更精力更集中于library cache,因为分配内存空间的法则更喜欢控制dictionary data内存多于library cache。因此,调整library cache为一个可接受的缓存命中率以确保data dictionary cache也有一个可接受的命中率。

如果shared pool太小,服务器必须用更多的资源管理有限的可用空间。这样消耗cpu资源和引起竞争。

如果shared pool 太大能降低性能:有较少的内存为其他内存结构,一些接入能找到内容要慢于一个小一点的池。

 

Shared的大小

在初始化参数文件中用SHARED_POOL_SIZE设置大小。实际大小依赖其他因素,例如

SGA内存范围,默认大小8388608bytes(8MB)

Library cache

Library cache 包括shared sqlpl/sql areas:完全解析和编译pl/sql块和sql

pl/sql块包括:过程、函数、包、触发器、匿名pl/sql

Data Dictionary Cache

Data Dictionary Cache保存字典对象

 

 

the library cache

   用于保存sql语句和pl/sql块,共享给所有用户。

   LRU(least recently used)算法管理

   用于预防语句重新解析

   报告错误ora-04031当共享池没有空闲内存。

分享到:
评论

相关推荐

    oracle性能调整 Shared pool深入分析及性能调整.pdf

    - **调整Shared Pool大小**:根据系统的实际负载调整Shared Pool的大小,以满足应用需求。 - **SQL语句优化**:确保SQL语句尽可能地使用绑定变量,避免不必要的解析操作。 - **使用SQL Profile**:对于性能不佳的...

    计算机软件及应用Sharedpool深入分析及性能调整PPT学习教案.pptx

    在10g之后,可以通过设置`sga_target`让Oracle自动调整Sharedpool的大小。值得注意的是,Library Cache是Sharedpool中需要重点关注的部分,因为它直接影响到SQL语句的解析和执行效率。 在内存结构上,Sharedpool...

    相克军 ORACLE 讲座 shared pool 笔记

    尽管我们可以调整Shared Pool的整体大小,但无法单独设置这三个区域的大小。要查看各个部分的使用情况,可以通过查询`v$sgastat`视图来获取相关信息。 在数据库操作中,解析SQL语句有两种方式:硬解析(Hard Parse...

    oracle share pool学习资料

    ### Oracle Shared Pool 学习资料知识点详述 #### 17.1 Shared Pool 的基本原理 ...开发人员应当注重编写可重用性强的代码,同时 DBA 需要根据实际工作负载灵活调整 Shared Pool 的大小,以达到最佳性能表现。

    Oracle性能调整的十大要点

    如果`request misses`为0或没有持续增长,或者`free_memory`大于`shared pool reserved size`的50%,则可能需要调整shared pool reserved size。 3. 大的匿名PL/SQL代码块应尽量拆分为小块,以减少内存碎片。从9i...

    oracle_latch

    这可能包括监控V$SGASTAT视图以了解内存使用情况,调整Shared Pool大小,或者根据需要调整_latch参数以优化并发访问。 总之,Oracle Latch是数据库性能调优的关键要素之一,特别是在处理高并发和复杂查询的环境中。...

    使用SQL PROFILE固定SHARED POOL中的执行计划

    将SQL Profile放在SHARED POOL中,意味着每次执行相关SQL语句时,都会使用预定义的执行计划,避免了不必要的解析和计划选择过程,从而提升性能。 要查看和管理SQL Profile,可以使用以下SQL*Plus命令: - `SELECT ...

    oracle basic

    当Free Memory不足时,可能会出现ORA-4031错误,这可以通过调整Shared Pool大小或优化SQL来缓解。 优化Oracle数据库性能的关键在于有效利用内存,减少不必要的I/O操作和硬解析。共享SQL语句能显著提高性能,通过...

    Oracle数据库巡检[借鉴].pdf

    优化库缓存命中率可通过调整Shared Pool大小和编写高效的SQL语句。 3. **闩命中率**:衡量数据库内部锁机制的效率。正常值应在99%以上,低命中率可能表明锁竞争激烈。使用绑定变量和适当调整`shared_pool_size`可以...

    高级owi与oracle性能调整.pdf

    - 调整Shared Pool大小,确保常用SQL语句能在内存中快速访问。 - 设置合适的PGA(Program Global Area)内存分配,平衡多用户并发访问时的性能需求。 - 使用Automatic Memory Management (AMM) 功能自动调整内存...

    SharedPool-开源

    《SharedPool:开源对象池实现详解》 在软件开发中,高效地管理和复用资源是提升性能的关键之一。"SharedPool"项目正是一款专注于实现这一目标的开源工具,它允许在多个客户端之间共享对象,避免了频繁创建和销毁...

    Latch Free、Library cache伪游标(pseudo cursor)之间的那些事

    2. 调整shared pool中的不同子池大小,比如shared pool的java pool、pl/sql pool等,以减少特定类型对象的争用。 3. 优化应用程序中SQL硬解析的频率,例如通过绑定变量来避免不必要的硬解析。 4. 分析v$library...

    library cache lock等待事件处理

    调整Shared Pool的大小和结构也是减少“library cache lock”的一种方式。增大Shared Pool的大小可以减少SQL重解析的发生,而对Shared Pool内部结构的调整,如增加Library Cache大小,可以提高缓存命中率,从而降低...

    Oracle AWR 报告分析实例讲解.docx

    - **最佳实践**:调整Shared Pool的大小,以确保最近使用频繁的数据能在cache中得到保留,减少不必要的硬解析和字典访问。 #### 4. Load Profile分析 - **Load Profile**:显示数据库负载概况,用于评估系统的整体...

    Oracle数据库优化的方案和实践

    同时,调整Shared Pool的大小可以减少SQL语句的解析次数,降低解析开销。通过监控V$视图,如V$SGASTAT和V$BUFFER_POOL_STATISTICS,可以分析内存使用情况,找出性能瓶颈。 其次,减少物理读写的优化主要通过优化...

    ORACLE数据库变得非常慢解决方案一例.pdf

    6. **调整Shared Pool大小**:根据需要增加Shared Pool大小,以避免争用导致的性能下降。 7. **监控数据库统计信息**:定期收集statspack或其他性能监控数据,以便及时发现问题并作出调整。 通过以上分析和建议,...

    oracle9iSQLTUNING[参照].pdf

    3. 调整SHARED POOL大小,以延长SQL解析计划的缓存时间。 4. 使用变量,确保变量名和数据类型与查询的数据库对象一致,以达到SQL语句的精确匹配。 5. 注意SQL语句的大小写、空格、查询对象、执行用户、变量和注释的...

    Oracle运维最佳实践-下.pdf 带书签

    - 调整`SHARED_POOL_SIZE`以减少Library Cache latch竞争。 - 使用`DBMS_STATS`定期收集统计信息,确保CBO(Cost-Based Optimizer)做出准确的决策。 - **2.1.3 Session Snap** - Session Snap是一种性能监控...

Global site tag (gtag.js) - Google Analytics