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

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

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;