オーロラさんの勉強帳

IT企業勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。少しでもお役に立てたら幸いです。

【OracleDatabase】Windows11にOracle 21c XEをインストール、DBに接続する方法 (無料でOracleDBをインストール)

本記事ではWindows11OracleXE(Oracle Database 21c Express Edition)をインストール、セットアップする方法を紹介します。
OracleXEは無償で利用できます。

環境

  • Windows11 Pro 24H2
  • Oracle Database 21c Express Edition (Production Version 21.3.0.0.0)

Windows11OracleDB 21c XEをインストールします。

Windows11にOracleDB 21c XEをインストールする方法

1.以下リンクから「Oracle Database Express Editon」のサイトにアクセスします。
Oracle Database Express Edition | Oracle 日本

2.「Oracle Database XEをダウンロード」を選択します。

Oracle Database XEをダウンロード

3.「Oracle Database 21c Express Edition for Windows x64」を選択します。

Oracle Database 21c Express Edition for Windows x64

4.「OracleXEXXX_Win64.zip」を展開(解凍)し、「OracleXEXXX」の中に移動します。
※OracleXEXXXXXX部分はProduction Versionになっているようです。今回はProduction Version 21.3.0.0.0なので、213表示になっています。

OracleXE213_Win64.zip

5.「setup.exe」を右クリックし、「管理者として実行」を選択します。
※ユーザーアカウント制御画面が表示されたら「はい」を選択します。

setup.exe

6.「次へ」を選択します。

Oracle Database 21c Express Edition InstallSheildウィザード

7.「使用許諾条項を受け入れる」を選択し、「次へ」を選択します。

Oracle Database 21c Express Edition 使用許諾条項

8.インストール用の宛先フォルダを設定し、「次へ」を選択します。
※デフォルトは「C:¥app¥{ユーザー名}¥product¥21c¥」です。
 今回、私は事前にDドライブにproductフォルダ、21cフォルダを作成し、宛先フォルダを変更しましたが、基本はデフォルトのままでいいと思います。
※宛先フォルダをデフォルトの「C:¥app¥{ユーザー名}¥product¥21c¥」にした場合のORACLE環境変数 ORACLE_HOME、ORACLE_BASEは、以下の通りです。
 ORACLE_HOME→C:¥app¥{ユーザー名}¥product¥21c¥dbhomeXE¥
 ORACLE_BASE→C:¥app¥{ユーザー名}¥product¥21c¥

宛先フォルダ

9.「データベース・パスワードの入力」「データベース・パスワードの確認」にパスワードを入力し、「次へ」を選択します。
※SYS、SYSTEM、PDBADMINのパスワードになります。必ずメモなどにひかえておきましょう。

Oracle Database情報 データベース・パスワード

10.サマリー画面の情報を確認し、「インストール」を選択します。

サマリー

11.インストールが完了するまで待ちます。

Oracle Database 21c Express Editionをインストール中

※インストール中に「OracleXEリスナーの構成がスキップされました」と表示がありましたが、「OracleXEリスナーを構成しています...」から「完了」となりました。

OracleXEリスナーの構成

12.インストール完了画面で「完了」を選択します。

Oracle Databaseが正常にインストールされました。

13.スタートメニューに「Oracle - OraDB21Home1」が表示されます。

Oracle - OraDB21Home1

OracleDB 21c XEをセットアップする方法

コマンドプロンプトを開きなおすと、再度CDB$ROOTからXEPDB1への接続先の変更が必要になります。
「OracleDB 21c XEをセットアップする方法」の内容については、同じコマンドプロンプトですべて実施することをおすすめします

1.SQL*PlusでOracle Database 21c Express EditionのPDBに接続する

1.コマンドプロンプトを「管理者として実行」から開きます。

2.以下コマンドを実行し、Oracle Database 21c Express Editionに接続します。

sqlplus / as sysdba

3.以下コマンドを実行し、現在の接続先を確認します。

show con_name

CDB$ROOT(コンテナデータベース)に接続されています。

show con_name

4.以下コマンドを実行し、PDB(プラガブルデータベース)の一覧を表示します。

show pdbs
show pdbs

5.以下SQLを実行し、PDBの「XEPDB1」に接続先を変更します。

alter session set container = XEPDB1;

6.以下コマンドを実行し、接続先が「XEPDB1」に変わっていることを確認します。

show con_name
show con_name

2.表領域、一時表領域の作成

1.以下SQLを実行し、表領域を作成します。
※赤文字部分は適宜変更してください。
デフォルトの場合は、「C:\app\※ユーザー名※\product\21c\oradata\XE\※任意指定※.dbf」になると思います。「C:\app\※ユーザー名※\product\21c\oradata\XE\」のパスが存在することを確認した上で、指定してください。

CREATE TABLESPACE AURORATEST
DATAFILE 'D:\product\21c\oradata\XE\auroratest.dbf' SIZE 100M
SEGMENT SPACE MANAGEMENT AUTO;

2.以下SQLを実行し、一時表領域を作成します。
※赤文字部分は適宜変更してください。
デフォルトの場合は、「C:\app\※ユーザー名※\product\21c\oradata\XE\※任意指定※.dbf」になると思います。「C:\app\※ユーザー名※\product\21c\oradata\XE\」のパスが存在することを確認した上で、指定してください。

CREATE TEMPORARY TABLESPACE AURORATEMP
TEMPFILE 'D:\product\21c\oradata\XE\auroratemp.dbf' SIZE 100M
AUTOEXTEND ON;
表領域、一時表領域の作成

3.ユーザーの作成、権限付与、パスワード無期限の設定

1.以下SQLでユーザーを作成します。
※IDENTIFIED BY 部分がパスワードになります。
※default tablespaceに作成した表領域、temporary tablespaceに作成した一時表領域を指定しています。

CREATE USER aurora IDENTIFIED BY aurora default tablespace AURORATEST temporary tablespace AURORATEMP;

2.以下SQLで作成したユーザーに権限を付与します。

GRANT CONNECT, RESOURCE, DBA TO aurora; 
ユーザー作成、権限付与

3.以下SQLで作成したユーザーの表領域を確認します。

select username,default_tablespace,temporary_tablespace FROM DBA_USERS where username='AURORA';

4.作成したユーザーのプロファイルを確認します。

SELECT username,profile from dba_users where username = 'AURORA';

プロファイルはDEFAULTであることが分かります。

5.以下SQLでDEFAULTプロファイルのパスワード期限を確認します。

select * from dba_profiles
where resource_name = 'PASSWORD_LIFE_TIME'
and profile = 'DEFAULT';

パスワード期限が180日に設定されています。

6.DEFAULTプロファイルのパスワード期限を無期限に設定します。

ALTER PROFILE DEFAULT LIMIT password_life_time unlimited;

7.パスワード期限が無期限「UNLIMITED」になっていることを確認します。

select * from dba_profiles
where resource_name = 'PASSWORD_LIFE_TIME'
and profile = 'DEFAULT';

コマンドプロンプトは閉じて大丈夫です。

tnsname.ora ファイルの編集

1.tnsname.ora ファイルがあるフォルダまで移動します。
※デフォルトの設定の場合は、「C:¥app¥{ユーザー名}¥product¥21c¥dbhomeXE¥」(ORACLE_HOME)配下のnetwork¥admin¥にあると思います。
tnsname.ora ファイルの場所は、以下コマンドをPowerShellで実行することで確認できます。

tnsping a

2.tnsnames.oraをコピーして、バックアップとして残しておきます。

3.すでにあるXEの接続先情報をコピーし、ファイルの末尾に貼り付けます。XEの2カ所をXEPDB1に変更して、保存します。

tnsnames.ora

4.コマンドプロプロンプトを開き、作成したユーザーでデータベースに接続します。

sqlplus ユーザー/パスワード@XEPDB1


OracleXEにA5SQLで接続する

SQL*Plusよりも便利なA5SQLOracleXEに接続をします。

1.A5SQL-mk2を起動します。

2.「データベース」「データベースの追加と削除」を順番選択します。

3.「追加」を選択します。

4.「Oracle Database (OCI経由 or 直接接続)」を選択します。

5.接続文字列ユーザーIDパスワードを入力し、「パスワードを保存する」にチェック。「テスト接続」を選択し、接続に成功することを確認後、「OK」を2回選択します。
 ※接続文字列にはXEPDB1を指定します。ユーザーID、パスワードはSQLで作成したユーザー、パスワードを設定します。
 ※データベースの名前を設定する画面が表示されたら「XEPDB1」のまま変更しないでOKです。

6.「閉じる」を選択し、設定画面を閉じます。

7.「XEPDB1」をダブルクリックし、ユーザーID、パスワードを入力。「接続」を選択して、データベースに接続できることを確認します。
※「パスワードを保存する」にチェックは任意で設定してください。



以上、お読みいただきありがとうございました。