ORACLE初始化参数文件介绍

Viewing and Modifying Initialization Parameters


初始化参数有三种修改方式:

SCOPE=MEMORY
仅当前实例中下生效,重启实例后恢复原配置。
SCOPE=BOTH
直到下一次参数值被改变之前,一直生效。
SCOPE=SPFILE
修改的值被记录再配置文件中,直到实例重启后生效。


对于动态参数还可以使用 SCOPE=DEFERRED 该设置允许设置的动态参数在下一个会话生效。当使用SCOPE=SPFILE or BOTH时可以通过COMMENT增加注解,该注解会被写入到spfile中

alter system
set SEC_MAX_FAILED_LOGIN_ATTEMPTS=3
COMMENT='Reduce from 10 for tighter security.'
SCOPE=SPFILE

About Initialization Parameters and Initialization Parameter Files
 
当oracle实例启动时,需要读取初始化参数文件,参数文件至少要指定DB_NAME参数。其它参数均为默认值。
官方文档提到这样一句话:
The initialization parameter file can be either a read-only text file, a PFILE, or a read/write binary file. The binary file is called a server parameter file. A server parameter file enables you to change initialization parameters with ALTER SYSTEM commands and to persist the changes across a shutdown and startup. It also provides a basis for self-tuning by Oracle Database. For these reasons, it is recommended that you use a server parameter file. You can create one manually from your edited text initialization file, or automatically by using Database Configuration Assistant (DBCA) to create your database.
初始化文件既可以是只读的文本文件,也可以使PFILE参数文件,或者是可读写的二进制文件。
二进制文件为server parameter file 即我们常说的spfile,该文件中的参数需要通过ALTER SYSTEM修改,并且重启后生效。
the Oracle instance first searches for a server parameter file in a default location, and if it does not find one, searches for a text initialization parameter file
oracle启动的时候会自动去默认目录下查找SPFILE,找不到的时候再找pfile
You can also override an existing server parameter file by naming a text initialization parameter file as an argument of the STARTUP command.
也可以在使用startup命令时指定读取pfile的来覆盖spfile中定义的参数。
默认目录是在ORACLE_HOME/dbs下,命名规则为initORACLE_SID.ora
参数的格式为
parameter_name=(value[,value]....)
Parameter values of type string must be enclosed in single quotes ('). Case (upper or lower) in filenames is significant only if case is significant on the host operating system.
参数值如果为字符串的必须用单引号引用。大小写区别取决于系统。
If you repeat a parameter that does not accept multiple values, then only the last value specified takes effect.
对于不允许重复的参数,仅以最后一条给定的值为准。
全局数据库名可以是主机名加域名
如: ts.cn.example.com
DB_NAME='ts'
DB_DOMAIN='cn.example.com'
DB_NAME必须是字符串且不能大于8个字符。
数据库创建过程中,DB_NAME被写入数据文件,重做日志文件和控制文件中,所以当数据库启动时如果DB_NAME与数据文件中的名字不同,数据库将无法启动。

Specifying a Fast Recovery Area
快速恢复区作为一个单独的区域,用于储存和管理备份恢复文件。

DB_RECOVERY_FILE_DEST
该区域可以定义存放在目录,文件系统,ASM磁盘组,而非裸设备文件系统上。

RECOVERY_FILE_DEST_SIZE
指定该区域的最大大小,并且需要在指定DB_RECOVERY_FILE_DEST之前指定该参数值。

在RAC(Real Application Cluster)环境,该区域必须被定义存放于集群文件系统,ASM磁盘组或类似于NFS共享文件系统上。且DB_RECOVERY_FILE_DEST及DB_RECOVERY_FILE_DEST_SIZE两个参数,RAC环境中的所有实例均需设置相同的值。
官方文档中同时说明,LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST不能与DB_RECOVERY_FILE_DEST同时启用。但是可以用LOG_ARCHIVE_DEST_n指定归档日志的路径到快速恢复区。

You cannot enable these parameters if you have set values for the LOG_ARCHIVE_DEST andLOG_ARCHIVE_DUPLEX_DEST parameters. You must disable those parameters before setting up the Fast Recovery Area. You can instead set values for the LOG_ARCHIVE_DEST_n parameters. TheLOG_ARCHIVE_DEST_1 parameter is implicitly set to point to the Fast Recovery Area if a local archiving location has not been configured and LOG_ARCHIVE_DEST_1 value has not been set.


Specifying Control Files
一般可以给数据库指定一到多个控制文件,在create database语句中,控制文件通过语句中的控制文件列表被创建。
如果在初始化参数中没有包括控制文件参数,则默认将控制文件与参数文件创建在同一个目录下。
如果使用了OMF(文件管理),则数据库创建管理控制文件。

Specifying Database Block Sizes
DB_BLOCK_SIZE初始化数据库块大小,作为系统表空间及其他表空间的默认块大小。ORACLE还支持4种非标准块大小
典型设置,DB_BLOCK_SIZE参数被设置为4k或8k,如果不设置,则调整为与操作系统块大小相同。
除重建库以外,库创建后数据块大小不可变更,数据库的块大小应该是操作系统块的整数倍。

Nonstandard Block Sizes

非标准块的指定可以通过CREATE TABLESPACE语句中的 BLOCKSIZE 子句指定。
非标准块可以指定的大小为2的次方,包括 2k,4k,8k,16k,32k。操作系统平台也影响最大非标准块的指定。
注:32k仅在64位平台下有效
注意:ORACLE建议指定2K的块大小,当磁盘扇区大小为4K时,因为性能降级可能发生(这部分主要针对redo日志块大小规划而言)。
官网上提到通常redo log的块大小与磁盘扇区大小一致。对于一些高性能的磁盘(具有4K的扇区),ORACLE会自动将redo log的块大小同样调整到4K,但是伴随而来的是递增的redo wastage现象,通过V$SYSSTAT,V$SESSTAT可以查看redo wastage的情况
SELECT name, value FROM v$sysstat WHERE name = 'redo wastage';11GR2以后可以通过CREATE DATABASE,ALTER DATABASE和CREATE CONTROLFILE语句中指定BLOCKSIZE来在线修改redo log块的大小。ALTER DATABASE orcl ADD LOGFILE
GROUP 4 ('/u01/logs/orcl/redo04a.log','/u01/logs/orcl/redo04b.log')
SIZE 100M BLOCKSIZE 512 REUSE;通过以下语句确认创建日志文件的大小:
SELECT BLOCKSIZE FROM V$LOG;这里有个关于redo wastage的概念,另外开篇分析

Specifying the Maximum Number of Processes

最大进程数设置是指连接数据库的最大进程数,这里的最小设置值必须是所有oracle系统后台进程与用户连接oracle的进程数之和,而后台进程数取决于oracle系统开启的功能  PROCESSES

Specifying the DDL Lock Timeout
DDL发生时在内部结构中需要获取排它锁,如获取不到,则无法执行成功。
DDL_LOCK_TIMEOUT指定DDL在执行失败之前请求LOCK所等待的时间,其取值范围从0到1,000,000,该参数值默认为0,既可以在系统级修改,也可以在会话级修改(ALTER SESSION)。

Specifying the Method of Undo Space Management

每一个数据库都需要有一个undo空间改变的维护信息,这些信息记录则由事务的动作组成,主要由未提交的事务组成。所收集的这些记录被称为undo data

UNDO_MANAGEMENT Initialization Parameter
该参数表明undo空间管理是否为自动模式。11g之前,当该参数被省略或为空时,默认为自动模式。

UNDO_TABLESPACE Initialization Parameter
指定undo空间自动管理时,使用的undo表空间文件,使用表空间则为数据库实例启动时使用的undo表空间。如果不指定UNDO_TABLESPACE,undo data会被写入到system表空间,应尽量避免这种情况的出现。

CREATE DATABASE的时候不需要在SPFILE中指定UNDO_TABLESPACE,仅需要指定UNDO TABLESPACE子句来指明要使用的UNDO表空间。

About The COMPATIBLE Initialization Parameter
COMPATIBLE设置为enable和disable影响磁盘中的文件格式,比如当使用11GR2时,该参数值被设置为10.0.0. 则在使用11G的功能时报错
For example:用实际oracle家目录替代
db_name='ORCL'
memory_target=1G
processes = 150
audit_file_dest='/admin/orcl/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest=''
dispatchers='(PROTOCOL=TCP)(SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace=‘UNDOTBS1’
# You may want to ensure that control files are created on separate physical
# devices
control_files = (ora_control1, ora_control2)
compatible ='11.2.0'
spfile的创建
先手工修改pfile文件,再在命令行执行CREATE SPFILE FROM PFILE='' or CREATE SPFILE='' FROM PFILE=''语句
也可以从内存中获取spfile
CREATE SPFILE FROM MEMORY;
如果创建时使用相同的SPFILE名称,已存在的SPFILE会被后创建的覆盖。
如果多个参数被写在同一行,则仅第一个参数被读取,该行后面的参数被忽略。

Clearing Initialization Parameter Values

通过ALTER SYSTEM RESET语句移除已设置的参数,修改时不允许指定SCOPE=MEMORY or BOTH,虽然可以指定SCOPE=SPFILE子句,但并非必须的。

Recovering a Lost or Damaged Server Parameter File

  1. 如果实例在运行 CREATE SPFILE FROM MEMORY
  2. 如果实例停止了,但有pfile配置参数文本的话 CREATE SPFILE FROM PFILE
  3. 如果有专门备份的话也可以通过备份恢复SPFILE(RMAN提供SPFILE的备份)
  4. 以上情况都不满足的情况下,也可以通过告警日志来恢复SPFILE


http://docs.oracle.com/cd/E11882_01/server.112/e25494/create.htm#ADMIN11107




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

转载于:http://blog.itpub.net/26664667/viewspace-1228644/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值