0

解决参数文件的修改错误

Eygle 2019-07-24
19
摘要:解决参数文件的修改错误

在使用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.


「喜欢文章,快来给作者赞赏墨值吧」

评论

0
0
Oracle
订阅
欢迎订阅Oracle频道,订阅之后可以获取最新资讯和更新通知。
墨值排行
今日本周综合
近期活动
全部
相关课程
全部