可以查看 v$parameter
或v$parameter2
动态性能视图的ISSYS_MODIFIABLE列。此列指示是否可以使用 ALTER SYSTEM 更改参数以及更改何时生效:
- IMMEDIATE - 无论用于启动实例的参数文件的类型如何,都可以使用 ALTER SYSTEM 更改参数。 更改立即生效。
- DEFERRED - 无论用于启动实例的参数文件的类型如何,都可以使用 ALTER SYSTEM 更改参数。 该更改将在后续会议中生效。
- FALSE - 除非使用服务器参数文件来启动实例,否则无法使用 ALTER SYSTEM 更改参数。 该更改将在后续实例中生效。
来看一个实际的例子。就是 Database In-Memory的Automatic In-Memory与ADO相关的参数
-- 查询v$parameter和v$parameter2 结果一样
set linesize 100
col name format a40
col session_mod format a11
col system_mod format a11SELECTname,isses_modifiable session_mod,issys_modifiable system_mod
FROMv$parameter
WHEREname in ('heat_map', 'inmemory_automatic_level');NAME SESSION_MOD SYSTEM_MOD
---------------------------------------- ----------- -----------
heat_map TRUE IMMEDIATE
inmemory_automatic_level FALSE IMMEDIATE
可以看到,这2个参数在ALTER SYSTEM后都是立即生效,无需重启。
但inmemory_automatic_level并不能在会话一级修改。
再来看一下文档中的描述:
参考
- How to View and Set Database Parameters both Dynamic and Static (Doc ID 1480291.1)
- Primary Note: Overview of Oracle Database Initialization Parameters (Doc ID 1496915.1)