Oracle

如何更改所有會話的 SESSION_CACHED_CURSORS

  • August 13, 2021

如何更改所有會話的 SESSION_CACHED_CURSORS?

我在 google 和 oracle 網站上找到:

Alter Session...但我需要為所有會話更改它,而不僅僅是其中一個。

我該怎麼做?

更新 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

此參數的 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 並重新啟動數據庫。

引用自:https://dba.stackexchange.com/questions/54282