在一些情况下,你可能需要对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”,如下图所示:
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就可以连接上数据库了.如下:
当需要优化Oracle数据库,特别是调整spfile参数时,可能会遇到配置错误导致数据库无法启动。解决方法包括:1) 拷贝pfile到$oraclehome/db_1/database,改名为init实例名.ora;2) 在sqlplus中执行'create spfile from pfile',生成新的spfile;3) 移动或复制新spfile到相应路径,确保数据库能正常启动。通过这种方法,可以避免因参数配置问题引起的数据库启动失败。
890





