データベースを削除して新規データベースを作成したら起動しなくなった
- 2008.10.11
- Oracle
データベースを作り直す、というか削除してから新しいデータベースを作った。
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;
-
前の記事
ハードディスクの使用率が100%になってしまった 2008.10.11
-
次の記事
TDVIA SCISIが使えない ACPI: PCI interrupt device [ pci pin ]: no GSI 2008.10.26