请教:为什么startup后面可以跟pfile文件而不能跟spfile文件

[复制链接]
查看11 | 回复9 | 2014-2-18 16:42:02 | 显示全部楼层 |阅读模式
启动数据库时,可以指定参数文件,但为什么startup后面可以跟pfile文件而不能直接跟spfile文件
回复

使用道具 举报

千问 | 2014-2-18 16:42:02 | 显示全部楼层
最初由 xjhns 发布
[B]启动数据库时,可以指定参数文件,但为什么startup后面可以跟pfile文件而不能直接跟spfile文件 [/B]

Oracle这样规定的,具体原因偶也想知道为什么这样

间接的方法是可以的如下
The PFILE parameter should point to a PFILE, for example initORCL.ora, not a
SPFILE (SPFILE.ORA). In order to reference a SPFILE, add the SPFILE
parameter to your PFILE (init.ora) as:
SPFILE = location of the SPFILE
回复

使用道具 举报

千问 | 2014-2-18 16:42:02 | 显示全部楼层
我猜:
spfile 必须是放在/database/目录下
而pfile却可以放在其它目录下,
数据库启动时, 查询参数文件的顺序是:spfile.ora, pfile.ora
如果有spfile就直接应用spfile启动了. (默认)
当SPFILE和PFILE都有的时候,特别需要用PFILE启动,就需要指定PFILE=
回复

使用道具 举报

千问 | 2014-2-18 16:42:02 | 显示全部楼层
up
回复

使用道具 举报

千问 | 2014-2-18 16:42:02 | 显示全部楼层
spfile是不能手工编辑的,
pfile是无法动态修改的,
可以指定pfile指向可以手工编辑的的pfile ,而不能指定pfile参数为只能通过alte system 修改的spfile
,并且启动默认指向spfile 应该是一个不错的策略;
回复

使用道具 举报

千问 | 2014-2-18 16:42:02 | 显示全部楼层
什么版本。
startup spfile ='...' 没这样的语法吧
回复

使用道具 举报

千问 | 2014-2-18 16:42:02 | 显示全部楼层
1.创建一个文本 *.ora /* /u01/oracle/dbs/*_init.ora 新创建的 *.ora的位置*/ 只写入
:spfile=/u01/oracle/dbs/test_spfile.ora /*要使用的spfile的文件位置*/
2.在执行startup命令时只需:
sql>STARTUP PFILE = /u01/oracle/dbs/*_init.ora

回复

使用道具 举报

千问 | 2014-2-18 16:42:02 | 显示全部楼层
可以通过pfile 指定spfile文件按路径
回复

使用道具 举报

千问 | 2014-2-18 16:42:02 | 显示全部楼层
规定而已,oracle 9i后就启用spfile,而如果这个spfile的参数不正确,由于是二进制无法手动修改,那pfile就上场了,那么oracle也就保留了制定pfile启动的方式,而spfile则没有追加!
回复

使用道具 举报

千问 | 2014-2-18 16:42:02 | 显示全部楼层
这个应该是语法问题吧,呵呵
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行