该命令用还修改会话级的状态和设置,这些改变后立即生效。会话结束后即失效。这与alter system 修改的是数据库系统的配置,是全局的 不同,请注意。
alter session是在会话级别对某些参数进行更改,在v$parameter视图中的ISSES_MODIFIABLE字段为true的表示这个参数可以使用alter session修改;
alter system是在系统级别对某些参数进行更改,它的影响不仅仅是某个会话,而是整个实例。在v$parameter视图中的ISSYS_MODIFIABLE字段为immediate和deferred的表示这个参数可以使用alter system命令修改。
alter system命令在中,如果你的scope指定如下的指,它们分别代表不同的含义:
scope=spfile表示会在spfile中修改这个参数,在正在运行的实例的内存中不进行修改,那么只有数据库的实例重启以后,对这个参数的修改才会起作用;
scope=memory表示在当前实例的内存中修改这个参数,而不在spfile中修改,那么这个参数的修改会影响到当前实例的运行,而如果数据库重新启动以后,你这次对这个参数的修改是没有起作用的。
scope=both,这个想象一下就知道了。
在v$parameter视图中的issys_modifiable的3个值来解释一下:
如果是immediate:表示这次对这个参数的修改会在你当前会话中就“立即”发生作用,即修改立即生效。
如果是deferred:表示这次修改对当前执行会话中不发生作用,在以后打开的会话中起作用,故它有“推迟”影响的效果。
如果是false:表示不能使用alter system命令修改。
alter session set time_zone=' CST';//设置时区
alter session set nls_date_from='mm/dd/yyyy hh24:mi:ss';
altet session disable(enable) commit in procedure;关闭或启动PL/sql 程序发出的commit或者rollback语句功能。
呵呵,其实还有几个功能,不想写了。