电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

SPFILE参数修改错误的解决办法


发布日期:2023/10/26
 

昨天在火车站一个朋友打电话过来说他将SPFILE修改错了数据库无法启动问我怎么办

我说你创建一个PFILE改一下用PFILE启动而他说数据库无法连接是Windows的环境

Ok这类问题很多很多我描述一下解决办法供参考

假如我们修改了以下参数

SQL> alter system set sga_max_size=G scope=spfile;

System altered

那么下次启动如果内存不足数据库是无法启动的

SQL> shutdown immediate;

Database closed

Database dismounted

ORACLE instance shut down

SQL> startup

ORA: out of memory

在UnixLinux上可以连接到数据库创建pfile

SQL> create pfile from spfile;

File created

如果在Window上你手上还没有任何可供参考的参数文件那么很简单用记事本(Notepad)编辑一个文件包含如下两行

[oracle@test dbs]$ cat initeygleora

SPFILE=/opt/oracle/product//dbs/spfileeygleora

sga_max_size=

第一行指向SPFILE第二行写上出错的参数给一个正确的值这个值在实例启动时会覆盖之前错误的设置

然后就可以使用这个文件启动数据库实例了

SQL> startup pfile=$ORACLE_HOME/dbs/initeygleora

ORACLE instance started

Total System Global Area bytes

Fixed Size bytes

Variable Size bytes

Database Buffers bytes

Redo Buffers bytes

Database mounted

Database opened

如果在Windows上你只能通过服务起停数据库那么Oracle缺省的还是会寻找SPFILE一个办法是将SPFILE改名

比如将spfileeygleora更改为spfileeygleora然后再pfile里引用这个参数文件下次startup就不用指定pfile

数据库可以自动找到这个参数文件启动数据库

[oracle@test dbs]$ mv spfileeygleora spfileeygleora

[oracle@test dbs]$ cat initeygleora

SPFILE=/opt/oracle/product//dbs/spfileeygleora

sga_max_size=

数据库可以自动使用PFILE启动

SQL> startup

ORACLE instance started

Total System Global Area bytes

Fixed Size bytes

Variable Size bytes

Database Buffers bytes

Redo Buffers bytes

Database mounted

Database opened

SQL> show parameter spfile

NAME TYPE VALUE

spfile string /opt/oracle/product//dbs

/spfileeygleora

The End

上一篇:系统设定常用指令(1)

下一篇:Qmail如何设置一个虚拟域