您的位置:首页 > 数据库 > Oracle

在Oracle关闭的状态下,如何修改参数文件spfile

2017-12-06 17:30 459 查看
因为一些内存大小设置的问题,搞不定,一上火,我直接重启了整台服务器。

登录之后,启动数据库,还是出错:

ORA-00844: Parameter not taking MEMORY_TARGET into account

ORA-00851: SGA_MAX_SIZE 2147483648 cannot be set to more than MEMORY_TARGET 1258291200.

ORA-01078: failure in processing system parameters

可是尼玛,spfile是二进制文件,没法修改啊,怎么办?

还好从网上找了些资料,还是有办法。你碰到的问题,都会有人碰到的。

解决的办法就是:

通过pfile启动Oracle–>在Oracle中通过
create pfile='' from spfile=''
取出spfile的内容(pfile是可以手动修改的)–>修改新建的pfile–>以新的pfile启动Oracle–>在Oracle中通过
create spfile='' from pfile=''
获得修改后的spfile

具体实战:

SQL> create pfile = '/opt/oracle/product/12.2.0/dbhome/dbs/initORCL.ora' from spfile = '/opt/oracle/product/12.2.0/dbhome/dbs/spfileORCL.ora';

File created.

SQL> startup mount pfile='/opt/oracle/product/12.2.0/dbhome/dbs/initORCL.ora';

此时,参数可能还有一些问题,但你可以打开initORCL.ora修改了,搞定之后。

SQL> alter database open;

Database altered.

SQL> create spfile = '/opt/oracle/product/12.2.0/dbhome/dbs/spfileORCL.ora' from pfile = '/opt/oracle/product/12.2.0/dbhome/dbs/initORCL.ora';

File created.

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup;

ORACLE instance started.

Total System Global Area 1258291200 bytes

Fixed Size    8792200 bytes

Variable Size 1023412088 bytes

Database Buffers  201326592 bytes

Redo Buffers   24760320 bytes

Database mounted.

Database opened.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: