视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
ORACLESPFILE与PFILE学习
2020-11-09 15:42:27 责编:小采
文档


今天遇到一个错误,具体错误过程如下: --提示无法修改指定的参数SQL alter system set memory_max_target=3072M;alter system set memory_max_target=3072M *ERROR at line 1:ORA-02095: specified initialization parameter cannot be modified--至更改参

今天遇到一个错误,具体错误过程如下:

--提示无法修改指定的参数
SQL> alter system set memory_max_target=3072M;
alter system set memory_max_target=3072M
 *
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified

--至更改参文件
SQL> alter system set memory_max_target=3072M scope=spfile;
alter system set memory_max_target=3072M scope=spfile
*
ERROR at line 1:
ORA-32001: write to SPFILE requested but no SPFILE is in use

提示没有使用参数文件,查看数据文件
SQL> show parameter spfile

NAME	 TYPE	 VALUE
------------------------------------ ----------- ------------------------------
spfile	 string

spfile的值为空,说明数据库启动不是使用的spfile,是使用的pfile启动的。缺省情况下,spfile是linux的 $ORACLE_HOME/dbs 下的 spfile+$ORACLE_SID.ora文件,查看文件是否存在
[oracle@localhost dbs]$ ls $ORACLE_HOME/dbs
hc_orcl11g.dat hc_orcl.dat init.ora initorcl.ora lkORCL orapworcl snapcf_orcl.f 

spfile不存在,于是创建spfile
SQL> create spfile from pfile;

File created.
在目录 $ORACLE_HOME/dbs 下就生成了 spfileorcl.ora 文件,下面是spfile 和pfile的相关知识

spfile是9i以后才有的,在9i 以前,Oracle 使用pfile 存储初始化参数配置,这些参数在实例启动时被读取,不能动态修改,可以用普通的编辑器修改,任何修改需要重起实例才能生效。

使用spfile 您能够使用ALTER SYSTEM 或ALTER SESSION来动态修改那些可动态修改的参数,部分修改需要重启数据库后才能生效,在修改时能够选择使更改只应用于当前实例,还是同时应用到spfile。这就使得任何对spfile 的修改都能够在命令行完成,我们能够完全告别手工修改初始化参数文档,这就大大减少了人为错误的发生。
  SPFILE 是个二进制文档,能够使用RMAN 进行备份,这样实际上Oracle 把参数文档也纳入了备份恢复管理。除了第一次启动数据库需要PFILE(然后能够根据PFILE 创建SPFILE),我们能够不再需要PFILE,ORACLE 强烈推荐使用spfile,应用其新特性来存储和维护初始化参数配置。


补充:

/*

参数文件(10g中的参数文件)

主要用来记录数据库的配置文件,在数据库启动时,Oracle读取参数文件,并根据参数文件中的参数设置来配置数据库。

如内存池的分配,允许打开的进程数和会话数等。

两类参数文件:

pfile:文本文件的参数文件,可以使用vi,vim等编辑器修改,文件名通常为init.ora

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

(alter system|session set parameter_name = values <>),

文件名通常为spfile.ora,支持RMAN备份。

优先级别:

Oracle 启动读取参数文件的顺序,如果个文件都不存在,则Oracle会报错

spfile.ora --> spfile.ora -->init.ora

参数文件的路径:*/

spfle:$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora

pfile(9i):$ORALCE_HOME/dbs/init$ORALCE_SID.ora /*10g以后一般不用init.ora*/

pfile(10g):$ORALCE_BASE/admin/$ORACLE_SID/pfile /*仅当数据库初始化时使用*/

pfile:$ORACLE_HOME/dbs/init.ora /*默认*/

/*

参数文件之间的转化

spfile 转化为pfile

pfile 转换为spfile

从spfile来生成pfile

create pfile from spfile ,执行完毕后,pfile 将保存为$ORACLE_HOME/dbs/init$ORACLE_SID.ora

也可以指定pfile 的路径:create pfile = '

' from spfile;

由pfile 生成spfile

create spfile from pfile

create spfile from pfile = '

'

create spfile = '

' from pfile

11g中的新指令,从memeory中生成

create spfile = '

' from memeory

*/


参考:http://blog.csdn.net/leshami/article/details/5559174

下载本文
显示全文
专题