Oracle参数及参数文件7大类解析(1)
学过Oracle的人都知道,Oracle参数对数据库初始化来说非常重要。 因为Oracle初始化参数能够对数据库约束和资源限制,下面就有关Oracle参数及参数文件设置进行讲述。
初始化参数分为3类:
推导参数
操作系统依赖参数
可变参数
1.推导Oracle参数(derived parameters)
- select name,value from v$parameter where name in (‘processes’,’sessions’);
processes参数代表oracle并发连接数,合理设置processes参数是十分重要的,超过最大进程数,dba也无法登录数据库。
通常在创建数据库时,建议将该参数值修改为500,我机器默认是150
- alter system set processes=500 scope=spfile;
重启后看修改过的值
- select name,value from v$parameter where name=’processes’;
- select * from v$sgastat where name=’processes’;
2.操作系统依赖参数
某些参数的有效值或者取值范围受限于操作系统,比如db_cache_size参数,设置oracle使用的buffer cache内存大小,该参数
的最大值就要受限于物理内存,这一类参数通常被称为操作系统依赖参数。
3.可变Oracle参数
可变参数包含绝大多数潜在影响系统性能的可调整参数,某些可变参数设置的是限制条件,如open_cursors,有的是设置容量,如
db_cache_size等
初始化参数的获取
show parameter sga
使用sql_trace跟踪当前会话
- alter session set sql_trace=true;
- show parameter sga;
- alter session set sql_trace=false;
4.Oracle参数文件
初始化参数文件(initialization parameter files) PFILE,文本文件,可手工修改
服务器参数文件(server parameter files) SPFILE,二进制文件,不能手工修改
- cd /var/oracle11g/app/dbs
- file init.ora
- file spfilehugwww.ora
SPFILE文件,对于参数的修改都可以在命令行完成,在sqlplus中通过alter system 修改参数
- select sid,name,value from v$spparameter where value is not null;
- show spparameter;
- show spparameter memory_target;
在通过pfile中调用spfile,使用后设置的参数复盖spfile中的参数设置,是解决spfile中参数设置错误的一种方法
5.修改参数
可以通过alter system或者导入导出来更改spfile的内容
scope新选项,有3个可选值:
memory 只改变当前实例,重启数据库后失效
spfile 只改变spfile的设置,不改变当前实例,重启数据库后生效
both 同时改变实例及spfile,当前更改立即生效,重启后仍然有效
在rac环境,可以指定sid=<实例名>



