Oracle参数文件

初始化参数文件

  • 实例启动时Oracle将读入初始化参数文件的每个参数项,并使用这些参数来配置Oracle实例。
  • Oracle数据库中有两种参数:
    显式:在初始化参数文件中有一个参数项。
    隐式:在初始化参数文件中没有参数项,但使用Oracle的默认值 。
  • 在一个Oracle数据库中可以有多个初始化参数文件共存,但每次Oracle实例启动时只能读取(使用)一个初始化参数文件。
  • 初始化参数文件中参数项何时变化起作用取决于所使用的文件类型。
  • 两种不同类型的文件:
    静态参数文件(PFILE):该文件为文本文件,文件名通常为 init.ora 。
    动态服务器参数文件(SPFILE):该文件为二进制文件,文件名通常为 spfile.ora 。
    Oracle 8i和以前的版本只能使用静态参数文件。
    Oracle 9i及以后的版本中可以使用这两种类型的参数文件。
  • 参数文件的内容包括:
    实例名和该实例相关的数据库名
    控制文件名和位置
    系统全局区的配置
    还原段(回滚段)的配置
    该实例所能同时启动的进程数
    标准数据块的大小
    是否允许DBA远程登录
--查看当前实例是用哪种参数文件启动的
	SELECT isspecified, COUNT(*) 
	FROM v$spparameter
	GROUP BY isspecified;
--如果isspecified里有true,表明用spfile进行了指定配置;如果全为false,则表明用pfile启动。
--查看当前实例是用哪种参数文件启动的。
	show parameter spfile
--如果value有值,那么数据库就是在spfile下启动的,而pfile启动的数据库,其value值是空的。

静态参数文件

  • 静态参数文件可以使用文本编辑器进行修改。
  • Oracle只在实例启动时读取该文件,因此所做的修改要在实例下次启动时才起作用。
  • 在Oracle 11g中默认使用SPFILE启动数据库,此时PFILE存在,但只是一个模板信息,是不可用的,必须创建一个可用的PFILE才可以使用PFILE启动数据库。
  • Oracle Universal Installer(Oracle通用安装程序)在安装时会创建一个PFILE的样本文件init.ora,默认存储在$ORACLE_BASE\admin<SID>\pfile下。
  • 可以使用操作系统的复制命令通过样本文件产生所需的参数文件init.ora,如:initOrcl.ora。
  • 由于样本文件已经很老了,即使修改了可能启动时也会出错,因此,通常根据SPFILE创建PFILE。

PFILE示例
PFILE示例

动态参数文件

  • 该文件是一个二进制文件,存储在数据库服务器上,默认存储在$ORACLE_HOME\database下。
  • 该文件由Oracle服务器自动维护,无法使用文本编辑器修改,但可以使用ALTER SYSTEM语句在不关闭和启动数据库的情况下改变实例或数据库的配置。
  • 它提供了自我调优的能力,可以使用恢复管理器(RMAN)备份这一参数文件。

创建参数文件

  • 因为SPFILE是二进制文件,无法直接修改文件,所以通常通过SPFILE创建一个PFILE,然后修改PFILE中的参数值,最后再从PFILE创建SPFILE。
--根据SPFILE创建PFILE的语法:
	CREATE PFILE[=PFILE名] FROM SPFILE[=SPFILE名];

--根据PFILE创建SPFILE的语法:
	CREATE SPFILE[=SPFILE名] FROM PFILE[=PFILE名];
--通过默认的SPFILE文件创建一个默认的PFILE文件。
	 CREATE PFILE FROM SPFILE;
--必须具有SYSDBA权限才能创建参数文件
--通过默认的PFILE文件创建一个默认的SPFILE文件。
	CREATE SPFILE FROM PFILE;
--注意:无法创建已由实例使用的 SPFILE。

修改SPFILE中的参数

--修改参数值的语法:
	ALTER SYSTEM SET 参数名 =[SCOPE={SPFILE|MEMORY|BOTH}];
--SCOPE=SPFILE:修改只对SPFILE有效,不影响当前实例,需要重启数据库才能生效;
--SCOPE=MEMORY:修改只对内存有效,即只对当前实例有效,且立即生效,但不会保存到SPFILE,重启数据库后无效;
--SCOPE=BOTH:立即生效,且永久生效。
  • 注意事项:
    如果当前实例以PFILE启动,则SCOPE的默认值为MEMORY。
    如果当前实例以SPFILE启动,则SCOPE的默认值为BOTH。
    如果当前实例使用的是PFILE而非SPFILE,则SCOPE=SPFILE 或 SCOPE=BOTH 会产生错误。

查看SPFILE中的参数

  • 使用SQL *Plus命令查看参数值
--查看所有参数
	SHOW PARAMETER
--查看参数instance_name的值
	SHOW PARAMETER instance_name
  • 使用v$parameter视图查看参数值
--查看所有参数
	SELECT name, type, value 
	from v$parameter;
--查看参数instance_name的值
	select name, type, value 
	from v$parameter
	where name = 'instance_name';
Oracle 主要配置文件介绍:profile文件,oratab 文件,数据库实例初始化文件 initSID.ora,监听配置文件, sqlnet.ora 文件,tnsnames.ora 文件1.2 Oracle 主要配置文件介绍1.2.1 /etc/profile 文件 系统级的环境变量一般在/etc/profile 文件定义 在 CAMS 系统 与数据库 相关的环境变量就定义在/etc/profile 文件 如下所示 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/8.1.7 export PATH=$PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib export ORACLE_SID=cams export ORACLE_TERM=vt100 export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data export NLS_LANG=AMERICAN.ZHS16CGB231280 & 说明 1 配置上述环境变量要注意定义的先后顺序 如 定义 ORACLE_HOME 时 用 到 了 ORACLE_BASE 那 么 ORACLE_HOME 的 定 义 应 该 在 ORACLE_BASE之后 2 在使用文版 CAMS 时 环境变量 NLS_LANG 的值应该设置为 AMERICAN.ZHS16CGB231280 如上所示 在使用英文版 CAMS时 可 以不设置 NLS_LANG 即去掉 export NLS_LANG=... ... 那一行 也可以 设置 NLS_LANG 的值为 AMERICAN_AMERICA.US7ASCII1.2.2 /etc/oratab 文件 /etc/oratab 文件描述目前系统创建的数据库实例 以及是否通过 dbstart 和 dbshut 来控制该实例的启动与关闭 如下所示 忽略以#开头的注释部分 : cams:/u01/app/oracle/product/8.1.7:Y 其 cams 为实例 ID /u01/app/oracle/product/8.1.7为 ORACLE_HOME目 录 Y表示允许使用 dbstart和 dbshut 启动和关闭该实例数据库 如果设置为 N 表示不通过 dbstart 和 dbshut 启动和关闭实例数据库 CAMS 系统要求在 安装完 ORACLE 后要求将该参数修改为 Y 以保证 ORACLE 数据库自启动 和关闭 1.2.3 数据库实例初始化文件 initSID.ora 每个数据库实例都有一个初始化 参数文件 其缺省 存放的路径为 $ORACLE_BASE/admin//pfile 其名称为 init.ora 如 cams 实 例 对 应 的 参 数 文 件 为 initcams.ora 缺 省 存 放 路 径 为 $ORACLE_BASE/admin/cams/pfile 即/u01/app/oracle/admin/cams/pfile
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值