oracle"初始化参数"之间的区别是什么?和"会话参数"?

时间:2014-06-29 15:38:31

标签: mysql oracle

在MySQL中,我们可以使用系统变量和会话变量,这些var共享相同的名称和一些含义,例如只有一个,只有一个用于会话。

对于oracle来说这是真的吗?

2 个答案:

答案 0 :(得分:4)

从某种意义上说,是的。我们不称它们为SYSTEM变量。我们将它们称为INIT参数或SESSION参数。

请参阅V $ PARAMETER视图。它告诉您是否可以在会话级别修改参数。查看ISSES_MODIFIABLE和ISSYS_MODIFIABLE字段。

http://docs.oracle.com/cd/B28359_01/server.111/b28320/dynviews_2085.htm#REFRN30176

select NAME, VALUE, ISSES_MODIFIABLE, ISSYS_MODIFIABLE FROM V$PARAMETER;

答案 1 :(得分:1)

INITIALIZATION参数存储在PFILE或SPFILE中,并在实例启动时读取。之后可以随时修改大多数参数,但数据库块大小除外(在创建数据库后修复)。 (即使数据库始终与特定的块大小相关联,ORACLE的某些版本也允许使用非默认的块大小创建表空间。)

ORACLE初始化参数用于控制数据库或数据库实例的行为。它们使用ALTER SYSTEM命令进行修改。

http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_2013.htm

使用ALTER SESSION修改SESSION变量,不会影响其他会话或数据库或实例的行为。 ALTER SESSION用于设置会话中的语言,并行度级别,ETC。

http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_2012.htm

<小时/>

初始化参数:

只有实例启动并且下次重启后更改丢失,才能修改某些初始化参数。这被称为&#34; scope = memory&#34;。

某些初始化参数在下次重启之前不会生效。这被称为&#34; scope = spfile&#34;。

某些初始化参数可以立即生效,也可以在下一次重启后生效。这被称为&#34; scope = both&#34;。