如何通过pfile来创建spfile来启动数据库

来源:互联网 发布:淘宝心愿单有什么意思 编辑:程序博客网 时间:2024/05/11 00:28

     在一些情况下,你可能需要对oracle数据库进行优化,如修改spfile中的参数配置(如:扩展sga内存区)等,但是往往不是一次就一步到位的,尤其是一不小心给的sga_max_size、shared_pool_size等的值不合理时(如超出整个物理内存,给值的时候多写一个零),虽然提示已经更改,但是一重启数据库时,对不起,数据无法open,用sqlplus登录,出现如下图的症状:

 

空闲例程 

  

解决办法:

 

1,  拷贝参数文件(位置如:$oraclehome/admin/orcl/pfile/init.ora.5162009204825)拷贝到$oraclehome/db_1/database下面,将init.ora.5162009204825文件名改为“init实例名.ora”,如:initorcl.ora(拷贝到这里的时候,可以通过参数文件启动数据库)

2,  然后在sqlplus中执行:“create spfile from pfile”,如下图所示:

 

 

 创建spfile

 

 

3,这时将在“$OracleHome/db_1/database/”路径下面生成一个spfile文件,文件命名格式为“SPFILE实例名.ORA”,如:SPFILEORCL.ORA。这时数据可以用spfile启动(可以尝试把initorcl.ora删除掉也不会影响数据库的启动了)当然也可以从$OracleHome/db_1/dbs/下面拷贝SPFILE实例名.ORA$OracleHome/db_1/database下面也可以。

 

如果在$OracleHome/db_1/database下面找不到参数文件,将出现下图的错误。

找不到文件

 

然后再次启动oracle的服务,用SQLPLUS就可以连接上数据库了.如下:

 

启动成功