深入解析oracle-参数及参数文件
Author:高进波
Time:2009-11-14
深入解析oracle DBA入门,进阶与诊断案例 学习笔记
第三章 参数及参数文件
在oracle数据库中,有一系列的初始化参数用来进行数据库约束和资源限制,初始化参数对数据库来说非常重要。
初始化参数分为3类:
。推导参数
。操作系统依赖参数
。可变参数
1.推导参数(derived parameters)
select name,value from v$parameter where name in (‘processes’,'sessions’);
processes参数代表oracle并发连接数,合理设置processes参数是十分重要的,超过最大进程数,dba也无法登录数据库。
通常在创建数据库时,建议将该参数值修改为500,我机器默认是150
alter system set processes=500 scope=spfile;
重启后看修改过的值
select name,value from v$parameter where name=’processes’;
select * from v$sgastat where name=’processes’;
2.操作系统依赖参数
某些参数的有效值或者取值范围受限于操作系统,比如db_cache_size参数,设置oracle使用的buffer cache内存大小,该参数
的最大值就要受限于物理内存,这一类参数通常被称为操作系统依赖参数。
3.可变参数
可变参数包含绝大多数潜在影响系统性能的可调整参数,某些可变参数设置的是限制条件,如open_cursors,有的是设置容量,如
db_cache_size等
初始化参数的获取
show parameter sga
使用sql_trace跟踪当前会话
alter session set sql_trace=true;
show parameter sga;
alter session set sql_trace=false;
4.参数文件
。初始化参数文件(initialization parameter files) PFILE,文本文件,可手工修改
。服务器参数文件(server parameter files) SPFILE,二进制文件,不能手工修改
cd /var/oracle11g/app/dbs
file init.ora
file spfilehugwww.ora
SPFILE文件,对于参数的修改都可以在命令行完成,在sqlplus中通过alter system 修改参数
select sid,name,value from v$spparameter where value is not null;
show spparameter;
show spparameter memory_target;
在通过pfile中调用spfile,使用后设置的参数复盖spfile中的参数设置,是解决spfile中参数设置错误的一种方法
5.修改参数
可以通过alter system或者导入导出来更改spfile的内容
scope新选项,有3个可选值:
memory 只改变当前实例,重启数据库后失效
spfile 只改变spfile的设置,不改变当前实例,重启数据库后生效
both 同时改变实例及spfile,当前更改立即生效,重启后仍然有效
在rac环境,可以指定sid=<实例名>
用法:
1).scope=memory
show parameter db_cache_ad
alter system set db_cache_advice=off scope=memory;
show parameter db_cache_ad
重启数据库后更改失效
2).scope=spfile
alter system set db_cache_advice=off scope=spfile;
show parameter db_cache_ad
当前实例不受影响,重启后生效
3).scope=both
alter system set db_cache_advice=off scope=both;
alter system set db_cache_advice=off;
show parameter db_cache_ad
不带scope参数和scope=both是一样的,如果修改的是静态参数,那么需要指定spfile参数,不能指定both参数,否则会报错
如:
alter system set sql_trace=false scope=both;
alter system set sql_trace=false scope=spfile;
6.在关闭数据库状态修改spfile
如果错误修改了参数导致数据库无法启动,则可以通过创建pfile文件,修改其中的参数,再由pfile创建spfile的方式解决,最后由
spfile正常启动数据库,通过这种方式,可以快速修正spfile中的错误参数定义
故障演示,修改db_block_buffers=1000导致数据库不能启动
startup;
alter system set db_block_buffers=1000 scope=spfile;
shutdown immediate;
startup;
解决方法:
create pfile from spfile;
!vi /var/oracle11g/app/dbs/inithugwww.ora
将包含db_block_buffers=1000的那行删除
create spfile from pfile;
startup;
7.其他
重置spfile中设置的参数
alter system reset parameter <scope=memory|spfile|both>
判断是否使用了spfile
如果查询返回空值,那么说明在使用pfile
方法1:
select name,value from v$parameter where name=’spfile’;
方法2:
show parameter spfile
指定pfile文件启动实例
startup pfile=$ORACLE_HOME/dbs/inityang.ora
8.spfile的备份与恢复
oracle把spfile也放到rman的备份恢复策略当中,如果配置了控制文件自动备份,oracle会在数据库发生重大变化时自动进行
控制文件及spfile文件的备份。
1)设置控制文件自动备份
rman target /
configure controlfile autobackup on;
查询:
sql>select * from v$rman_configuration;
2)更改自动备份的位置
rman>configure controlfile autobackup format for device type disk to ‘/var/oracle11g/obak/control%F’
3)检查自动备份
sql>select * from v$backup_spfile;
rman target /
list backup of spfile;
4)记录数据库变化
create tablespace yang datafile ‘/var/oracle11g/app/base/oradata/hugwww/yang01.dbf’ size 5M;
5)测试
rman target /
restore spfile to ‘/tmp/spfileyang.ora’ from autobackup;
restore controlfile to ‘/tmp/control01.ctl’ from autobackup;
ls -ltr /tmp/*
如果数据库无法mount,是不能使用以上方法恢复自动备份的控制文件或者参数文件,可手工临时编辑一个pfile文件启动
实例,即可进行spfile恢复
注意:自动备份功能缺省是关闭的,强烈推荐大家用上面的方法打开这个功能。
9.oracle11g参数文件恢复
从oracle11g开始,恢复实例参数引入了一个新的命令
create <spfile|pfile> from memory;
create spfile=’/tmp/spfile.ora’ from memory;
10.如何设置events事件
events事件是oracle重要的诊断工具及问题解决办法,很多时候需要通过events设置来屏蔽或更改oracle的行为
alter system set event=’10841 trace name context forver’ scope=spfile;
startup force;
show parameter event
取消event参数设置
show parameter event
alter system reset event scope=spfile sid=’*';
startup force;
show parameter event
从oracle10g开始,修改数据库的归档模式不需要设置log_archive_start参数,通过以下方法设置:
sqlplus "/as sysdba"
archive log list;
alter database archivelog;
alter database open;
archive log list;
注意:鉴于告警日志文件的重要作用,当数据库出现故障时,通过我们最先的处理步骤是检查日志文件,以便发现相关错误信息,快
速找到问题所在,这是dba必须明确的一个知识点
位置:
show parameter background_dump_dest;
显示错误号的意思,用如下命令
$oerr ora 30012
完成!
五月 2nd, 2011 at 05:22
Some Other Websites I Like…
[...]http://www.panicattackstreatmentcure.net/links/ Below are some totally unrelated websites to mine, however, they are really worth checking out[...]…
五月 3rd, 2011 at 04:58
Recent Websites I Like…
[...]here are some other links to sites that I link to because I think they are really worth visiting: http://www.panicattackstreatmentcure.net/links/…...
六月 25th, 2011 at 00:08
Sites we Like……
[...] Every once in a while we choose blogs that we read. Listed below are the latest sites that we choose [...]……
九月 3rd, 2011 at 03:24
Blogs you should be reading……
[...]Here is a great blog you might find Interesting that we encourage you[...]……