ablog

不器用で落着きのない技術者のメモ

初期化パラメータを変更したらインスタンスが起動しなくなってしまった場合に元に戻す方法

sga_max_size < sga_target にして、インスタンスを再起動する。

SQL> conn / as sysdba
SQL> show parameter sga_

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
sga_max_size                         big integer 1536M
sga_target                           big integer 1536M

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

System altered.

SQL> alter system set sga_target=2G scope=spfile;

System altered.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup
ORA-00823: Specified value of sga_target greater than sga_max_size

ORA-00823 でインスタンスが起動しない。
SPFILE から PFILE を作成して、PFILE を編集して、PFILE から起動してやる。

SQL> create pfile='/export/home/oracle/initorcl.ora' from spfile;
! vi /export/home/oracle/initorcl.ora
(変更前)
*.sga_max_size=1073741824
*.sga_target=2147483648
(変更後)
*.sga_max_size=1610612736
*.sga_target=1610612736

SQL> startup pfile='/export/home/oracle/initorcl.ora'

無事起動したので、SPFILEを元に戻して再起動する。

SQL> create spfile from pfile='/export/home/oracle/initorcl.ora';

File created.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup
ORACLE instance started.

Total System Global Area 1603887104 bytes
Fixed Size                  2102928 bytes
Variable Size             385878384 bytes
Database Buffers         1191182336 bytes
Redo Buffers               24723456 bytes
Database mounted.
Database opened.