暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

解决参数文件的修改错误

原创 Eygle 2019-07-24
611

在使用SPFILE之后,可能会遇到一些不同以往的错误。比如修改了错误的参数导致数据库无法启动,手工修改SPFILE导致参数文件损坏。

了解参数的优先级和生效原则,就可以就此修改和绕过错误:

实例级别的参数级别高于数据库层面的参数。即只有当实例级别未做设置时,在数据库级别的同一参数才会生效。

级别相同,那么后面出现的参数生效。

下面介绍参数修改错误常见问题的处理办法。比如修改SGA_MAX_SIZE超过系统最大内存数量:

SQL> alter system set sga_max_size=5G scope=spfile;
System altered.

 

那么下次启动,内存不足,数据库是无法启动的,数据库出现ORA-27102号错误:

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORA-27102: out of memory

 

如果是在Linux/UNIX上,可以在实例未启动时连接,创建PFILE,然后手工修改PFILE,用PFILE启动数据库即可。

[oracle@jumper oracle]$ SQLplus "/ as sysdba"
Connected to an idle instance.
SQL> create pfile from spfile;
File created.

 

也可以编辑一个参数文件,位置在$ORACLE_HOM/dbs(Windows为database目录)下,包含如下两行。

[oracle@test126 dbs]$ cat initeygle.ora
SPFILE='/opt/oracle/product/10.2.0/dbs/spfileeygle.ora'
sga_max_size=1073741824

 

第一行指向SPFILE,第二行写上出错的参数,给一个正确的值。这个值在实例启动时会覆盖之前错误的设置,然后就可以使用这个文件启动数据库实例了。

SQL> startup pfile=$ORACLE_HOME/dbs/initeygle.ora
ORACLE instance started.
Database mounted.
Database opened.


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论