Allocationand Reuse of Memory in the Shared Pool

Allocationand Reuse of Memory in the Shared Pool(ZYD)

The database allocates shared pool memory when a new SQL statement is parsed. The memory size depends on the complexity of the statement.

In general, an item in the shared pool stays until it is removedaccording to an LRU algorithm. Thedatabase allows shared pool items used by many sessions to remain in memory as longas they are useful, even if the process that created the item terminates. Thismechanism minimizes the overhead and processing of SQL statements.

If space is needed fornew items, then the database frees memory for infrequently used items. A shared SQL area can be removed from the shared pooleven if the shared SQL area corresponds to an open cursor that has not beenused for some time. If the open cursor issubsequently used to run its statement, then Oracle Database reparses thestatement and allocates a new shared SQL area.(Library Cache 太小)

The database also removes a shared SQL area from the shared pool in the followingcircumstances(ZYD)

·        If the databasegathers statistics for a table, table cluster, orindex, then by default the database gradually removes all shared SQL areas thatcontain statements referencing the analyzed object after a period.The next time a removed statement is run, the database parses it ina new shared SQL area to reflect the new statistics for the schema object.

·        If a schemaobject is referenced in a SQL statement, and if this object is later modifiedby a DDL statement, then the database invalidates the shared SQL area. Theoptimizer must reparse the statement the next time it is run.

·        If you changethe global database name, then the database removes all information from theshared pool.

To assess theperformance that can be expected after a database instance restart, use the ALTER SYSTEM FLUSH SHARED_POOL statement to manually remove all information in the shared pool.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值