Oracle参数文件说明
- pfile和spfile
概念:
Oracle实例启动时需要的重要参数信息
Pfile(Parameter File,参数文件)是基于文本格式的参数文件,含有数据库的配置参数。
SPfile(Server Parameter File,服务器参数文件, Oracle9i之后引入的概念)是基于二进制格式的参数文件,含有数据库及例程的参数和数值
修改:
Pfile可以直接使用文档编辑,spfile需要在数据库可用状态通过SQL语句修改
alter system set parameter=value scope=spfile
scope的值为
memory(动态),重启实例后失效
spfile(动态,静态),重启实例后生效
both(默认)
路径:
Linux $ORACLE_HOME/dbs/INITsid.ora和SPFILESID.ora
Windows $ORACLE_HOME\database\INITsid.ora和SPFILESID.ora
优先级
用户指定>spfile>pfile
Oracle的启动顺序
用startup(默认)启动的顺序
1、直接在默认路径下查找spfileSID.ora --(spfile)
如果没有再查找2
2、直接在默认路径下查找spfile.ora
如果没有再查找3
3、直接在默认路径下查找initSID.ora --(pfile)
用startup pfile= 的方式启动。
1、指定的pfile:
startup pfile=$ORACLE_HOME/dbs/initSID.ora
2、使用spfile启动,需要变通一下如
创建一个pfile文件aaa.ora,包含以下内容:
spfile=$ORACLE_HOME/dbs/spfileSID.ora
再用startup pfile=$ORACLE_HOME/dbs/aaa.ora启动即可。
若使用这两种方式,级别会高于直接用startup启动的方式
手动创建
create spfile=[’path’] from pfile=[‘path’]
create pfile=[‘path’] from spfile=[‘path’]
- 内存参数说明
Oracle的内存,从总体上讲,可以分为两大块:共享部分(主要是SGA)和进程独享部分(主要是PGA和UGA)
SGA PGA sga_max_size sga_target pga_aggreate_target memory_max_size memory_target
SGA
system global area 系统全局区:是一组包含一个Oracle实例的数据和控制信息的共享内存结构。每个实例都有自己的SGA (命令查看show sga)
SGA_MAX_SIZE
控制SGA使用虚拟内存的最大值,虚拟内存使用过多,会导致系统性能下降,或者crash
SGA_TARGET
Oracle10g引入了一个新特性自动共享内存管理(ASMM),控制这一特性得就是SGA_TARGET。默认为0,即不启用。
SGA_TARGET为动态参数,可以在SGA_MAX_SIZE范围内修改而无需重启实例
SQL语句,value的单位是byte
alter system set sga_max_size=value scope=spfile;
alter system set sga_target=value;
PGA
The Process Global Area程序全局区,是一块包含一个服务进程的数据和控制信息的内存区域,随着服务进程的启动而创建,pga只能被拥有它的进程所访问
PGA_AGGREGATE_TARGET
9i中引入该参数,实现会话工作区大小的自动分配
该参数给一个实例的PGA指定了一个总大小,oracle服务进程的内存总数不会超过这个值
参数WORKAREA_SIZE_POLICY决定是否使用PGA_AGGREGATE_TARGET来管理PGA内存。它有两个值:AUTO和MANUAL。默认是AUTO




