Oracleデータベースの起動と停止を自動化する方法

はじめに

データベースの管理は、多くのシステム管理者にとって日常的な作業の一部です。特に大規模なシステムでは、定期的なデータベースの起動と停止が重要な役割を果たします。しかし、この作業を手動で行うのは手間がかかり、ヒューマンエラーのリスクもあります。この記事では、Oracleデータベースの起動と停止を自動化する方法について解説します。dbstartおよびdbshutスクリプトを使用することで、これらのプロセスを簡略化し、信頼性を高めることができます。以下の手順に従って、自動化を実現しましょう。

前提条件

OS:Solaris10 1/13

DB:11g Release11.2.0.1.0

オラクルデータベース文字コード
NLS_NCHAR_CHARACTERSET:AL16UTF16
NLS_CHARACTERSET:JA16SJISTILDE

手順

①rootユーザーでログインする

$su -

②以下コマンドでプラットフォームのoratabファイルを開く

#vi /var/opt/oracle/oratab

➂下記画像の赤枠で囲った部分の末尾をN→Yに変更、保存する

④/etc/init.dにdboraファイルを作成し、以下の内容を記述する。

ORA_HOME=/export/home/app/oracle/product/11.2.0/dbhome_1
ORA_OWNER=oracle

⑤dboraファイルのグループをOSDBAグループ(通常はdba)に変更し、その権限を750に設定

# chgrp dba dbora
# chmod 750 dbora

⑥dboraスクリプトへのシンボリック・リンクを、適切な起動レベルのスクリプト・ディレクトリに作成

# ln -s /etc/init.d/dbora /etc/rc0.d/K01dbora
# ln -s /etc/init.d/dbora /etc/rc3.d/S99dbora

⑦export/home/app/oracle/product/11.2.0/dbhome_1/bin/dbstartのシェルを変更する

 具体的には!/bin/shから#!/bin/bashに変更します。

 #!/bin/bash に変更しているのは、!/bin/shよりも多くの拡張機能や機能を提供しているからです。

 これを変更しないと私の環境では正常に動作しませんでした。

⑧export/home/app/oracle/product/11.2.0/dbhome_1/bin/dbshutのシェルを変更する。

 具体的には!/bin/shから#!/bin/bashに変更する。

 

動作確認

①以下コマンドを実行し、dbstartの動作確認をする

$dbstart $ORACLE_HOME

成功すると以下の画面になる

②以下コマンドを実行し、dbshutの動作確認をする

$dbshut $ORACLE_HOME

成功すると以下の画面になる

➂以下コマンドを実行し、/etc/init.d/dboraの動作確認をします

これにより、スクリプトが正しいユーザー権限で実行され、正しいディレクトリやファイルにアクセスできることを保証します

# bash /etc/init.d/dbora start

成功すると以下の画面になります。

④以下コマンドを実行し、/etc/init.d/dbora の動作確認をします。

# bash /etc/init.d/dbora stop

成功すると以下の画面になります。

最後に

以上の手順を実行することで、Oracleデータベースの起動と停止を自動化することができます。自動化することで、手動で行う際の手間を省き、ヒューマンエラーのリスクを軽減することができます。また、定期的なメンテナンスやシステムのリブート時にも、データベースが確実に正しく管理されるようになります。

自動化スクリプトを作成・設定する際には、必ず動作確認を行い、必要な修正を加えることが重要です。動作確認を怠ると、予期しない動作やエラーが発生する可能性があります。今回紹介した手順を参考に、適切な設定を行い、システムの安定稼働を実現しましょう。

もし問題が発生した場合やさらなるカスタマイズが必要な場合は、Oracleの公式ドキュメントやコミュニティのリソースを活用してください。これにより、より深い知識を得ることができ、複雑なシステム管理にも対応できるようになります。

データベースの自動化は、効率的で信頼性の高いシステム運用を実現するための重要なステップです。この記事がその一助となれば幸いです。

参考文献はこちら