はじめに
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(以前こちらで記事にした環境です)
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を”管理者として実行”で起動します。
データベース操作で"データベースの削除”を選択し、[次へ]をクリックします。
削除するデータベースを選択し、Oracle管理者パスワードを入力して[次へ]をクリックします。
サマリー情報が表示されるので、確認し[終了]をクリックします
警告として、データ削除の確認ポップアップが表示されるので[はい]をクリックします。
”データベースの削除が完了しました”と表示されることを確認し、[閉じる]をクリックします。
2. DBの作成
再び、Database Configuration Assistantを”管理者として実行”で起動します。
”データベースの作成”を選択し、[次へ]をクリックします。
「作成モード」では、”拡張構成”を選択し、[次へ]をクリックします。
「デプロイ・タイプ」は、デフォルト設定のまま、[次へ]をクリックします。
「データベースの識別」では、データベース名、PDBの数、PDB名の接頭辞を指定し、[次へ]をクリックします。
なお、ExpressEditionで作成可能なPDB数は、最大3になります。
「記憶域オプション」は、デフォルト設定のまま、[次へ]をクリックします。
「高速リカバリ・オプション」は、デフォルト設定のまま、[次へ]をクリックします。
「ネットワーク構成」は、デフォルト設定のまま、[次へ]をクリックします。
「Data Vaultオプション」は、デフォルト設定のまま、[次へ]をクリックします。
「構成オプション」の「メモリー」タブでメモリー割り当てを入力します。
(ここではデフォルトで入力されていた「1636M」をそのまま設定。なお、ExpressEditionの場合、自動管理はメモリが2GBを超えていると使用できない。)
なお、
「キャラクタ・セット」タブで”OSの文字セット(JA16SJISTILDE)の使用”を選択し、[次へ]をクリックします。
「管理オプションの指定」は、デフォルト設定のまま、[次へ]をクリックします。
「ユーザー資格証明書」では、パスワードを設定し、[次へ]をクリックします。
「作成オプション」は、デフォルト設定のまま、[次へ]をクリックします。
サマリー画面で設定した内容を確認し、[終了]をクリックします。
”データベースの作成が完了しました”と表示されることを確認し、[閉じる]をクリックします。
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) の文字コード変更は完了です。