初始化参数文件介绍

1.初始化参数文件 initializationparameter files;

初始化参数文件是最重要的文件之一,实例启动时读入此文件的参数,并使用这些参数来配置ORACLE INSTANCE;数据库运行期间不锁定参数文件。

初始化参数的分类:

按照得出方式不同,初始化参数可以分为3类:推导参数,操作系统依赖参数和可变参数。

推导参数 derived parameters,通常来自于其它参数的运算,依赖其它参数得出。通常不需要修改。

操作系统依赖参数,如db_cache_size参数,设置ORACLE  buffer cache内存大小,此参数大小受限于物理内存

可变参数:此类参数通常可以被调整,从而产生限制或性能变化。

按照修改方式划分 ,可分为静态参数和动态参数。静态参数只能在参数文件中修改,重启后生效。动态参数可以动态调整,调整后即生效。

按获取方式不同,初始化参数可以分为显示参数和隐含参数。显示参数可以通过v$parameter查询出,隐含参数通常以_开关,通过查询系统表才能获得。在初始化参数文件中没有参数项,但使用ORACLE默认值.

ORACLE_SID从ORACLE 10G开始,参数文件不再记录INSTANCE_NAME,此时INSTANCE_NAME动态从系统ORACLE_SID获得。将保持一致。

2.有两种不同类型的初始化参数文件

静态参数文件 PFILE,此文件为文本文件。动态参数文件 spfile,此文件为二进制文件,ORACLE9I后缺省使用SPFILE启动数据库。 静态参数文件一般名为:initSID.ora  动态参数文件名一般为spfileSID.ora   SID为实例名。

静态参数文件PFILE,在11G中位置为:$ORACLE_HOME\database\

可以直接使用操作系统的复制命令来进行备份。使用写字板来查看文件内容。

查询使用的是动态还是静态参数文件五种方法:VALUE值是空则为静态参数文件

SQL> show parameter spfile;

NAME   TYPE        VALUE

------- ------------------------------------

spfile string C:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\SPFILEORCL.ORA

BYS|HELLO>select name,value from  v$parameter where name= 'spfile';

BYS|HELLO>select count(*) from  v$spparameter where value is not null;

BYS|HELLO>select  isspecified,count(*) from  v$spparameter group by isspecified;

BYS|HELLO>select  decode(count(*),1,'spfile','pfile') used from v$spparameter where rownum=1 and  isspecified='TRUE';这是上一句的引申。

静态参数文件是一个包含一系列参数及参数对应值的操作系统文件,有初始化参数文件,PFILE,文本文件可手工修改。

服务器参数文件SPFILE: server parameter files 二进制文件,不能手动修改,使用  alter system set 来设置修改。

视图v$spparameter用于记录SPFILE文件中设置的初始化参数。

SQL>select sid,name,value from v$parameter where value is not null;

视图v$system_parameter用于显示对当前实例级别生效的参数设置,是系统级别的参数设置。一个会话创建时,首先从此视图继承参数设置,v$parameter用于显示会话级别生效的参数设置,如果在会话级别修改了参数,这里的参数值可能与v$system_parameter显示的不同。

还存在一个v$parameter2视图,与v$parameter不同在于如果参数有多个值,它分多行显示。如三行控制文件

查询参数文件信息:

v$parameter2与v$parameter显示时的区别

BYS@ bys3>select name,value from V$PARAMETER2 where name like '%control_files%';
NAME                 VALUE
-------------------- ----------------------------------------
control_files        /u01/oradata/bys3/control01.ctl
control_files        /u01/oradata/bys3/control02.ctl

BYS@ bys3>select name,value from V$PARAMETER where name like '%control_files%';
NAME                 VALUE
-------------------- ----------------------------------------
control_files        /u01/oradata/bys3/control01.ctl, /u01/or
                     adata/bys3/control02.ctl

SQL>show parameter   这个命令实际上是在后台查询v$parameter视图。

SQL>show spparameter

SQL>show parameter sga

NAME                                 TYPE        VALUE

----------------------------------------------- ---------

lock_sga                             boolean     FALSE

pre_page_sga                         boolean     FALSE

sga_max_size                         big integer 412M

sga_target                           big integer 0

3.参数文件的搜索顺序:在缺省目录$ORACLE_HOME/database下搜索SPFILESID.ORA——SPFILE.ORA——PFILESID.ORA

创建动态参数文件 create spfile frompfile  ORACLE    用默认的PFILE产生一个默认位置和名字的SPFILE

也可以从指定的PFILE生成指定的SPFILE。ORACLE运行期间未锁定SPFILE文件。

create spfile='C:\DBHOME_1\DATABASE\SPFILEORAC.ORA'  from  pfile='C:\oracle\admin\orac\pfile\initorcl.ora';

4.部分参数介绍:

DB_NAME:
实例启动的最少参数要求,有此参数,数据库实例就可以启动。
可以新建INIT.ORA只包括此参数测试。

它代表了实例即将连接的数据库名称,关系到具体的物理文件。单实例数据库DB_NAME与INSTANCE_NAME可设置相同,RAC环境下多实例对应一个数据库,两者不同。

DB_NAME用来定义数据库名称,必须是不超过8个字符的文本串,数据库创建过程中,DB_NAME被记录在数据文件、日志文件、控制文件,实例启动过程中参数文件中DB_NAME与控制文件中不一致,则数据库不能启动。

一个实例可以MOUNT并打开任何数据库,同一时间一个实例只能打开一个数据库。

一个数据库可以被一个或多个实例MOUNT并打开,如RAC

主机,实例,数据库关系:
比如实例是男人,数据库是女人,主机就是一张大床。
正常情况下,同一时间一男只能打开一女,而理论上一男能打开任意女滴。
一女理论上可以被任意一个男打开,也可以同时被多个男打开----RAC/3P-NP。
一张大床(主机)可以睡一个男人(实例)和一个女人(库),只要床足够大,也可以睡多个男人和多个女人。

使用任意实例名来打开数据库测试 --- http://blog.csdn.net/q947817003/article/details/16337309
ORACLE_SID:

ORACLE System IDentifier的缩写, ORACLE_SID以环境变量形式出现。ORACLE实例由一块共享内存区域SGA和一组后台进程background process组成,后台进程是数据库与操作系统运行交互的通道。比如JORACLE根据ORACLE_SID决定查找参数文件并启动实例。

INSTANCE_NAME 在数据库内部ORACLE_sid关联概念就是INSTANCE_NAME,ORACLE存在的初始化参数INSTANCE_NAME用于标示数据库实例名字缺省值是ORACLE_SID,在数据库内部视图V$INSTANCE中记录着INSTANCE_NAME,来自数据库实例的SID,始终与ORACLE_SID保持一致。

从动态参数文件创建静态参数文件为:

create pfile from spfile;

create pfile='C:\DBHOME_1\DATABASE\initorcl.ora'  from spfile=' C:\DBHOME_1\DATABASE\SPFILEORAC.ORA';

5.如何修改初始化参数:

Alter system命令或者导入导出SPFILE内容修改。Alter system  的SCOPE参数有3个可选值,MEMORY,只改变当前实例,重启数据库后失效。SPFILE,只改变SPFILE,不改变当前实例,重启后生效。对于静态参数,只能指定SCOPE=SPFILE进行修改。BOTH,同时改变实例及SPFILE,当前生效,重启后有效。默认不加SCOPE参数时就是BOTH此参数。

命令示例:

Alter system set db_cache_advice=off scope=memory;

Alter system set db_cache_advice=off scope=spfile;

Alter system setdb_cache_advice=off scope=both;这两条命令等效。

Alter system setdb_cache_advice=off;

RAC环境需要指定SID名称,指定为*对所有实例生效

Alter system set db_cache_advice=off  sid=’*’  scope=spfile;

Alter system set db_cache_advice=off  sid=’orcl’ scope=spfile;

6.重置SPFILE中设置的参数:

Alter system reset open_cursors scope=both;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值