`

(转)Oracle中PFILE和SPFILE的使用

阅读更多

 

      在9i以前,Oracle使用pfile存储初始化参数设置,这些参数在实例启动时被读取,任何修改需要重起实例才能生效,使用spfile你可以使用 ALTER SYSTEM或者ALTER SESSION来动态修改那些可动态修改的参数,所有更改可以立即生效,你可以选择使更改只应用于当前实例还是同时应用到spfile。这就使得所有对 spfile的修改都可以在命令行完成,我们可以彻底告别手工修改初始化参数文件,这就大大减少了人为错误的发生。

      SPFILE是一个二进制文件,可以使用RMAN进行备份,这样实际上Oracle把参数文件也纳入了备份恢复管理。除了第一次启动数据库需要 PFILE(然后可以根据PFILE创建SPFILE),我们可以不再需要PFILE,ORACLE强烈推荐使用spfile,应用其新特性来存储和维护初始化参数设置。

 

一. 创建SPFILE

缺省的,ORACLE使用PFILE启动数据库,SPFILE必须由PFILE创建,新创建的SPFILE在下一次启动数据库时生效,CREATE SPFILE需要SYSDBA或者SYSOPER的权限:

语法如下:

CREATE SPFILE[='SPFILE-NAME'] FROM PFILE[='PFILE-NAME']



例:

SQL> create spfile from pfile;

缺省的,spfile创建到系统缺省目录

(Unix: $ORACLE_HOME/dbs; NT: $ORACLE_HOME\database)


如果SPFILE已经存在,那么创建会返回以下错误:

SQL> create spfile from pfile;

create spfile from pfile

ERROR 位于第 1 行:

ORA-32002: 无法创建已由例程使用的 SPFILE



判断是否使用了SPFILE,你可以使用SHOW命令来显示参数设置,如果以下结果value列返回空值,那么说明你在使用pfile:

SQL> SHOW PARAMETER spfile

NAME TYPE   VALUE

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

spfile string   %ORACLE_HOME%\DATABASE\SPFILE%ORACLE_SID%.ORA


二. 使用SPFILE


重新启动数据库,使用startup命令,Oralce将会按照以下顺序在缺省目录中搜索参数文件:

a.    spfile${ORACLE_SID}.ora

缺省目录

UNIX: ${ORACLE_HOME}/dbs/

NT: ${ORACLE_HOME}\database

b.    spfile.ora

缺省目录

UNIX: ${ORACLE_HOME}/dbs/

NT: ${ORACLE_HOME}\database

c. init${ORACLESID}.ora

缺省目录

UNIX: ${ORACLE_HOME}/dbs/

NT: ${ORACLE_HOME}\database or

${ORACLE_HOME}\admin\db_name\pfile\

创建了spfile,重新启动数据库,Oracle会按顺序搜索以上目录,spfile就会自动生效。



三. 使用pfile/spfile启动数据库

如果你想使用pfile启动数据库,你可以在启动时指定pfile或者删除spfile.

SQL> startup pfile='E:\Oracle\admin\eyglen\pfile\init.ora';

你不能以同样的方式指定spfile。



四. 修改参数

可以通过ALTER SYSTEM或者导入导出来更改SPFILE的内容。

ALTER SYSTEM增加了一个新选项:SCOPE。SCOPE参数有三个可选值:MEMORY ,SPFILE , BOTH

MEMORY:只改变当前实例运行

SPFILE:只改变SPFILE的设置

BOTH:改变实例及SPFILE

注意:不带参数的ALTER SYSTEM语句等同于scope=both,如果修改静态参数,那么需要指定SPFILE参数,否则将会报错。


五. 导出SPFILE文件

SPFILE文件可以导出为文本文件,使用导出、创建过程你可以向SPFILE中添加参数。

SQL> create pfile='e:\initeyglen.ora' from spfile;

文件已创建。

然后我们可以使用这个pfile,或者手动修改其中的参数以启动数据库。

我们修改这个pfile,增加一行

*.log_archive_start=true

使用这个PFILE启动数据库

SQL> startup pfile='e:\initeyglen.ora'

ORACLE 例程已经启动。

数据库装载完毕。

数据库已经打开。

SQL> show parameter log_archive_start

NAME TYPE              VALUE

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

log_archive_start Boolean   TRUE


然后我们可以使用新的PFILE创建SPFILE

SQL> create spfile from pfile='e:\initeyglen.ora';

文件已创建。

重新启动数据库,新的SPFILE生效。

SQL> startup

ORACLE 例程已经启动。

数据库装载完毕。

数据库已经打开。

SQL> show parameter spfile

NAME TYPE            VALUE

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

spfile string            %ORACLE_HOME%\DATABASE\SPFILE%ORACLE_SID%.ORA

SQL> show parameter log_archive_start

NAME TYPE               VALUE

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

log_archive_start Boolean    TRUE


六. 关于920/10的PFILE

在$ORACLE_BASE\admin\db_name\spfile下,你很可能可以看到一个类似这样[init.ora.192003215317]名字的文件,这就是初始化

参数文件,只是跟上了时间戳。

对于Oracle920,缺省的就使用spfile启动,但是这个spfile不是凭空而来,而是根据这个文件创建而来,你可以去掉这个长后缀,就是标准的pfile文件了。

如果手动创建数据库,可以看到以下的过程:
SQL> create spfile='e:\oracle\ora10G\database\spfilesunny.ora'    FROM pfile='E:\oracle\admin\sunny\scripts\init.ora';

文件已创建。

如果你想要使用pfile启动数据库,那么你可以把spfile改名,NT缺省位于$ORACLE_HOME\database下,这样Oracle就不会使用这个spfile了 。

 

 

===========================

//另附一篇文章:

ORACLE初始化参数文件SPFILE、PFILE介绍


分享到:
评论

相关推荐

    Oracle参数文件PFILE和SPFILE介绍

    Oracle数据库系统中,参数文件是配置数据库运行方式的关键组件,主要分为PFILE(初始化参数文件)和SPFILE(服务参数文件)。这两种类型的参数文件各有特点,适用于不同的管理和操作场景。 一、PFILE(初始化参数...

    asm指定路径对pfile和spfile相互创建

    在Oracle数据库管理中,PFILE(初始化参数文件)和SPFILE(系统参数文件)是两种重要的配置文件。PFILE是以文本格式存储的初始化参数,而SPFILE是二进制格式,能够提供更快的访问速度和更高级的功能。当ASM...

    RAC中创建spfile

    在RAC环境中配置和管理spfile(服务器参数文件)是至关重要的,因为它存储了数据库实例的配置参数。 首先,我们需要了解spfile在RAC环境下的创建和使用过程。与传统的单实例数据库不同,在RAC中,数据库实例可能...

    原创文档详细说明ORACLE10G参数文件PFILE与SPFILE

    了解和熟练掌握这两种参数文件的使用和管理,对于优化Oracle数据库的性能和稳定性至关重要。在调整SGA相关参数时,要考虑到手动设置的组件和自动管理的组件之间的平衡,以确保数据库运行高效且资源得到合理利用。

    spfile&pfile

    ### Oracle 数据库中的 Spfile 和 Pfile:深入解析与实践 #### 一、概述 在Oracle数据库管理中,参数文件(Parameter File)是至关重要的组成部分,它负责存储和管理数据库的各项配置参数。根据其格式的不同,参数...

    Oracle中SPFILE文件特点及其具体操作

    - **持久性**:在SPFILE中,使用`ALTER SYSTEM`命令在线修改的参数会立即保存并永久生效,避免了手动修改参数文件的步骤。 - **RMAN支持**:RMAN(Recovery Manager)可以对SPFILE进行备份,增强了数据库恢复的...

    在oracle10g上创建spfile.doc

    同时,任何对数据库配置的长期变更都应直接在SPFILE中进行,以保持其与实例设置的一致性。 总的来说,Oracle 10g中创建SPFILE的过程涉及到启动实例、运行SQL命令以及检查和维护新生成的文件。理解这个过程对于...

    Oracle 9i SPFILE的使用

    在Oracle 9i中,一个重要的新特性被引入——SPFILE(Server Parameter File),它标志着Oracle在安全性、可靠性和管理效率上的重大提升。SPFILE作为服务器参数文件,取代了传统的文本格式的PFILE(Parameter File)...

    oracle spfile

    1. **修改SPFILE中的参数**: - 使用`ALTER SYSTEM`命令修改参数,并指定`SCOPE`为`BOTH`或`SPFILE`。 - `ALTER SYSTEM SET db_cache_size=24M SCOPE=BOTH;` - 上述命令将立即生效,并且在下次启动时仍然有效。 ...

    数据库创建spfile及修改最大连接数

    注意,这里的`SCOPE = spfile`表示修改将永久保存在spfile中,并在下次重启时生效。如果不指定`SCOPE`,则修改只在当前会话中有效。 ##### 3. 重启数据库 为了使更改生效,需要重启数据库: ```bash SHUTDOWN ...

    Oracle培训资料030710g11g参数SPFILE.ppt

    在Oracle 9i和10g中,可以使用ALTER SYSTEM或ALTER SESSION语句来动态修改SPFILE中的参数,某些参数会立即生效,而某些则需要重启实例。SPFILE的一个重要优势在于它可以被RMAN(恢复管理器)备份,这意味着参数文件...

    Oracle 管理控制台

    5. Spfile 和 Pfile:Spfile 和 Pfile 都是 Oracle 数据库的参数文件,用于存储数据库的参数配置。Spfile 是二进制格式的参数文件,而 Pfile 是文本格式的参数文件。 6. Spfile 的优点:Spfile 的优点是可以在线...

    Oracle数据库SPFILE文件特点及具体操作

    修改参数时,可以使用`ALTER SYSTEM SET`语句,配合`SCOPE`选项,来决定参数更改是仅在内存中生效(MEMORY),还是保存到SPFILE中(SPFILE),或者是两者都生效(BOTH)。如果希望更改只对未来的SESSION生效,可以...

    oracle改sga导致数据库启动异常处理办法

    首先,需要在 Linux 系统中找到 PFILE 文件目录,例如 oracle_install/admin/SID/pfile/init.ora.8282011115435,然后使用 SQL 语句创建 SPFILE: SQL> create spfile from pfile='/ oracle_install/admin/SID/...

    因配置Process参数导致Oracle监听无法启动的问题解决办法

    Oracle 数据库是一个高度复杂且广泛使用的数据库管理系统,其性能和稳定性取决于多个配置参数的恰当设置。本文主要讨论了由于配置 `Process` 参数不当导致Oracle监听器无法启动的问题及其解决方案。 `Process` 参数...

    oracle相关知识文档

    使用`ALTER SYSTEM SET`命令可以直接修改SPFILE中的参数,无需重启数据库。通过`SHOW PARAMETER`命令可以查看参数设置,`CREATE SPFILE FROM PFILE`则可以将PFILE转换为SPFILE。SPFILE还可以包含服务器参数文件...

    Oracle12c启动问题解决说明

    Oracle12c/oracle11g和oracle10g有一些区别,主要体现在spfile的位置不同。Oracle12c/oracle11g的spfile位于database目录下,而oracle10g的spfile位于dbs目录下。解决方法如下: 1、复制pfile参数文件 首先,我们...

    server_parameter_files.rar_oracle

    - **错误信息:** SPFILE中的错误信息可以帮助诊断和解决启动问题,如参数设置不正确或超出范围。 综上所述,"server_parameter_files.pdf"可能包含了如何创建、管理、优化和故障排查Oracle SPFILE的详细步骤和...

Global site tag (gtag.js) - Google Analytics