Oracle参数及参数文件7大类解析
创始人
2024-06-28 14:20:29
0

学过Oracle的人都知道,Oracle参数对数据库初始化来说非常重要。 因为Oracle初始化参数能够对数据库约束和资源限制,下面就有关Oracle参数及参数文件设置进行讲述。

初始化参数分为3类:
推导参数
操作系统依赖参数
可变参数

1.推导Oracle参数(derived parameters)

  1. select name,value from v$parameter where name in (‘processes’,’sessions’);   

processes参数代表oracle并发连接数,合理设置processes参数是十分重要的,超过***进程数,dba也无法登录数据库。

通常在创建数据库时,建议将该参数值修改为500,我机器默认是150

  1. alter system set processes=500 scope=spfile;   

重启后看修改过的值

  1. select name,value from v$parameter where name=’processes’;   
  2. select * from v$sgastat where name=’processes’;   

2.操作系统依赖参数

某些参数的有效值或者取值范围受限于操作系统,比如db_cache_size参数,设置oracle使用的buffer cache内存大小,该参数
的***值就要受限于物理内存,这一类参数通常被称为操作系统依赖参数。

3.可变Oracle参数

可变参数包含绝大多数潜在影响系统性能的可调整参数,某些可变参数设置的是限制条件,如open_cursors,有的是设置容量,如
db_cache_size等

初始化参数的获取
show parameter sga

使用sql_trace跟踪当前会话

  1. alter session set sql_trace=true;   
  2. show parameter sga;   
  3. alter session set sql_trace=false;  

4.Oracle参数文件

初始化参数文件(initialization parameter files) PFILE,文本文件,可手工修改
服务器参数文件(server parameter files)         SPFILE,二进制文件,不能手工修改

  1. cd /var/oracle11g/app/dbs   
  2. file init.ora   
  3. file spfilehugwww.ora   

SPFILE文件,对于参数的修改都可以在命令行完成,在sqlplus中通过alter system 修改参数

  1. select sid,name,value from v$spparameter where value is not null;   
  2. show spparameter;   
  3. show spparameter memory_target;   

在通过pfile中调用spfile,使用后设置的参数复盖spfile中的参数设置,是解决spfile中参数设置错误的一种方法

5.修改参数

可以通过alter system或者导入导出来更改spfile的内容
scope新选项,有3个可选值:
memory    只改变当前实例,重启数据库后失效
spfile    只改变spfile的设置,不改变当前实例,重启数据库后生效
both    同时改变实例及spfile,当前更改立即生效,重启后仍然有效
在rac环境,可以指定sid=<实例名>

#p#

用法:

  1. 1).scope=memory   
  2. show parameter db_cache_ad   
  3. alter system set db_cache_advice=off scope=memory;   
  4. show parameter db_cache_ad   

重启数据库后更改失效

2)

  1. .scope=spfile   
  2. alter system set db_cache_advice=off scope=spfile;   
  3. show parameter db_cache_ad   

当前实例不受影响,重启后生效

3).

  1. scope=both   
  2. alter system set db_cache_advice=off scope=both;   
  3. alter system set db_cache_advice=off;   
  4. show parameter db_cache_ad   

不带scope参数和scope=both是一样的,如果修改的是静态参数,那么需要指定spfile参数,不能指定both参数,否则会报错
如:

  1. alter system set sql_trace=false scope=both;   
  2. alter system set sql_trace=false scope=spfile;   

6.在关闭数据库状态修改spfile

如果错误修改了参数导致数据库无法启动,则可以通过创建pfile文件,修改其中的参数,再由pfile创建spfile的方式解决,***由
spfile正常启动数据库,通过这种方式,可以快速修正spfile中的错误参数定义

故障演示,修改db_block_buffers=1000导致数据库不能启动

  1. startup;   
  2. alter system set db_block_buffers=1000 scope=spfile;   
  3. shutdown immediate;   
  4. startup;   

解决方法:

  1. create pfile from spfile;   
  2. !vi /var/oracle11g/app/dbs/inithugwww.ora   
  3. 将包含db_block_buffers=1000的那行删除   
  4. create spfile from pfile;   
  5. startup;   

#p#

7.其他

重置spfile中设置的参数
alter system reset parameter

判断是否使用了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)设置控制文件自动备份

  1. rman target /   
  2. 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恢复

注意:自动备份功能缺省是关闭的,强烈推荐大家用上面的方法打开这个功能。

#p#

9.oracle11g参数文件恢复
 
从oracle11g开始,恢复实例参数引入了一个新的命令
create from memory;
create spfile=’/tmp/spfile.ora’ from memory;

10.如何设置events事件
events事件是oracle重要的诊断工具及问题解决办法,很多时候需要通过events设置来屏蔽或更改oracle的行为

  1. alter system set event=’10841 trace name context forver’ scope=spfile;   
  2. startup force;   
  3. show parameter event   

取消event参数设置

  1. show parameter event   
  2. alter system reset event scope=spfile sid=’*';   
  3. startup force;   
  4. show parameter event   

从oracle10g开始,修改数据库的归档模式不需要设置log_archive_start参数,通过以下方法设置:

  1. sqlplus "/as sysdba"   
  2. archive log list;   
  3. alter database archivelog;   
  4. alter database open;   
  5. archive log list;   

注意:鉴于告警日志文件的重要作用,当数据库出现故障时,通过我们***的处理步骤是检查日志文件,以便发现相关错误信息,快
速找到问题所在,这是dba必须明确的一个知识点
位置:
show parameter background_dump_dest;

显示错误号的意思,用如下命令
$oerr ora 30012

完成!

【编辑推荐】

  1. 修改Oracle存储过程所需代码
  2. 对Oracle存储过程的总结
  3. 实现Oracle存储过程的实际应用的代码 
  4. 深入高性能的Oracle动态SQL开发 
  5. Oracle SQL的优化规则解析 

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...