すごく基礎的なことなんですが、Linux版のOracle Database 11gの起動手順と停止手順を意外と忘れてしまってたりするので。
前提条件:環境変数のセットを確認
操作を行う前に、前提条件としてOracle関連の環境変数をセットしてある必要があります。
通常はOracleのインストール時にセットするはずなので問題ないかとは思いますが、今一度ご確認を。
# su - oracle $ env | grep -i ora USER=oracle LD_LIBRARY_PATH=.:/opt/oracle/product/11.2.0/dbhome_1/lib: ORA_NLS10=/opt/oracle/product/11.2.0/dbhome_1/nls/data ORACLE_SID=orcl ORACLE_BASE=/opt/oracle TNS_ADMIN=/opt/oracle/product/11.2.0/dbhome_1/network/admin PATH=.:/opt/oracle/product/11.2.0/dbhome_1/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/oracle/bin ORACLE_HOME=/opt/oracle/product/11.2.0/dbhome_1
ちなみに記載は .bash_profile に行ってるはずです。
# vi .bash_profile # For Oracle umask 022 ORACLE_BASE=/opt/oracle ORACLE_SID=orcl export ORACLE_BASE ORACLE_SID export ORACLE_HOME=/opt/oracle/product/11.2.0/dbhome_1 export PATH=.:$ORACLE_HOME/bin:$PATH export ORA_NLS10=$ORACLE_HOME/nls/data export LD_LIBRARY_PATH=.:$ORACLE_HOME/lib:$LD_LIBRARY_PATH export TNS_ADMIN=$ORACLE_HOME/network/admin export NLS_LANG=JAPANESE_JAPAN.UTF8
Oracleの起動手順
Oracle Databaseを起動します。
あわせてOEMなどの関連サービスも起動する必要があります。
$ sqlplus sys as sysdba SQL> startup $ lsnrctl start $ emctl start dbconsole
これでDBインスタンス、リスナ、OEMが起動するはずです。
Oracleの停止手順
Oracle Databaseを停止します。
あわせてOEMなどの関連サービスも全て停止させます。
停止は shutdown immediate で行いますので、接続しているセッションもぶち切られます。トランザクション中の処理はロールバックがかかって終了です。
$ emctl stop dbconsole $ lsnrctl stop $ sqlplus sys as sysdba SQL> shutdown immediate
もし shutdown immediate で停止しない場合は shutdown abort で停止させますが、この方法だと強制終了になってしまいますのでデータベースの破損にも繋がりかねないのであんまりオススメできません‥。
あと abort で停止させた場合は、再起動後にリカバリモードで自動的に立ち上がってくるのでリカバリ処理が走ります。