oracle之参数文件

零. 参数文件的含义
参数文件的作用:
  • 设定数据库的限制
  • 设定用户或者进程的限制
  • 设定数据库资源的限制
  • 调整系统的性能
数据库通过读取参数文件,分配内存空间,启动后台进程,启动到nomount状态
一.两种参数文件的区别
1.pfile ---->init.ora
文本
能被编辑器修改 
能放在oracle客户端也能放在oracle服务器端
不能被rman备份

2.spfile  
二进制文件
修改方式:alter system/session set parameter_name=values<>; 
只能放在oracle服务器端
能被rman备份

二.oracle启动时要打开参数文件,优先级如下:
spfile.ora>spfile.ora>init.ora

三.参数文件的位置:
spfile:$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora
pfile::$ORACLE_HOME/dbs/init$ORACLE_SID.ora

四.指定参数文件启动
startup pfile='/u01 /oracle /10g/ dbs/initorcl.ora'
可以通过 show parameter spfile 查看当前数据用了那种spfile文件

五.两种参数文件的复制:
create pfile/spfile="..." from spflie/pfile="..."
(路径可写可不写,不写为默认路径)
11g|:create spfile="..." from memory

六.spfile参数文件的修改
alter system/session set parameter_name=values scope=memory|spfile|both;
scope中的memory表示修改的参数只在当前都生效,下次启动实例无效
               spfile表示当前不生效,参数文件生效,所以下次启动才生效
               both表示当前和spfile参数文件都生效(默认)
系统中总共存在三种状态的参数:
immediate   动态参数     alter system set parameter_name=values scope=memory|spfile|both;
false       静态参数      alter system set parameter_name=values scope=spfile;
deferred    会话参数    alter session set parameter_name=values scope=memory|spfile|both;

七.显示参数
show parameter 参数名;
select name,value from v$parameter;(所有参数)
select sid,name,value from v$spparameter where value is not null;(spfile中定义的参数
八.隐藏参数文件(不建议使用)
隐藏参数 (hidden parameters) ,由oracle内部使用,以 '_' 开头。
隐藏参数是oracle官方不推荐用户使用的参数,官方文档对这些参数介绍也不多,若是隐藏参数没有正确使用会导致严重的后果。
但是有时候我们遇到了一些问题,这些隐藏参数却又能达到意想不到的效果。
比如:当我们在做恢复时,备份有问题,只能将数据库恢复到不一致状态,这时可以借助某个隐藏参数,让oracle跳过一致性检查打开从而数据库。
查看方式:
SELECT i.ksppinm name,
       i.ksppdesc description,
       CV.ksppstvl VALUE,
       CV.ksppstdf isdefault,
       DECODE(BITAND(CV.ksppstvf, 7),
              1,
              'MODIFIED',
              4,
              'SYSTEM_MOD',
              'FALSE') ismodified,
       DECODE(BITAND(CV.ksppstvf, 2), 2, 'TRUE', 'FALSE') isadjusted
  FROM sys.x$ksppi i, sys.x$ksppcv CV
 WHERE i.inst_id = USERENV('Instance')
   AND CV.inst_id = USERENV('Instance')
   AND i.indx = CV.indx
   AND i.ksppinm LIKE '/_%' ESCAPE '/'
 ORDER BY REPLACE(i.ksppinm, '_', '');
或者
SELECT ksppinm, ksppstvl, ksppdesc
  FROM x$ksppi x, x$ksppcv y
 WHERE x.indx = y.indx
   AND TRANSLATE(ksppinm, '_', '#') LIKE '#%';

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31386161/viewspace-2129557/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31386161/viewspace-2129557/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值