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..我知道了…如果问题再次发生,一定会尝试。谢谢你的回复