GNU/Linux >> Linux の 問題 >  >> Cent OS

LinuxでOracle Databaseとリスナーの起動/停止を自動化する方法

多くの環境では、サーバーの再起動時に 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 などのツールを使用しているかどうかによって異なります。このセクションのソリューションは、このタスクを管理する他のソフトウェアがないシナリオで、データベースのシャットダウンと起動を実装する一般的な手順を示しています。


Cent OS
  1. Linuxシェルスクリプトで数値と文字列を比較する方法

  2. Ubuntu18.04およびCentOS7でLinuxシャットダウンコマンドを使用する方法

  3. SQLite DBブラウザ、Linuxにインストールして使用する方法

  1. GentooLinuxで起動およびシャットダウンスクリプトを設定する方法

  2. Rocky Linux / Alma Linux /Centos8にPodmanをインストールして使用する方法

  3. LubuntuLinuxでCrontabを使用してスタートアップスクリプトを作成する方法

  1. Linuxでシャットダウンおよび再起動コマンドを無効にする方法

  2. Oracle Linux 7でPHP 7.0とhttpd24を有効にする方法

  3. Linux の起動時に Apache を起動するにはどうすればよいですか?