当spfile文件中的参数修改错误,导致数据库无法启动问题

问题描述:

当修改了参数文件spfile中的参数之后,数据库无法启动

解决方法:

一:利用sqlplus来创建pfile来重新启动数据库

[oracle@kel sqlldr]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Thu May 23 19:28:07 2013

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> create pfile from spfile;

File created.
然后找到新创建的pfile文件,修改刚刚修改的参数,进行还原,然后再进入sqlplus使用:

[oracle@kel sqlldr]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Thu May 23 19:29:20 2013

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup pfile=$ORACLE_HOME/dbs/initorcl.ora  ----必须填写pfile的完整路径或者sqlplus在当前pfile文件路径下直接写文件名
ORACLE instance started.

Total System Global Area  176160768 bytes
Fixed Size		    2019384 bytes
Variable Size		  121638856 bytes
Database Buffers	   50331648 bytes
Redo Buffers		    2170880 bytes
Database mounted.
Database opened.
SQL> 
然后重新创建spfile文件,重新启动数据库

SQL> create pfile from spfile;

File created.

二:使用现在的spfile重新创建pfile

[oracle@kel ~]$ cd $ORACLE_HOME/dbs
[oracle@kel dbs]$ strings spfileorcl.ora 
orcl.__db_cache_size=50331648
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__shared_pool_size=113246208
orcl.__streams_pool_size=0
*.audit_file_dest='/home/oracle/admin/orcl/adump'
*.audit_sys_operations=TRUE
*.audit_trail='DB'
*.background_dump_dest='/home/oracle/admin/orcl/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/home/oracle/oradata/orcl/control01.ctl','/home/oracle/oradata/orcl/control02.ctl','/home/oracle/oradata/orcl/control03.ctl'
*.core_dump_dest='/home/oracle/admin/orcl/cdump'
*.db_block_size=8192

将这些显示的内容都拷贝进一个新文件中,命名为initorcl.ora,然后照着第一种方法来进行重新启动数据库即可。


三:利用alterlog中的信息重建spfile

找到alterlog文件,在每次数据库启动的时候,alterlog中均会写入数据库的初始化参数,然后将这些内容拷贝到一个新文件initorcl.ora文件中,然后进行重启即可


总结:

主要就是如何来新建一个pfile文件,将数据库进行启动,然后再创建spfile文件,重新来修改相关的参数,从而达到数据库可以启动的目的。



for linux and python
原文地址:https://www.cnblogs.com/kellyseeme/p/5525194.html