Oracle Database Configuration Assistant(DBCA)が起動しない時に確認すること2点


# 修正
原因2のところの表現が正しいものではなかったため修正いたしました。申し訳ございません。
ORACLE_HOMEの設定→環境変数の設定
# 前提
今回はOCIのコンピュート上のLinuxにOracleDBをインストールした場合(DB on IaaS)の想定で話を進めていきます。
OUIを利用するためにTigerVNCで接続しております。一部VirtualBoxなどを使ったDB構築にも参考になるかと思います。


**検証環境**
DBサーバーOS：Oracle Linux8(OCI Compute Instance)
データベースバージョン：Oracle Database21c(21.3)
VNCソフト：TigerVNC



OCIのコンピュート上にOracleDBをインストールする際に参考にしたサイトはこちら


↓コンピュートのインストール～VNC接続まで

https://qiita.com/liu-wei/items/ea6bebe7ebb46bff84e9

↓VNC接続～OracleDBインストールまで

https://qiita.com/ts_carp/items/f79d85971c977c760245

　

**目次**
[原因1.Displayの環境変数の設定ができていない](https://qiita.com/drafts#%E5%8E%9F%E5%9B%A01display%E3%81%AE%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84)
[原因2.環境変数の設定ができていない](https://qiita.com/drafts#%E5%8E%9F%E5%9B%A02oracle_home%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84)
[まとめ](https://qiita.com/drafts#%E3%81%BE%E3%81%A8%E3%82%81)


# 原因1.Displayの環境変数の設定ができていない
まずDBCAなどのOUIを使用するにはDisplayの環境変数の設定が必要です。これができていないとDBCAを起動させることができません。

設定していないと以下のように表示されます。

```
[oracle@instance-20221226-1446 ~]$ dbca
DISPLAY not set.
Set DISPLAY environment variable, then re-run.
```

環境変数を設定すると以下のようになります。

```
[root@instance-20221226-1446 ~]# export DISPLAY=:1
[root@instance-20221226-1446 ~]# xhost +
access control disabled, clients can connect from any host　--このように表示されればOK
[root@instance-20221226-1446 ~]# sudo su - oracle
[oracle@instance-20221226-1446 ~]$ export DISPLAY=:1
[oracle@instance-20221226-1446 ~]$ dbca
```
DISPLAY環境変数を設定することでDBCAが使えるようになります。





# 原因2.環境変数の設定ができていない(ORACLE_HOME、PATHの設定等)
意外とできない原因がこれだったりします。私もこれでだいぶ苦戦しました。**これが原因でSQL_Plusが使えなかったりします。**
echoコマンドで確認します。設定できているかいないかの確認方法は以下の通りです。

```
ORACLE_HOMEの設定の例
<設定できている場合>
[oracle@instance-20221226-1446 ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/21.0.0/dbhome_1
--このように表示されます。

<設定できていない場合>
[oracle@instance-20221226-1446 ~]$ echo $ORACLE_HOME

--何も表示されません。
```

設定するには
①都度環境変数を設定する
②bashファイルを編集して環境変数の設定をする


順番に解説していきます。

今回設定する環境変数は以下の通りです。
```
export ORACLE_HOME=/u01/app/oracle/product/21.0.0/dbhome_1　--それぞれの環境に合わせて変更してください
export PATH=$PATH:$ORACLE_HOME/bin
```

### ①都度環境変数を設定する
oracleユーザーにログインするたびに環境変数を設定する方法です。**この書き方だとログインするたびに毎回設定する必要がある**のでそこは注意願います。

設定方法は以下の通りです。

```
[oracle@instance-20221226-1446 ~]$ export ORACLE_HOME=/u01/app/oracle/product/21.0.0/dbhome_1
[oracle@instance-20221226-1446 ~]$ export PATH=$PATH:$ORACLE_HOME/bin
[oracle@instance-20221226-1446 ~]$ dbca　
```
これで設定できました。

### ②bashファイルを編集してORACLE_HOMEの設定をする

bashファイルを編集してORACLE_HOMEを設定する方法です。個人的にはこちらを設定するほうが良いと思っています。(毎回設定する必要がなくなるため)

設定方法は以下の通りです。
```
[oracle@instance-20221226-1446 ~]$ vi .bash_profile
--設定ファイルに行き以下の文言をファイルに追加
export ORACLE_HOME=/u01/app/oracle/product/21.0.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
--保存しファイルを閉じDBCAを起動
[oracle@instance-20221226-1446 ~]$ dbca
```
これで設定できました。

# まとめ
DBCAの起動に引っかかりがちな2点についてまとめました。今回は私が引っかかった点を上げましたが、これ以外にもDBCAを開けない原因があるかと思います。(確認でき次第追加できればと思います。)基本的なところではありますが、意外と忘れることも多いと思うのでこちらを確認いただければと思います。また間違っている点などございましたらご指摘いただければと思います。

最後までご覧いただきましてありがとうございました。


# 参考サイト
### ORACLE_HOMEの設定方法

https://ameblo.jp/linhogehoge/entry-11940186773.html

### 今回のDB構築参考サイト

https://qiita.com/liu-wei/items/ea6bebe7ebb46bff84e9

https://qiita.com/ts_carp/items/f79d85971c977c760245