web-dev-qa-db-ja.com

すべてのセッションのSESSION_CACHED_CURSORSを変更する方法

すべてのセッションのSESSION_CACHED_CURSORSを変更するにはどうすればよいですか?

私はグーグルとオラクルのウェブサイトで見つけました:

Alter Session...しかし、そのうちの1つだけではなく、すべてのセッションで変更する必要があります。

どうすればできますか?

更新1:

SQL> alter session set session_cached_cursors=800 scope=both sid='*';
alter session set session_cached_cursors=800 scope=both sid='*'
                                             *
ERROR at line 1:
ORA-02248: invalid option for ALTER SESSION
2
jcho360

このパラメーターのALTER SYSTEM SET句はSCOPE = SPFILEオプションでのみ有効であるため、これを使用してパラメーター値を動的に変更することはできません。

以下のように、他のすべてのセッションの値を変更できます。

begin
for c in (select sid, serial# from v$session) loop
   dbms_system.set_int_param_in_session(c.sid,c.serial#,'session_cached_cursors', 100);
end loop;
end;
/

ただし、これはこの時点以降に開かれたセッションには影響しません。そのためには、上記のようにALTER SYSTEMを使用してデータベースを再起動する必要があります。

5
Balazs Papp