Oracle10g ORA-01012:执行alter system flush shared_pool时未登录;

Oracle10g ORA-01012:执行alter system flush shared_pool时未登录;,oracle10g,Oracle10g,我想刷新共享池,因为出现如下错误 ORA-04031: unable to allocate 32 bytes of shared memory 所以我想使用 alter system flush shared_pool; 使用作为sysdba连接 hwflow08:flman800 > sqlplus "conn as sysdba" SQL*Plus: Release 10.2.0.3.0 - Production on Wed Jan 28 05:39:56 2015 Co

我想刷新共享池,因为出现如下错误

ORA-04031: unable to allocate 32 bytes of shared memory 
所以我想使用

alter system flush shared_pool;
使用作为sysdba连接

hwflow08:flman800 > sqlplus "conn as sysdba"

SQL*Plus: Release 10.2.0.3.0 - Production on Wed Jan 28 05:39:56 2015

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

Enter password: Connected.
在执行alter system命令时,我们遇到了ORA-01012

SQL> alter system flush buffer_cache;
alter system flush buffer_cache
*
ERROR at line 1:
ORA-01012: not logged on

有人能告诉我如何冲洗共享池吗?(我不想关闭数据库)

因为我没有得到任何响应,我留下了关闭数据库的选项。所以在启动之后,当我通过SYSDBA连接并执行相同的查询
altersystemflush shared\u pool时这一次它工作得非常好。所以问题仍然是,为什么ORACLE在内存不足时不允许刷新共享池?使用alter system flush shared_pool的有效方法是什么;现在评论这个已经太迟了,因为你已经解决了你的问题。但是,您可以先终止当前会话,然后尝试刷新共享池。会话终止是否会释放一些内存?如果是,是否足以分析/运行flush查询?据我所知,oracle不允许执行此查询,因为oracle没有足够的内存来解析它,我可能错了@LalitKumarB您的评论看起来很有趣,也很有意义。我的意思是,当前会话(如果有)将消耗SGA,删除它们将释放共享池中的内存。@LalitKumarB:Ya..我知道了…如果问题再次发生,一定会尝试。谢谢你的回复