做为一个 ORACLE DBA 就必定要和 数据库 参数打交道,我也是一个初学者 ,根据我的使用 总结一下参数的使用
             测试 环境Solaris 10 +Oracle 10g
             首先 配置文件: pfile(参数文件),spfile(服务器配置文件)   在以前8i 以前的版本 是不可以动态的修改 系统参数的 但是 从9i 过后  就开始有了 spfile 提供给 管理员 更方便的 修改系统参数    两个文件 区别:  pfile 是 文本文件 可以通过 文本编辑器 编辑参数 而spfile是二进制文件 最好不要用文本编辑软件编辑 内容,系统startup 默认 是读取spfile  下面 做一个例子 就清楚了 我在pfile设置了 timed_statistics=false
                          
                     
                   然后 看下面的操作
                  
              它是读取的 spfile  显示的timed_statistics=true    他们之间的转化是  create spfile(pfile) from pfile(spfile)(='   ')        
 
下面  提及 重点
               
                          
 上面的 结果 查询出了 静态参数是 107个 动态参数是144+7=151个
  三者的修改使用范围:
  
 参数类型---SCOPE属性 spfile memory both deferred
 静态参数 可以,重启服务器生效 不可以 不可以 不可以
 动态参数(issys_modifiable为immediate) 可以,重启服务器生效 可以,立即生效,重启服务失效 , 可以,立即生效,重启服务器仍然有效果 不可以
 动态参数(issys_modifiable为deferred) 可以,重启服务器生效 不可以 不可以 可以
静态参数 必须指定为scope 动态参数issys_modifiable为IMMEDIATE不加scope默认的是 both,而动态参数issys_modifiable为DEFERRED的必须加上scope=spfile 或者 加上derferred,下面做演示
演示一:静态参数
演示二:(动态参数 modifiable='IMMEDIATE')
测试默认:
我就直接说了: scope=spfile需要重启生效,scope=memory重启就失效了 只是当前有效果,scope=both就是 当前立即生效,重启服务器也有效果  因为写入到了spfile了的 读取 启动startup 是启动spfile
 
测试三: (动态参数 issys_modifiable为deferred)
 
上面的实验 一直没有 看看 scope=spfile的效果 ,这样修改后 在spfile里面值是改变了的 ,意思就是  下一次 服务启动生效, 但是pfile 中的 参数是没有变的,看下面的插图
看到了 效果 我们吧sort_area_size改成了0  但是 结果 我们查看spfile
而不是0而是 系统推荐的数  那么不妨再改改 改成10块数据块的大小
再看看 服务器参数文件:
 
 OK 完了
 
上面 不是实验 测试当设置为 0的时候 设置成了98304 而不是设置成 0 为什么啊?
  因为 我们采用的是deferred; 如果采用 scope=spfile  则为 0 ,哈哈 原来 还有这样一说 采用deferred给的一个 默认值