1、oracle参数文件概述
每一个数据库中都有一个操作系统文件叫参数文件,也叫初始化文件,该文件决定数据库的物理结构、内存、数据库的极限及系统大量的默认值,是进行数据库设计与性能调整的重要文件。
在Oracle9i中,首次引入了服务器参数文件SPFILE(Server Parameter File),该文件是存储于服务器端的二进制文件,从而解决了Oracle数据库中一直无法解决的技术难题,即不能在线修改数据库参数这一问题(ALTER SYSTEM所设定的参数可以直接保存在SPFILE中,不像以前那样需要手工更改参数文件才可以使改动永久生效),并且降低了手动修改参数文件容易发生的错误。
在Oracle9i及其后续版本中可以使用传统的参数文件Pfile及二进制服务器端参数文件Spfile。
1.1 Pfile文件
①Pfile(Parameter File)文件格式:文件是基于文本格式的参数文件,含有数据库及例程的参数和配置。
②Pfile默认名称和路径(10g):
默认名称:init<SID>.ora
默认路径:$ORACLE_BASE\db_1\database\init<SID>.ora。该参数文件实际只是起到一个指向作用,它的内容为包含了真实参数文件路径。
③初始化参数文件使用:
Startup pfile='$ORACLE_BASE\admin\<SID>\pfile\init.ora'(实际的参数文件)
Startup pfile='$ORACLE_BASE\db_1\database\init<SID>.ora'(内容指向init.ora)
以上两种方法都可以正常启动数据库,最后都是打开实际的参数文件
1.2 Spfile文件
①Spfile(Server Parameter File,服务器参数文件)文件格式:是基于二进制格式的参数文件,含有数据库及例程的参数和数值,不能用文本编辑工具打开。
②Spfile默认名称和路径:
默认名称:spfile<SID>.ora
默认路径:$ORACLE_BASE\db_1\database
1.3 参数文件启动顺序
startup 命令重新启动数据库,Oralce默认按照以下顺序在缺省目录中搜索参数文件:
1.spfile${ORACLE_SID}.ora
UNIX默认目录:${ORACLE_HOME}/dbs/
NT默认目录: ${ORACLE_HOME}\database
2.spfile.ora
UNIX默认目录:${ORACLE_HOME}/dbs/
NT默认目录:${ORACLE_HOME}\database
3.init${ORACLE_SID}.ora
UNIX默认目录:${ORACLE_HOME}/dbs/
NT默认目录:${ORACLE_HOME}\database or
${ORACLE_HOME}\admin\db_name\pfile\
加载参数文件的优先级如下:
Spfile<SID>.ora――>Spfile.ora――>Init<SID>.ora
1.4 Spfile和Pfile文件比较
Spfile和Pfile文件的比较
2、查看数据库以什么文件启动
方法一:
SQL>select distinct ISSPECIFIED from v$spparameter;
ISSPECIFIED
-----------
TRUE
FALSE
备注:如果只有FALSE,使用的是PFILE启动,如果有TRUE,说明用的是SPFILE启动
方法二:
SQL>show parameters spfile
NAME TYPE VALUE
----------------------------------------------- ------------------------------
spfile string /u01/app/oracle/product/10.2/d
b_1/dbs/spfilexmlgis.ora
备注:如果有值说明使用spfile启动,反之pfile
3、pfile和spfile相互转换
Spfile转Pfile:
Create Spfile From Pfile
Create Spfile[=′路径+文件名′]From Pfile[=′路径+文件名′]
Pfile 转Spfile:
Create Pfile From Spfile
Create Pfile[=′路径+文件名′] FromSpfile[=′路径+文件名′]
4、Oracle 参数修改
动态参数是指可以使用AlterSession或Alter System在数据库运行时进行修改并能立即生效的参数。
静态参数是指只能通过修改参数文件而且数据库必须要重新启动才能生效的参数。
参数修改命令:
SQL>Alter Session Set Parameter_Name = Value;
SQL>Alter System Set Parameter_Name = Value [Deferred];
5、Oracle 参数分类
参数的相关信息保存在视图V$SYSTEM_PARAMETER(v$parameter)中。
Displaysinformation about the initialization parameters that are currently in effectfor the instance. A new session inherits parameter values from theinstance-wide values.
SQL>desc V$PARAMETER;
Name Type Nullable Default Comments
---------------------------------- -------- ------- --------
NUM NUMBER Y Parameternumber
NAME VARCHAR2(80) Y Name of the parameter
TYPE NUMBER Y Parametertype
VALUE VARCHAR2(512) Y Instance-wide parametervalue(session或实例值)
DISPLAY_VALUE VARCHAR2(512) Y 显示名称
ISDEFAULT VARCHAR2(9) Y Indicates whether theparameter is set to the default value (TRUE) or the parameter value wasspecified in the parameter file (FALSE) (参数默认值)
ISSES_MODIFIABLE VARCHAR2(5) Y Indicates whether theparameter can be changed with ALTER SESSION (TRUE) or not (FALSE)(参数值是否可以session级可更改)
ISSYS_MODIFIABLE VARCHAR2(9) Y Indicateswhether the parameter can be changed with ALTER SYSTEM and when the changetakes effect(参数在实例启动后是否可由实例修改)
ISINSTANCE_MODIFIABLEVARCHAR2(5) Y
ISMODIFIED VARCHAR2(10) Y 实例启动后参值是否被修改,session级修改(alter session),值为MODIFIED;实例级修改(alter system),则值为SYS_MODIFIED。
根据v$system_parameter里面的issys_modifiable可以得到其中FLASE:静态参数,IMMEDIATE:动态参数,DEFERREDLEVEL级别动态参数(即只对后续session会话生效).
DEFERRED ----->也是动态参数,对于当前session无效,下一个session生效
FALSE ----->静态参数,需要重启db才能生效
IMMEDIATE ----->动态参数,立即生效
SQL> select count(*) from v$system_parameter whereissys_modifiable='FALSE';
SQL> select count(*) from v$system_parameter whereissys_modifiable='IMMEDIATE';
SQL> select count(*) from v$system_parameter whereissys_modifiable='DEFERRED';
静态参数举例:
SQL> alter system set processes=151;
alter system set processes=151
*
ERROR at line 1:
ORA-02095: specified initializationparameter cannot be modified
动态参数举例:
SQL> alter system set undo_retention=10800scope=both;
System altered.
动态参数(deferred)举例
deferred指定系统修改是否只对以后的会话生效(对当前建立的会话无效,包括执行此修改的会话)。默认情况下,ALTER SYSTEM命令会立即生效,但是有些参数不能“立即”修改,只能为新建立的会话修改这些参数。
SQL> alter system set sort_area_size = 65536;
alter system set sort_area_size = 65536
ERROR at line 1:
ORA-02096: specified initializationparameter is not modifiable with this option
SQL> alter system set sort_area_size = 65536 deferred;
System altered.
6、Oracle 参数变更生效范围
AlterSystem Set Parameter_Name = Value Scope=(Spfile、Menory、Both)
使用BOTH选项实际上等同于不带参数的ALTER SYSTEM语句
编辑推荐:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- [Oracle 11g r2(11.2.0.4.0)]集群术语和参数简介
[Oracle 11g r2(11.2.0.4.0)]集群术语和参数简介
26-03-03 - ORA-00600: internal error code, arguments: [4000], [5]
- 备份的相关概念
备份的相关概念
26-03-03 - RAC性能分析gc buffer busy acquire 等待事件
RAC性能分析gc buffer busy acquire 等待事件
26-03-03 - MAMY绘制游戏中的魔法机器人实例
MAMY绘制游戏中的魔法机器人实例
26-03-03 - Word2010如何创建构建基块
Word2010如何创建构建基块
26-03-03 - oracle DBA 角色重建
oracle DBA 角色重建
26-03-03 - MAYA结合ZBRUSH制作美女杀手CG人物
MAYA结合ZBRUSH制作美女杀手CG人物
26-03-03 - Word2010如何添加自定义项目符号
Word2010如何添加自定义项目符号
26-03-03 - oracle12c解决plsql登录CDB和PDB问题
oracle12c解决plsql登录CDB和PDB问题
26-03-03
