データベースを削除して新規データベースを作成したら起動しなくなった

データベースを作り直す、というか削除してから新しいデータベースを作った。

DBCAを使ってデータベースorclを削除した。

DBCAを使ってデータベースiwd2を作成した。

するとインスタンスが起動しなくなってしまった。

 

最終的になおったが、試行錯誤したので、以下の順番はあくまで目安、ご参考までといったところ。 

 

■管理者でログインしてデータベースを起動する

SQL> conn / as sysdba

SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/オーナー名/ 次の行へ続く
product/10.2.0/dbs/initorcl.ora'

initorcl.oraが無いと言っている。DBCAを使ってデータベースorclを削除したので、init + SID名.oraも削除されたらしい。

 

■initorcl.oraを作る

init + SID名.ora ファイルは、$ORACLE_HOME/dbs/init.oraを元にして作ってあるらしい。

たまたま、バックアップ用の別のマシンにinitorcl.oraファイルがあったので、真似してviで作った。

$ORACLE_HOME/dbs/initorcl.ora

SPFILE=/export/home/u01/app/オーナー名/product/10.2.0/dbs/spfileorcl.ora

新しく作ったデータベースiwd2を削除したorclの代わりに使うので変更。

SPFILE=/export/home/u01/app/オーナー名/product/10.2.0/dbs/spfileiwd2.ora

 

■インスタンスを起動する

SQL> startup
ORACLE instance started.

Total System Global Area 1610612736 bytes
Fixed Size		    2466304 bytes
Variable Size		  395861504 bytes
Database Buffers	 1207959552 bytes
Redo Buffers		    4325376 bytes
Database mounted.
Database opened. 

よかったぁ。

 

■$ORACLE_SIDを確認する

$HOME/.profileの$ORACLE_SIDを確認すると、orclのままだった。

データベースを作成する前にiwd2に変更しておけばよかったが…。しかたない。

$HOME/.profileの$ORACLE_SIDを新しいSID名に変更する。

.profile 

ORACLE_SID=iwd2
export ORACLE_SID

有効にして確認する。

$ source $HOME/.profile 
$ echo $ORACLE_SID
iwd2

 

■メモ(参考程度)

もうデタラメに作業してたので、とりあえずやったことや気づいたことをメモしておく。

順番や、必要性は全く無視してメモしてある。

 

新しいデータベース用にinit + SID名.ora ファイルを用意する。

$ cd $ORACLE_HOME/dbs/
$ cp -p initorcl.ora initiwd2.ora

 

 デフォルトの$ORACLE_SIDではない名称のpfileを利用する。

SQL> startup pfile=/u01/initxxxx.ora 

ただし、デフォルトSIDではないspfileは利用できないので、ファイル名を指定してspfileからpfileを作る。

SQL> create pfile='initiwd2.ora' from spfile='spfileorcl.ora'

 

 

spfileからpfileを作る。

SQL> create spfile from pfile; 

 

prfileからspfileを作る。

SQL> create pfile from spfile;