一、保留区
没有被PIN住大对象的加载、老化将会使共享池产生碎片,Oracle想了个方法解决这个问题,它专门在共享池开辟一块区域,所有大小超过4400字节的对象,将在此专门开辟的区域中分配空间,这块区域被称为保留区。这样,让大对象和小对象分开存储,可以减少大对象的加载、老化以大量小对象产生的影响,并且可以减少小对象区域内的内存碎片。而且Oracle针对保留区设计了专门的内存管理算法,使得大对象可以更快速的加载。
一、使用视图进行库缓存大小测试:
如果你的企业新开启了一项业务,并为此开发了一套新的应用程序,这需要一个新的数据库为后台。你负责规化此新的数据库。那么,你该如何确定共享池的大小呢?下面的测试可以有助于你确定共享池大小。注意,这样确定的共享池大小,只是估计的大小。到底多大的共享池才适合你的数据库,这需要数据库运行一段时间后,通过观察历史数据才能得知。
一、游标
从Oracle数据库管理员的角度上说,游标是对存储在库缓存中的可执行对象的统称。SQL语句是存储在库缓存中的,它是游标。除了它之外,还有Oracle的存储过程也是存储在库缓存中的可执行对象,从Oracle DBA的角度上说,它也是游标。Oracle也把它算为游标,在某些和游标相关的视图中,也会显示存储过程的一些信息的。但从开发者的角度说,只有SQL语句才是游标。
上周就收到了51CTO大老远从北京寄过来的2011年度IT博客50强的礼物,连同年前的博客专题的礼品一并寄到了。再次感谢51CTO这个充满着活力和人性化的社区,希望能和51CTO一同成长,感谢51CTO的一路陪伴,有你真好!
呵呵,下面就来晒晒受到的礼物吧。
3.库缓存的大小
我们上面从程序员的角度上讲述了如何共享执行计划。下面再来看看作为DBA可以为共享执行计划做什么事。首先我们要知道,每条语句的执行计划是保存在库缓存中的,优化器在解析语句时,先要到库缓存中,以语句的文本为条件,查找有没有此语句的执行计划,如果已经有了,就直接取出来交给服务器进程执行,这就是软解析。如果库缓存中不存在相同的语句,优化器就为此语句生成执行计划,再把生成的计划存入库缓存,这就硬解析。