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';
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值