Oracle参数文件管理parameter
的有关信息介绍如下:Oracle参数文件管理parameter
oracle参数文件
一、概念
参数文件是一个包含一系列参数及参数对应值的操作系统文件。这些参数是在数据库实例启动时候加载的,决定了数据库的结构、内存、指定数据库控制文件名和路径等信息,是进行数据设计与性能调优的重要文件。
二、参数文件位置
参数文件默认位置是:$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora文件,文件默认是二进制方式存在的,不能通过vi/nano进行修改,只能通过SQL命令进线在线查看和修改。
查看ORACLE默认参数信息,默认有342了。通过SQL命令也可以直接查看参数文件spfile位置。如果spfile的值不为空则代表oracle实例是从spfile启动的。
还有另外一种查询参数的方式 通过sql命令 show parameter name; 这个name是一个模糊查询 它会将参数中 name列中带有name的数据都查询出来
三、参数分类
动态参数 当issys_modifiable不等于FALSE(要区分大小写) 为232个
select name,value from v$parameter where issys_modifiable!='FALSE';
静态参数 当issys_modifiable等于false 为110个
select name,value from v$parameter where issys_modifiable='FALSE';
四、修改参数
在修改静态参数的时候必须加上scope。动态参数issys_modifiable为immediate不加scope默认的是both,而动态参数issys_modifiable为deferred的必须加上scope=spfile或者加上derferredo
修改spfile参数的三种模式:
scope=both 立即并永久生效,(默认模式)
scope=spfile 下次启动才能生效。
scope=memory 立即生效但下次启动时失效
下图中列出在修改静态与动态参数中scope属性每个值的区别。从中可以看出,不管是静态还是动态都可以使用scope=spfile 修改后都需要重启即可。不过在修改动态参数issys_modifiable为immediate的时候尽量设置为scope=both这样不用重启也可以直接生效
示例:把这个值修改为30,这是一个静态函数
distributed_lock_timeout 60 FALSE
下图中可以看到 在没有修改参数前默认参数值为60,因为这个参数为静态参数,所以在修改时如果没有加上scope参数会报错。加上scope参数后可以正常修改。
根据上图,静态参数修改完成后需要重启才可以生效。对比重启之前查询与重启之后查询结果可清楚看到,在没有重启的时候修改的的静态参数不会进行更改,必须重启之后才会生效。
示例:修改动态参数
下图中可以看到 open_cursors为动态参数,且issys_modifiable值为immediate。所以在修改的时候scope的默认值是both。 立即生效,重启有效。