Oracle体系结构篇之参数文件

参数文件是一个很小的文件,包含数据库一些参数的配置(数据库名、版本,内存设置,块大小,控制文件路径,进程数和会话数等)。在数据库启动时,Oracle读取参数文件,并根据参数文件中的参数设置来配置数据库。如内存池的分配,允许打开的进程数和会话数等。

1、参数文件分类

参数文件可分为两类:

pfile:文本文件的参数文件,可以使用vi,vim等编辑器修改,文件名通常为init<sid>.ora。路径:$ORALCE_HOME/dbs/init$ORALCE_SID.ora

spfile:二进制的参数文件,不能直接修改,只能存放在Oracle服务器端,可以使用EM或指令来修改

    (alter system|session set parameter_name = values <>), 文件名通常为spfile<sid>.ora,支持RMAN备份。路径:$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora

参数文件优先级:

spfile<sid>.ora --> spfile.ora -->init<sid>.ora

spfile可以不存在

SQL> show parameter spfile;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      

如果参数文件都不存在,数据库启动时报错

SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/db_1/dbs/initbpas.ora'

2、参数文件之间的转化

两类参数文件可以相互转化

2.1、生成spfile

1)从pfile默认路径生成:create spfile from pfile;  生产的spfile保存在$ORACLE_HOME/dbs/目录下,文件名是:spfile$ORACLE_SID.ora。

2)从pfile指定路径生成:create spfile = '/u01/app/oracle/product/11.2.0/db_1/dbs/test/spfilebpas1.ora' from pfile;

3)用指定路径的pfile生成:create spfile from pfile = '/u01/app/oracle/product/11.2.0/db_1/dbs/initbpas.ora'; 

4)从memeory中生成,适用于11g以上版本:create spfile = '/u01/app/oracle/product/11.2.0/db_1/dbs/test/spfilebpas2.ora' from memory;

2.2、生成pfile文件

从spfile默认路径生成:create pfile from spfile;  生产的spfile保存在$ORACLE_HOME/dbs/目录下,文件名是:init$ORACLE_SID.ora。

pfile也可以指定路径或者从memory中生成,和spfile命令相同。

2.3、查看参数文件内容

1)可以在服务器上查看,命令:cat /u01/app/oracle/product/11.2.0/db_1/dbs/initbpas.ora

2)可以下载到本地查看

3)可以在sqlplus工具中查看,命令:ho cat /u01/app/oracle/product/11.2.0/db_1/dbs/initbpas.ora

3、查看当前使用参数文件类型

1)可以使用select distinct isspecified from v$spparameter;语句查询,如果返回TRUE说明是spfile文件启动,FALSE说明是pfile文件启动。也可能两个值都有,说明先spfile再pfile。

2)还可以通过alter system set parameter = value scope = spfile;命令查看。

例如:alter system set sga_target = 200m scope = spfile;

如果是从spfile启动不报错,否则报错:

ERROR at line 1:
ORA-32001: write to SPFILE requested but no SPFILE is in use

说明:

scope的参数

       memory : 只对当前实例有效,下次启动则失效

       spfile : 只对spfile 修改,必须经过下一次启动才生效,当前的实例没有修改

       both :内存与参数文件都将修改,当不指定scope时,缺省为both.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值