多くの環境では、サーバーの再起動時に Oracle データベースとリスナーを自動的にシャットダウンして起動することが望まれます。その要件がある場合は、次のいくつかの手順に従って、データベースとリスナーのシャットダウンと起動を自動化してください。
自動起動/シャットダウンを設定する手順
1. /etc/oratab ファイルを編集し、Y を配置します。 システムの再起動時に自動的に再起動するデータベースのエントリの最後に。ファイルを編集するには root 権限が必要な場合があります:
# vi /etc/oratab [SID]:[ORACLE_HOME]:Y
Y 文字列の末尾にある は、ORACLE_HOME/bin/dbstart および ORACLE_HOME/bin/dbshut スクリプトによってデータベースを起動および停止できることを示します。
注意 :一部の Unix システム (Solaris など) では、oratab ファイルは通常、/var/opt/oracle ディレクトリにあります。
2. サービス スクリプト /etc/init.d/dbora を作成します。 .スクリプトの内容は以下の通りです。変数 ORA_HOME および ORA_OWNER の値を環境に合わせて変更してください。これは、データベースとリスナーを停止および開始するために最低限必要なスクリプトです。
# vi /etc/init.d/dbora #!/bin/bash # chkconfig: 35 99 10 # description: Starts and stops Oracle processes ORA_HOME=/oracle/app/oracle/product/11.2.0/db_1 ORA_OWNER=oracle case "$1" in 'start') su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" su - $ORA_OWNER -c $ORA_HOME/bin/dbstart ;; 'stop') su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" su - $ORA_OWNER -c $ORA_HOME/bin/dbshut ;; esac # End of script dbora
スクリプトを理解する
行:
# chkconfig: 35 99 10 # description: Starts and stops Oracle database
これらは必須であり、サービスの特徴を説明するものであるため、コメントだけではありません。
- 35 サービスが init レベル 3 および 5 で開始され、他のレベルで停止されることを意味します。
- 99 init は、サービスが init レベル処理の終わり近くで開始されることを意味します
- 10 init は、サービスが init レベル処理の開始間際に停止されることを意味します
スクリプトの残りの部分は非常に理解しやすいものです。最初のケースはリスナー/DB を開始しますが、2 番目のケースはそれを停止します。以下の手順に従って、スクリプトを実行可能にし、システムの起動時に自動的に実行されるようにします。
スクリプトを実行可能にし、起動時に実行できるようにする
1. dbora ファイルのグループを、Oracle ソフトウェアのオペレーティング システム所有者 (通常は oinstall または dba) に割り当てられたグループと一致するように変更します。
# chgrp dba /etc/init.d/dbora
2. スクリプトのパーミッションを 755 に設定します。
# chmod 750 /etc/init.d/dbora
3. 次の chkconfig コマンドを実行します:
# chkconfig --add dbora
このアクションにより、サービスが Linux サービス メカニズムに登録されます。これにより、/etc/rc.d ディレクトリの下のファイルへの適切なシンボリック リンクも作成されます。 –list オプションを使用して、ランレベルごとにサービスがオンかオフかを表示します。
# chkconfig --list | grep dbora dbora 0:off 1:off 2:off 3:on 4:off 5:on 6:off
この出力は、ランレベル 3 および 5 で dbora サービスがオンになっていることを示しています。サービスを削除する必要がある場合は、–del を使用します。 chkconfig のオプション。
スクリプトのテスト
1. dbora スクリプトが機能しているかどうかをテストするには、root として次を実行してデータベースとリスナーを停止します。
# /etc/init.d/dbora stop
2. データベースとリスナーの起動をテストするには、root として次のコマンドを発行します。
# /etc/init.d/dbora start
最終的な考え
Oracle データベースのシャットダウンと起動の自動化は、クラスター ソフトウェアや ASM などのツールを使用しているかどうかによって異なります。このセクションのソリューションは、このタスクを管理する他のソフトウェアがないシナリオで、データベースのシャットダウンと起動を実装する一般的な手順を示しています。