前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【DB笔试面试537】在Oracle中,PFILE和SPFILE的区别是什么?

【DB笔试面试537】在Oracle中,PFILE和SPFILE的区别是什么?

作者头像
小麦苗DBA宝典
发布2019-09-29 15:17:35
7470
发布2019-09-29 15:17:35
举报

题目部分

在Oracle中,PFILE和SPFILE的区别是什么?

答案部分

参数文件(Parameter File)也叫初始化文件,它主要用来记录数据库的配置文件,在数据库启动时,Oracle读取参数文件,并根据参数文件中的参数设置来配置数据库,如内存的分配,允许打开的进程数和会话数等。Oracle的参数文件主要分为2类:PFILE(Parameter File)和SPFILE(Server Parameter File)。SPFILE和PFILE的区别参考下表:

表 3-12 SPFILE和PFILE的区别

比较内容

SPFILE

PFILE

格式

二进制格式

文本格式

编辑方式

Oracle 9i之后引入的概念,不能用文本编辑工具打开,不能直接修改,只能存放在Oracle服务器端,只能使用如下几种方式修改:1、利用OEM修改2、在SQL*Plus里使用ALTER SYSTEM语句进行修改

1、利用OEM修改(重启失效)2、利用文本工具(vi、vim、本文编辑器)直接进行修改

默认名称

spfile<SID>.ora

init<SID>.ora

默认路径

Linux下:$ORACLE_HOME/dbs/spfile$ORACLE_SID.oraWindows下:%ORACLE_HOME%\database\spfile$ORACLE_SID.ora

Linux下:$ORALCE_HOME/dbs/init$ORACLE_SID.oraWindows下:%ORALCE_HOME%\database\init$ORACLE_SID.ora

启动次序

SPFILE优于PFILE

PFILE低于SPFILE

是否支持RMAN备份

可以由RMAN备份

不支持RMAN备份

互相转换

由PFILE生成SPFILE命令如下所示:CREATE SPFILE FROM PFILE;CREATE SPFILE [='路径+文件名'] FROM PFILE[='路径+文件名'];例如:CREATE SPFILE FROM PFILE='?/dbs/initlhrdb.ora';

由SPFILE生成PFILE命令如下所示:CREATE PFILE FROM SPFILE;CREATE PFILE [='路径+文件名'] FROM SPFILE[='路径+文件名'];例如:CREATE PFILE='?/dbs/initlhrdb.ora' FROM SPFILE;

是否使用SPFILE

用SHOW PARAMETER SPFILE命令来显示参数配置,假如以下结果VALUE列返回空值,那么说明使用的是PFILE,若有值,则说明使用的是SPFILE文件:SYS@lhrdb> SHOW PARAMETER SPFILENAME TYPE VALUE------------------------------------ ----------- ------------------------------spfile string +DATA/lhrdb/spfilelhrdb.ora

需要注意的是,Oracle数据库在启动时寻找参数文件的顺序如下所示,如果这些文件都不存在,那么Oracle会报错:

spfile<SID>.ora --> spfile.ora --> init<SID>.ora

& 说明:

有关参数文件spfile和pfile的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2139146/

真题1、Which three statements regarding the server parameter file (SPFILE) are true?(Choose three.)

A、An SPFILE is abinary file.

B、An SPFILE cannot reside on a client.

C、An SPFILE cannot contain static parameters.

D、An SPFILE can store changes persistently across instance restarts.

E、An SPFILE can be read by the database server,but it is not written to by the server.

F、An SPFILE must be created manually,before creating a database,even if you use the Database Configuration Assistant(DBCA) to create the database.

答案:A、B、D。

本题考察的是SPFILE的相关知识。

本题中,对于选项A,SPFILE是一个二进制文件。所以,选项A正确。

对于选项B,SPFILE不能用在客户端。所以,选项B正确。

对于选项C,SPFILE可以包含静态参数。所以,选项C错误。

对于选项D,SPFILE可以永久存储参数的值。所以,选项D正确。

对于选项E,SPFILE可以由数据库进行写入。所以,选项E错误。

对于选项F,DBCA创建的数据库不用手动创建SPFILE。所以,选项F错误。

所以,本题的答案为A、B、D。

本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档