EM Expressで表領域を作成しようとしたが、記憶域タブに表領域の項目がなかった時の対処法

#概要
画像のように表領域タブがなかった時に行う作業です。

表領域の項目がありません。これでは表領域の新規作成ができませんね。
![Screenshot_2019-01-24-07-17-11.png](https://qiita-image-store.s3.amazonaws.com/0/328125/96a088a7-d529-2f38-1e8f-c26ae18b1921.png)

#原因
CDBの環境だとPDBにEMで接続しないと表領域が作成できないようです


#解決策
PDBにポート番号を設定し、EMで接続します。

#手順
まずはSQLPlusで接続しておきます。

##1.下記コマンドでPDBの状態とポート番号を確認
MOUNTEDなのでOPENモードにしないといけませんね。
またPORTの列が空白なのでポート番号が割り当てられていないことが確認できました。

```
SELECT c.name,c.open_mode,e.port FROM v$pdbs c, xdb.xdb$cdbports e WHERE c.con_id = e.pdb (+);
```
![SmartSelectImage_2019-01-24-07-23-07.png](https://qiita-image-store.s3.amazonaws.com/0/328125/5a45deac-4321-9b9c-8590-72476723d6f2.png)


###1-2.PDBのオープン

```
ALTER PLUGGABLE DATABASE <PDB名> OPEN;
```
![SmartSelectImage_2019-01-24-07-27-13.png](https://qiita-image-store.s3.amazonaws.com/0/328125/14b533ce-9b6f-01bf-c733-61823308db3e.png)


###1-3.OPENになっているかの確認
1のコマンドを再実行して確認してください。
READ WRITE になっているはずです。


##2.ポート番号を設定したいPDBに接続

PDB名の箇所を各自PDB名に書き換えて実行してください。
わからない場合は、1でのコマンド結果のNAME列を参考にしてください。

```
ALTER SESSION SET CONTAINER=<PDB名>;
```

![SmartSelectImage_2019-01-24-07-31-50.png](https://qiita-image-store.s3.amazonaws.com/0/328125/358959fb-7926-25b1-b5c3-04f905e1b1c3.png)


##3.状態を確認

念のため再度確認しておきます。

```
SELECT NAME,OPEN_MODE FROM v$pdbs;
```

![SmartSelectImage_2019-01-24-07-32-28.png](https://qiita-image-store.s3.amazonaws.com/0/328125/69393c46-021d-9ab5-42c7-c688d0a550a6.png)


##4.PDB再起動時にPDBがオープンモードになるよう設定

```
ALTER PLUGGABLE DATABASE <PDB名> SAVE STATE;
```

![SmartSelectImage_2019-01-24-07-36-06.png](https://qiita-image-store.s3.amazonaws.com/0/328125/cbab29b0-3558-284f-7590-c76f04316e76.png)


##5.ポート番号の確認

```
SELECT dbms_xdb_config.gethttpsport() FROM DUAL;
```

![SmartSelectImage_2019-01-24-07-45-13.png](https://qiita-image-store.s3.amazonaws.com/0/328125/e8dd8851-33c0-4d75-6dfb-3bcea3e63541.png)


##6.ポート番号の割り当て

```
exec dbms_xdb_config.sethttpsport(5504); 
```

![SmartSelectImage_2019-01-24-07-45-44.png](https://qiita-image-store.s3.amazonaws.com/0/328125/f72a2c6c-94a0-8fd8-cb04-1d6068b025d4.png)

##7.ポート番号が割り当てられているかの確認
5のコマンドで再確認してください。
今回だと5504が割り当てられています。

![SmartSelectImage_2019-01-24-07-46-16.png](https://qiita-image-store.s3.amazonaws.com/0/328125/918f4a1c-fc56-4c72-fc0d-cb2874d9a15a.png)



##8.ルートコンテナに戻り、ここまでの動作が正常に処理されているかを確認します。

```
alter session set container = cdb$root;
```

![SmartSelectImage_2019-01-24-07-46-58.png](https://qiita-image-store.s3.amazonaws.com/0/328125/e5ae84bb-5a62-8c7c-0d8b-8945aae56c6e.png)


```
SELECT c.name,c.open_mode,e.port FROM v$pdbs c, xdb.xdb$cdbports e WHERE c.con_id = e.pdb (+);
```

![SmartSelectImage_2019-01-24-07-47-25.png](https://qiita-image-store.s3.amazonaws.com/0/328125/dd48a499-456a-a419-b0e2-508a18dbe3a0.png)


##9.リスナーにポートが登録されているかを確認
exitでSQLPlusを抜けて実行

```
lsnrctl status | grep -i 5504
```

![SmartSelectImage_2019-01-24-08-18-42.png](https://qiita-image-store.s3.amazonaws.com/0/328125/20e8f04f-5e15-1f35-c605-87dbb425faa4.png)


##10.EM Expressで確認!
ここまでくれば終わりです。
https://ホスト名:5504(設定したポート番号)/em
に接続してみましょう。

![Screenshot_2019-01-24-08-21-54.png](https://qiita-image-store.s3.amazonaws.com/0/328125/94988841-c9d2-d756-c20b-b4786d39f086.png)

ありがとうございました！

参考
https://idp-jp.com/log/eid235.html
https://orablogs-jp.blogspot.com/2014/04/how-to-configure-em-express-for-single.html