author:skatetime: 2009/04/14ORA-04031: 无法分配 12519000 字节的共享内存 ("large pool","unknown object","hash-join subh","kllcqc:kllcqslt") 解决方法:SQ......
author:skate time: 2009/04/14
ORA-04031: 无法分配 12519000 字节的共享内存 ("large pool","unknown object","hash-join subh","kllcqc:kllcqslt")
解决方法:
SQL> show parameter dispa
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ dispatchers string (PROTOCOL=TCP) max_dispatchers integer 5 mts_dispatchers string (PROTOCOL=TCP) mts_max_dispatchers integer 5
sql> alter system set dispatchers='(PROTOCOL=TCP)(SERVICE=orclXDB)';
SQL> show parameter dispa
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ dispatchers string (PROTOCOL=TCP)(SERVICE=orclXDB ) max_dispatchers integer 5 mts_dispatchers string (PROTOCOL=TCP)(SERVICE=orclXDB ) mts_max_dispatchers integer 5
问题解决,再用select × from v$session 查看 ,都是dedicated连接了
后者指定了服务名,而前者没有。没有指定服务器,大概就造成了oracle实例向listener注册时, 以任何服务名来建立的连接都是使用shared server方式。这是个人理解。
参考文档:http://blog.chinaunix.net/u/25477/showart_251764.html
相关知识总结:
Oracle Shared Server比较适合一些小而快的事务连接,这些事务的特点就是事务比较短, 操作和返回的数据量比较少。而对于一些数据仓库而言,显然是不适合建成 Shared Server 模式。下面说一下Shared Server和Dedicated Server的一些区别:
在Dedicated Server环境中,每一个连接都将启动一个专用服务进程,这个专用服务进程始终 服务于这个连接直到连接断开。每一个专用服务进程都有一个属于自己的内存区域,叫做 PGA(Program GlobalArea),里面存放了会话的信息,包括绑定变量、游标、排序等等。
而在Shared Server环境中,这些信息被存放到SGA中的UGA(User Global Area)区域中,
1/7 1 2 3 4 5 6 下一页 尾页 |