参数修改使用的语句Alter System中有选项scope,可以选择both,memory,spfile三者之一。如果系统使用的是服务器参数文件,那么默认使用的是both;如果使用的是文本参数文件,那么默认使用的是memory,并且只能是memory,不能使用both和spfile,否则会报错。
使用scope=both时,修改同时反映到内存和服务器参数文件中,动态参数的修改立即生效,并且修改的值是持久的,在重启数据库后依然有效,静态参数的修改不能使用scope=both;
使用scope=memory时,修改只反映到内存中,动态参数的修改立即生效,但是修改是不持久的,在重启数据库后修改失效,静态参数的修改不能使用scope=memory;
使用scope=spfile时,修改只反映到服务器参数文件中,动态参数和静态参数都不会立即生效,都在重启数据库后生效,并且是持久的。
使用scope=both时,修改同时反映到内存和服务器参数文件中,动态参数的修改立即生效,并且修改的值是持久的,在重启数据库后依然有效,静态参数的修改不能使用scope=both;
使用scope=memory时,修改只反映到内存中,动态参数的修改立即生效,但是修改是不持久的,在重启数据库后修改失效,静态参数的修改不能使用scope=memory;
使用scope=spfile时,修改只反映到服务器参数文件中,动态参数和静态参数都不会立即生效,都在重启数据库后生效,并且是持久的。