Oracle参数文件基础

在Oracle中,参数文件是一类较为重要的文件。在Oracle数据库启动时,是通过读取参数文件来构建实例的。参数文件指定了数据库和实例的名字,内存组件的大小和构成,控制文件的位置,强制和非强制进程的相关设置等信息。实例启动后数据库将处于nomount状态。

一、参数文件的类型

1、静态参数文件(pfile):静态参数文件也称客户端初始化文件,它是文本文件,通过客户端工具sqlplus等来读取并启动实例。
2、链接参数文件(ifile):链接参数文件时在pfile中指定的参数文件,这里可以理解为一种参数文件的通用模板。下面是一个在pfile中使用ifile的例子:

点击(此处)折叠或打开

  1. ifile='/u01/oracle/dbs/pfile'
  2. thread=1
  3. instance_name=node1
  4. instance_number=1

点击(此处)折叠或打开

  1. ifile='/u01/oracle/dbs/pfile'
  2. thread=2
  3. instance_name=node2
  4. instance_number=2
3、动态参数文件(spfile):从9i开始,Oracle引入了一种新的参数文件类型---动态参数文件。动态参数文件也称服务器端参数文件,它是二进制文件,只能通过alter system命令来修改。修改spfile中的参数的语句如下所示:
alter system set 参数名 = 参数值 scope = memory | spfile | both
说明一下scope各取值的含义:
memory:修改内存中的参数值,并立即生效,数据库重启后修改失效。
spfile:修改参数文件中的参数值,无法立即生效,数据库重启后方可生效。
both:在memory和spfile中都生效。

二、如何还原参数
还原参数时必须指定sid,根据scope的取值不同,sid应取不同的值。还原参数的语句为:alter system reset 参数名 scope = spfile | memory sid='sid' | '*'
1、当scope=spflie时,sid='*',否则将会报错。
SQL> show parameter log_archive_dest_1
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1                   string      LOCATION=/u02/arch_log
log_archive_dest_10                  string
SQL> alter system reset log_archive_dest_1 scope=spfile sid='*';
System altered.
重启后再次查看该参数
SQL> show parameter log_archive_dest_1
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1                   string
log_archive_dest_10                  string
2、当scope=memory 时,sid='sid',否则将会报错,但 此时reset并不成功。
SQL> show parameter log_archive_dest_1
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1                   string      LOCATION=/u02/arch_log
log_archive_dest_10                  string
SQL> alter system reset log_archive_dest_1 scope=spfile sid='testdb';
System altered.
SQL> show parameter log_archive_dest_1
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1                   string      LOCATION=/u02/arch_log
log_archive_dest_10                  string
3、reset时,由于不同的scope所使用的sid是不一样的,所以scope不能设置both,否则将会报错。
SQL> alter system reset log_archive_dest_1 scope=both sid='testdb';
alter system reset log_archive_dest_1 scope=both sid='testdb'
*
ERROR at line 1:
ORA-32010: cannot find entry to delete in SPFILE
SQL> alter system reset log_archive_dest_1 scope=both sid='*';
alter system reset log_archive_dest_1 scope=both sid='*'
*
ERROR at line 1:
ORA-32009: cannot reset the memory value for instance * from instance testdb

三、v$parameter视图
SQL> select isdefault,ismodified,issys_modifiable,isses_modifiable from v$parameter where name='instance_name';
ISDEFAULT ISMODIFIED ISSYS_MOD ISSES
--------- ---------- --------- -----
TRUE      FALSE      FALSE     FALSE
isdefault:该字段说明参数是否为默认值。
ismodified:该字段说明参数可在何种环境下修改:modified(会话级)、system_modified(系统级)、false(实例启动后不能修改)。
issys_modifiable:该字段说明将对参数做何种修改:immediate(修改立即生效)、deferred(延迟生效)、spfile(重启后生效)。
isses_modifiable:该字段说明参数是否可在session级修改。

四、其他和参数文件相关知识

1、Oracle参数文件默认保存位置:在Linux(unix)中,其保存在$ORACLE_HOME/dbs目录下,在windows中,其保存在$ORACLE_HOME\database目录下。
2、根据spfile创建pfile:create pfile='/u02/backup' from spfile
3、根据pfile创建spfile:create spfile from pfile='u02/backup'
4、Oracle启动时,读取参数文件的顺序:spfile@.ora ---&gt spfile.ora ---&gt init@.ora(init.ora)
5、使用指定的参数文件启动数据库:startup nomount pfile='参数文件名',如果参数文件不再当前路径,需添加路径信息。
6、如何确定实例使用何种参数文件:
    SQL> show parameter spfile
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    spfile                               string      /u01/app/oracle/product/10.2.0
                                                     /db_1/dbs/spfiletestdb.ora


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

转载于:http://blog.itpub.net/29515435/viewspace-1103845/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值