1.2 shared pool原理
Shared Pool是Oracle SGA设置中最复杂也是最重要的一部分内容,Oracle通过Shared Pool来实现SQL共享、减少代码硬解析等,从而提高数据库的性能。在某些版本中,如果设置不当,Shared Pool可能会极大影响数据库的正常运行。
在Oracle 7之前,Shared Pool并不存在,每个Oracle连接都有一个独立的Server进程与之相关联,Server进程负责解析和优化所有SQL和PL/SQL代码。典型的,在OLTP环境中,很多代...
分类:
其他好文 时间:
2014-08-02 15:36:03
阅读次数:
354
X$KSMSP视图
Shared Pool 的空间分配和使用情况,可以通过一个内部视图来观察,这个视图就是X$KSMSP。
X$KSMSP的名称含义为: [K]ernal [S]torage [M]emory Management [S]GA Hea[P]其中每一行都代表着Shared Pool中的一个Chunk。以下是x$ksmsp的结构:
12:03:45 sys@felix SQL>desc x$ksmsp
Name Null? Type...
分类:
其他好文 时间:
2014-08-02 15:35:13
阅读次数:
274
诊断和解决ORA-04031 错误
Shared Pool的主要问题在根本上只有一个,就是碎片过多带来的性能影响。
1.2.7.1 什么是ORA-04031错误
当尝试在共享池分配大块的连续内存失败(很多时候是由于碎片过多,而并非真是内存不足)时,Oracle首先清除共享池中当前没使用的所有对象,使空闲内存块合并。如果仍然没有足够大的单块内存可以满足需要,就会产生ORA-04031错误。
如下一段伪代码来描述04031错误的产生:
Scan free lists --扫描Free...
分类:
其他好文 时间:
2014-08-02 15:34:23
阅读次数:
317
1.1 buffer pool原理
Buffer Cache是Oracle SGA中一个重要部分,通常的数据访问和修改都需要通过BufferCache来完成。当一个进程需要访问数据时,首先需要确定数据在内存中是否存在,如果数据在Buffer中存在,则需要根据数据的状态来判断是否可以直接访问还是需要构造一致性读取;如果数据在Buffer中不存在,则需要在Buffer Cache中寻找足够的空间以装载需要的数据,如果Buffer Cache中找不到足够的内存空间,则需要触发DBWR去写出脏数据,释放Buff...
分类:
其他好文 时间:
2014-08-02 12:50:33
阅读次数:
337
C++ 98的 std::auto_ptr已经被彻底遗弃了,取而代之的是unique_ptr、shared_ptr与weak_ptr。大部分时候我们自己手动申请内存方式内存都是没有问题的,问题是如果程序很大了之后,一个复杂的对象,多次拷贝的代价非常高,很多地方都会使用到,只存在一份拷贝显然是最好的,...
分类:
编程语言 时间:
2014-08-01 13:27:51
阅读次数:
384
生成Linq实体使用SPMetal工具生成Linq to SharePoint实体工具安装目录:C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN\SPMETAL.exe命令参数:cmd:cdC:\P...
分类:
其他好文 时间:
2014-07-31 20:26:47
阅读次数:
310
Multi-processor systems are often implemented using a common system bus as the communication mechanism between CPU, memory, and I/O adapters. It is al...
分类:
其他好文 时间:
2014-07-31 02:17:25
阅读次数:
432
运行环境CentOS 6.5安装该版本后发现无法打开Emacs,使用yum -qa指令发现系统中已经安装了程序,然后在终端中输入emacs后还是不能打开,出现了下面的提示: emacs: error while loading shared libraries: libotf.so.0: canno...
分类:
其他好文 时间:
2014-07-29 21:07:12
阅读次数:
362
下载httpd2.2.6,以前用http2.2.4会出问题(出现个什么lib的错误)./configure --prefix=/usr/local/apache --enable-ssl --enable-cgi --enable-mods-shared=all --with-mysql=/usr/...
分类:
其他好文 时间:
2014-07-29 17:32:02
阅读次数:
393
你试试把中文路径换掉 不行的话参考 逝去的青春的博客:Eclipse出现“The Eclipse executable launcher was unable to locate its companion shared library”错误的解决方法如下: 一、打开eclipse目录下的配置文.....
分类:
系统相关 时间:
2014-07-29 11:03:26
阅读次数:
447