spfile 排错及一点资料总结

有时候我们会不小心修改了spfile的某些参些参数导致数据库不能启动,这时候改怎么让数据库重新跑起来呢,oracle 针对spfile还是提供了几种方法来修复的。 Oracle参数文件有三种: spfile: spfile.ora pfile: init.ora init: init.ora 参数文件的默认路径为: $ORACLE_HOME/dbs (UNIX)[@more@]************************************** spfile排错小tip 有时候我们会不小心修改了spfile的某些参些参数导致数据库不能启动,这时候改怎么让数据库重新跑起来呢,oracle 针对spfile还是提供了几种方法来修复的。 1.创建pfile SQL> alter system set processes=10000 scope=spfile; System altered. SQL> shutdown Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORA-00064: object is too large to allocate on this O/S (1,9960000) SQL> create pfile from spfile; File created. SQL> host notepad D:oracleora92databaseINITtest.ORA 修改processes=150 SQL> startup pfile=D:oracleora92databaseINITtest.ORA ORACLE instance started. Total System Global Area 101785428 bytes Fixed Size 454484 bytes Variable Size 75497472 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes Database mounted. Database opened. 2.创建pfile,再从pfile创建spfile SQL> alter system set processes=10000 scope=spfile; System altered. SQL> shutdown Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORA-00064: object is too large to allocate on this O/S (1,9960000) SQL> create pfile from spfile; File created. SQL> host notepad D:oracleora92databaseINITtest.ORA 修改processes=150 SQL> create spfile from pfile; File created. SQL> startup ORACLE instance started. Total System Global Area 101785428 bytes Fixed Size 454484 bytes Variable Size 75497472 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes Database mounted. Database opened. SQL> 3.修改pfile,覆盖参数 修改pfile spfile=D:oracleora92databaseSPFILETEST.ORA processes=150 SQL> startup pfile=D:oracleora92databaseINITtest.ORA ORACLE instance started. Total System Global Area 101785428 bytes Fixed Size 454484 bytes Variable Size 75497472 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes Database mounted. Database opened. *************************************************************************************** 如果改的过大(我改成10000): SQL> alter system set processes=10000 scope=spfile; System altered. SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORA-00064: object is too large to allocate on this O/S (1,9600000) SQL> 如果试图改回来, SQL> create spfile from pfile='c:oracleora92databaseINITtt1.ora'; create spfile from pfile='c:oracleora92databaseINITtt1.ora' * ERROR at line 1: ORA-00600: internal error code, arguments: [908], [], [], [], [], [], [], [] trace记录: *** 2006-06-16 10:06:22.000 ksedmp: internal or fatal error ORA-00600: internal error code, arguments: [908], [], [], [], [], [], [], [] Current SQL information unavailable - no SGA. 此时重新启动数据库服务进程(程序--》计算机管理--》服务——》OracleServiceTT1)再重建SPFILE即可 小结,首先去查ALERT.LOG然后去C:oracleora92rdbmstrace*TRACE文件查出问题。 ****************************************************************** Oracle参数文件有三种: spfile: spfile.ora pfile: init.ora init: init.ora 参数文件的默认路径为: $ORACLE_HOME/dbs (UNIX) 当数据库启动时,oracle会按spfile.ora init.ora init.ora的顺序去找参数文件。其中spfile为二 进制文件,所以不能直接对其进行修改。 1. 如何确定当前数据库是否以spfile参数文件启动 sql> show parameter spfie; 若value列有值,则说明以spfile启动。 2. 如何修改参数文件 sql>alter system set timed_statistics=false scope=spfile; scope可以有三种值: spfile:修改spfile中的参数值 memory:修改当前内存中的参数值 both:修改内存及spfile参数文件中的参数值 ps:不是所有参数都可以这样修改的。在v$system_parameter中有issys_modifiable和isses_modifiable两个字段 标志是否可以修改。所有参数值都可以从v$system_paramete中得到。 3. “ORA-32001: write to SPFILE requested but no SPFILE specified at startup”错误,因为没有用spfile 参数文件启动数据库。解决办法: 1) 检查默认路径$ORACLE_HOME/dbs下是否存在spfile.ora文件。 2) 若不存在,重新生成spfile create spfile from pfile; 3) 重启数据库。 4) 重新执行alter system…命令。 4. 如何根据现有非默认路径下的spfile或pfile参数文件启动数据库 sql>startup pfile=‘’; sql>startup spfile=‘ *******************************************************************************************

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/226700/viewspace-1022721/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/226700/viewspace-1022721/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值