💿

Oracle 21c XE 構築手順

に公開

Oracle Database Express Edition(Oracle XE)は、無料で利用可能なOracleのデータベースです。開発中のアプリケーションの動作確認や、個人開発で利用したりします。

この記事では、Windows PCへのインストールからデータベースの利用開始までの手順を解説します。

Oracle XE とは

  • 無償かつ本番環境でOracle Database XEを使用可能
  • 最大12GBのユーザー・データ
  • 最大2GBのデータベースRAM
  • 最大2つのCPUスレッド

ステップ

1. ダウンロード

下記のリンク先から「Oracle Database XE」をダウンロードします。

image

「Oracle Database 21c Express Edition for Windows x64」をクリックすると、ダウンロードが開始します。

2. インストール

①ダウンロードした「OracleXE213_Win64.zip」ファイルを解凍

②作成されたフォルダ内の「setup.exe」を管理者として実行

image

インストーラー起動後は、「次へ」ボタンをクリックしながら、「使用許諾条項を受け入れます」にチェックを入れて進めていきます。

③宛先フォルダ画面でインストール先を設定

宛先フォルダは、例えばC:\oracle\product\21c\に設定します。

image

上記の場合、Oracle環境変数は下記となります。

  • ORACLE_HOMEC:\oracle\product\21c\dbhomeXE\
  • ORACLE_BASEC:\oracle\product\21c\

④データベース・パスワードを設定

Oracle Database情報で、データベース・パスワードを設定します。
このパスワードは、SYS、SYSTEM、PDBADMINスキーマのパスワードになります。

  • パスワードの設定例: sys

image

最後にDB関連情報が表示されれば、インストール完了です。
image

3. ユーザー作成

ターミナル(PowerShell)で以下のコマンドを実行していきます。

Oracle 21c XEに接続します。

PowerShell
sqlplus / as sysdba

接続先を確認します。

sqlplus
sqlshow con_name
CON_NAME
------------------------------
CDB$ROOT

CDB$ROOT、つまりコンテナデータベース(CDB)に接続されているため、プラガブルデータベース(PDB)に接続を切り替えていきます。

初めに、存在するプラガブルデータベースを確認します。

sqlplus
show pdbs
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 XEPDB1                         READ WRITE NO

既に存在する「XEPDB1」を利用する事とします。

sqlplus
ALTER SESSION SET CONTAINER=XEPDB1;

セッションが変更されました。

sqlplus
show con_name
CON_NAME
------------------------------
XEPDB1

「XEPDB1」に接続されています。

続いてユーザーを作成します。例えば、下記とします。

  • ユーザー: atman
  • パスワード: atman

プロファイルは「DEFAULT」を設定し、パスワード期限を無期限に設定します。

sqlplus
CREATE USER atman IDENTIFIED BY atman;
GRANT CONNECT, RESOURCE TO atman;
ALTER USER atman QUOTA UNLIMITED ON users;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

プロファイルを確認してみます。

sqlplus
select username, profile from dba_users
where username = 'ATMAN';

プロファイルは「DEFAULT」となっていました。

sqlplus
SELECT * FROM DBA_PROFILES
WHERE RESOURCE_NAME = 'PASSWORD_LIFE_TIME';

プロファイルDEFAULTのパスワードが無期限となっていることを確認できればOKです。

これでユーザー作成は完了です。

補足ですが、表領域は下記になっています。

  • 表領域: USERS
  • 一時表領域: TEMP

確認用のSQLです。

SELECT username,default_tablespace,temporary_tablespace 
FROM DBA_USERS WHERE username='ATMAN';

4. tnsnames.ora 編集

最後に、今回利用したプラガブルデータベースに接続するために、tnsnames.oraを編集します。
tnsnames.oraの保存場所を確認するには、tnspingコマンドを用いてパラメータ・ファイルの保存先を調べます。

PowerShell
tnsping XEPDB1
TNS Ping Utility for 64-bit Windows: Version 21.0.0.0.0 - Production on 11-3月 -2023 22:52:44

Copyright (c) 1997, 2021, Oracle.  All rights reserved.

パラメータ・ファイルを使用しました:
C:\oracle\product\21c\homes\OraDB21Home1\network\admin\sqlnet.ora

TNS-03505: 名前の解決に失敗しました。

上記のパラメータファイル(sqlnet.ora)と同ディレクトリに、tnsnames.oraが保存されています。

次に、tnsnames.oraを開いて、ファイルの最後に以下の記述を追加します。

tnsnames.ora
XEPDB1=
(DESCRIPTION=
  (LOAD_BALANCE=off) 
  (ADDRESS=
    (PROTOCOL=tcp)  
    (HOST=localhost)  
    (PORT=1521)
  ) 
  (CONNECT_DATA=
    (SERVICE_NAME=XEPDB1) 
    (FAILOVER_MODE=
      (TYPE=select) 
      (METHOD=basic)
    )
  )
)

コマンドプロンプトで、tnspingで接続確認します。

PowerShell
tnsping XEPDB1

OKと表示されれば、問題無しで完了です。

Discussion