Oracle Database 18c Express Edition(XE) 文字コード変更

## はじめに
Oracle XE (Oracle Database Express Edition) は、インストール時に設定できるパラメーターが限定されており、インストールした時点でDBが作成されています。

作成されるDBは、以下の設定になっています。
・DATABASE NAME = XE
・CHARACTER SET = AL32UTF8

Oracle XEの場合、文字コードは、インストール時に指定することも、インストール後に変更することもできないため、デフォルトのAL32UTF8以外の文字コードを使用する場合には、DBを再作成する必要があります。


本記事では、OracleXEでDBの再作成を行い、文字コードをUnicode(AL32UTF8)からShift-JIS（JA16SJISTILDE）に変更した際の手順をまとめます。

#### 今回使用した環境
・Oracle Database 18c Express Edition（以前[こちら](https://qiita.com/mi_h/items/cd089647cd95caafc78d)で記事にした環境です）

DB文字コードを確認すると、Unicode(AL32UTF8)であることがわかります。
```
SQL*Plus: Release 18.0.0.0.0 - Production on 金 7月 7 17:17:25 2023
Version 18.4.0.0.0

Copyright (c) 1982, 2018, Oracle.  All rights reserved.

ユーザー名を入力してください: system
パスワードを入力してください: <パスワードを入力>


Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0
に接続されました。
SQL> select * from NLS_DATABASE_PARAMETERS where PARAMETER='NLS_CHARACTERSET';

PARAMETER
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_CHARACTERSET
AL32UTF8


SQL>
```
 
## 1. DBの削除
Database Configuration Assistantを”管理者として実行”で起動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/6b8e4384-0b8e-7662-8b9a-ec786085df55.png)
データベース操作で"データベースの削除”を選択し、[次へ]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/b21feaae-0df0-c5fd-8fca-f3c040c483fa.png)

削除するデータベースを選択し、Oracle管理者パスワードを入力して[次へ]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/2de9348b-cc34-c38d-36f2-a421cd541ff0.png)

デフォルトのまま、[次へ]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/fa142ea6-1d7c-dd4b-91ab-e7629be2092c.png)

サマリー情報が表示されるので、確認し[終了]をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/14e37731-5916-1d81-b123-3f237208bbac.png)

警告として、データ削除の確認ポップアップが表示されるので[はい]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/5f9abd4c-b6c4-7758-87de-e77c37c73ef2.png)

”データベースの削除が完了しました”と表示されることを確認し、[閉じる]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/8222a7d8-ccc6-c816-fabd-da948112023b.png)



## 2. DBの作成
再び、Database Configuration Assistantを”管理者として実行”で起動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/6b8e4384-0b8e-7662-8b9a-ec786085df55.png)
”データベースの作成”を選択し、[次へ]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/c3953a38-68cc-9539-a5d7-070b50d9bb76.png)
　「作成モード」では、”拡張構成”を選択し、[次へ]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/88fb8e44-62ea-2eb0-7352-bae5558bf780.png)

「デプロイ・タイプ」は、デフォルト設定のまま、[次へ]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/88425397-f567-0b93-a9c7-15290c50c701.png)

「データベースの識別」では、データベース名、PDBの数、PDB名の接頭辞を指定し、[次へ]をクリックします。
なお、ExpressEditionで作成可能なPDB数は、最大3になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/49dbec7d-6c56-c300-b3d4-34d64a0497f3.png)

「記憶域オプション」は、デフォルト設定のまま、[次へ]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/8b96427d-d9da-2ff4-4d35-3a01a8f5a38b.png)

「高速リカバリ・オプション」は、デフォルト設定のまま、[次へ]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/66069bc4-443e-32d8-18f1-9fff72ae7fd5.png)

「ネットワーク構成」は、デフォルト設定のまま、[次へ]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/ffa89253-97ae-2b31-6c97-f0dd9ce7a686.png)
「Data Vaultオプション」は、デフォルト設定のまま、[次へ]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/7b4cf536-a0b2-7ef4-ee62-7c7a6d8a9017.png)
「構成オプション」の「メモリー」タブでメモリー割り当てを入力します。
（ここではデフォルトで入力されていた「1636M」をそのまま設定。なお、ExpressEditionの場合、[自動管理はメモリが2GBを超えていると使用できない](https://docs.oracle.com/cd/E96517_01/xeinw/licensing-restrictions.html#GUID-5B066473-0502-4ECA-9DF8-DA645386EA2A)。）
なお、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/396c9c60-d522-1b56-72ca-d82406a89e0f.png)
「キャラクタ・セット」タブで”OSの文字セット（JA16SJISTILDE）の使用”を選択し、[次へ]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/f998500d-1a6a-44ad-4e0e-f034d4ae1184.png)
「管理オプションの指定」は、デフォルト設定のまま、[次へ]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/aa0b5dcd-90da-5567-dc3e-700f223a8727.png)
「ユーザー資格証明書」では、パスワードを設定し、[次へ]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/fbbe6257-1bb2-0be2-01f9-4ee2b663e852.png)
「作成オプション」は、デフォルト設定のまま、[次へ]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/4164a3dc-1597-de89-9cc7-7bde46cac897.png)
サマリー画面で設定した内容を確認し、[終了]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/5a5fec49-2bcc-db1d-6e82-33cf44373fc0.png)
”データベースの作成が完了しました”と表示されることを確認し、[閉じる]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1281123/aa9f7f95-da24-75d1-4f28-005211450a83.png)


## 3. 文字コードの確認
再作成したDBの文字コードがShift-JIS(JA16SJISTILDE）であることを確認します。
```
SQL*Plus: Release 18.0.0.0.0 - Production on 木 7月 13 21:57:39 2023
Version 18.4.0.0.0

Copyright (c) 1982, 2018, Oracle.  All rights reserved.

ユーザー名を入力してください: system
パスワードを入力してください:　　<パスワードを入力>
最終正常ログイン時間: 木 7月  13 2023 21:57:08 +09:00


Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0
に接続されました。
SQL>  select * from NLS_DATABASE_PARAMETERS where PARAMETER='NLS_CHARACTERSET';

PARAMETER
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_CHARACTERSET
JA16SJISTILDE

SQL>
```

以上で、Oracle Database 18c Express Edition(XE) の文字コード変更は完了です。