ORACLE PILE 与 SPFILE

来源:互联网 发布:交通事故数据统计最新 编辑:程序博客网 时间:2024/05/16 12:00

1、PFILE

PFILE的全名称为 parameter file 参数文件,是一种基于文本格式的参数文件,其中含有数据库的配置参数

PFILE的文件名称为initSID.ora,该文件位置放置在 $ORACLE_HOME/dbs目录下面,这是一个文本文件,可以用任何文本编辑工具打开。

创建PFILE的时候,采用如下命令:

cp  init.ora  $ORACLE_HOME/dbs/initorcl.ora

在获得该文件之后,可以通过编辑initorcl.ora文件,修改适合自己运行环境的参数,建议不要使用oracle提供的初始化参数,这个文档相对而言有点老。

在这份文档当中,需要修改的参数有以下几个方面:

db_name = orcl

#添加 db_block_size

db_block_size = 8192

control_files = ('目录/control01.ctl','目录/control02.ctl','目录/control03.ctl')


2、SPFILE(该文件为oracle9i之后引入的概念)

SPFILE全称为:Server Parameter File,服务器参数文件,该文件是基于二进制格式的参数文件,含有数据库及例程的参数和数值,但不能用文本编辑工具打开,在动态修改参数的时候,需要执行以下的SQL语句:

alter system set parameter = Value

scope = {spfile | both | memory};

SCOPE参数有三个可选值:

MEMORY : 只改变当前实例运行

SPFILE : 只改变SPFILE的设置(如果修改的是静态参数,则必须制定SCOPE=SPFILE,否则将会报ORA-02095错误);

BOTH : 只改变实例以及SPFILE(使用BOTH选项实际上等同于不带参数的ALTERSYSTEM语句)。


SPFILE->spfileSID.ora,位置放在$ORACLE_HOME/dbs目录下面

根据PFILE创建SPFILE,在启动instance实例之前或之后都可以创建SPFILE,其穿件语句如下所示:

CREATE SPFILE = '$ORACLE_HOME/dbs/spfileDBA01.ora'  

from PFILE = 'ORACLE_HOME/dbs/initDBA01.ora';


同时也可以使用缺省的方式来创建SPFILE

create spfile from pfile;


查看SPFILE等二进制文件 使用

strings fpfileorcl.ora

修改SPFILE文件的内容可以使用如下的SQL语句:

alter system set parameter = vlaue <comment = 'text'>  <deferred>  <scope = memory | spfile | both> <sid = 'sid l *'>

其中deferred表示延迟生效,可以通过show parameter fast_start 查看 fast_start_开头的所有参数是否已经生效。


删除或重置SPFILE参数回缺省值:

alter system set undo_suppress_errors = ture;

alter system reset undo_suppress_errors scope = both sid = ' ';


3、根据SPFILE创建PFILE

在这里需要注意,在进入sqlplus后,就可以创建,不一定要启动数据库。还有lock_sga参数只能在AIX操作系统中有效,在Linux和Unix系统中是无效的,让SGA尽量驻留内存的办法就是修改SGA区内存的大小。

create pfile from spfile;


4 、oracle 数据库的启动顺序

用startup启动的顺序,这种启动的方式是oracle数据库的默认启动方式

首先、直接在默认路径下查找spfileSID.ora -- (spfile),如果没有,则再查找 第二步;

其次、直接在默认路径下查找spfile.ora 如果没有,则再查找 第三步

再次、直接在默认路径下查找initSID.ora -- (pfile),如果还没有,则会报错误


采用startup pfile = 的方式启动

首先,需要指定 pfile: startup pfile = $ORACLE_HOME/dbs/initSID.ora

其次,使用spfile启动,需要变通一下,如vi 一个pfile文件aaa.ora,包含一下内容:

spfile = $ORACLE_HOME/dbs/spfile/spfileSID.ora

再用startup pfile = $ORACLE_HOME/dbs/aaa.ora启动即可

若使用两种方式,级别会高于直接用startup启动的方式。


0 0
原创粉丝点击