端末エミュレータからORACLE DBを起動させる方法をご紹介します。
端末エミュレータには色々と種類がありますが、サーバーにログインしてしまえばTeraTermでもRLoginでも手順は同じです。今回は端末エミュレータからサーバーにログインしてからのことを書きます。
ORACLE起動の流れ
まずはORACLE起動の全体の流れをおさえます。概念を理解することで、何をしているのか把握することが出来ます。接続までの流れは次のとおりです。
リスナー起動 → Oracleインスタンス起動 → ORACLE接続
リスナー起動
それではリスナーの状態を確認し、起動していなければ起動します。停止したいときにはコマンドで停止することが出来ます。リスナー名を末尾につけると、リスナー名を指定してコマンド実行することが出来ます。
私は末尾にリスナー名を付けないで実施しているけども特に問題なく状態確認とリスナー起動が出来ています。リスナーが一つの場合には問題ないのかな?
リスナーのステータス確認
> lsnrctl status リスナー名
リスナーの起動
> lsnrctl start リスナー名
リスナーの停止
> lsnrctl stop リスナー名
リスナーは、Oracleインスタンスの起動/停止に左右されません。Oracleインスタンスは、このリスナーが起動していないと起動することが出来ません。
Oracleインスタンス起動
まずはoracleユーザーになります。
$ sudo su - oracle
データベースに接続せずに、SQL*Plusを起動します。
$ sqlplus /nolog SQL*Plus: Release XX.0.0.0.0 - Production on 木 7月 11 HH:MM:SS YYYY Version XX.0.0.0.0 Copyright (c) 1982, XXXX, Oracle. All rights reserved. SQL>
※普通にユーザーで接続する場合は次のとおり
$ sqlplus #ユーザー名を求められるので入力 #パスワードを求められるので入力
これには時短の方法があります。やり方は次のとおり。やっている内容は同じです。
$ sqlplus ユーザー名/パスワード
SQL *Plusが起動すると、SQL>という表示になります。
次に、SYSDBAとしてOracle Databaseに接続します。
SQL> connect / as sysdba 接続されました。 SQL>
インスタンスの状態確認
SQL> SELECT * FROM V$ACTIVE_INSTANCES; レコードが選択されませんでした。 SQL>
Oracleインスタンス起動
SQL> startup
ORACLE接続確認
接続確認として、Oracleのインスタンス名を取得してみます。
状態確認
SQL> select host_name, instance_name, status from v$instance; SQL> select * from v$instance; (これでも多分いけます)
停止
Oracleインスタンスの停止方法は次のとおりです。
SQL> shutdown
これでOKです。