内容
oracle xeのインストールとインストール後のセットアップ、外部接続設定について記載しました。
今後の自己学習用にとりあえず上記内容のみまとめました。
外部接続の設定は自己学習するだけなら多分不要な設定だと思いますが、
複数個所から接続できるならそれを活かしてなんかしたいなと思ったので設定しています。
oracle XEのインストール
- 下記サイトから自分のOSにあったファイルをダウンロードします。
oracle XE インストール - ファイルを展開し、setup.exe(windowsの場合)を実行します。
- 基本的に次へボタンを押していればOKです。
※インストール先とDBのパスワードは任意のものを設定します。
インストール後のセットアップ手順
コマンドプロンプトを開き下記でDBに接続します。
as sysdba は管理者でログインするために必要で
ほかのやり方でも管理者ログインできますが下記のほうが手順的に早いです。
sqlplus sys/パスワード as sysdba
XEPDB1 という PDB が作成されているので下記で接続先を変更します。
alter session set container = XEPDB1;
下記で表領域の作成をします。
表領域とはテーブルを格納している物理的な場所のことでファイル拡張子は.dbfです。
segment space management auto;はDB を自動で効率化してくれる設定です。
SQL> create tablespace testspace
2 datafile 'C:\app\user\product\21c\oradata\XE\test.dbf' size 100m
3 segment space management auto;表領域が作成されました。
下記で一時表領域の作成をします。(ソートを行うための領域)
autoextend on;はスペース不足になったときに自動でサイズを増加する設定です。
SQL> create temporary tablespace testtemp
2 tempfile 'C:\app\user\product\21c\oradata\XE\testtemp.dbf' size 100m
3 autoextend on;表領域が作成されました。
下記でユーザの作成をします。
SQL> create user ユーザID
2 identified by パスワード
3 default tablespace testspace
4 temporary tablespace testtemp;ユーザーが作成されました。
下記でユーザに権限を付与します。
alter session set container = XEPDB1;
grant connect to ユーザID;
grant resource to ユーザID;
grant dba to ユーザID;
下記で作成したユーザで再接続します。
sqlplus ユーザID/パスワード@//localhost:1521/xepdb1
外部接続設定
Windows Defender ファイアウォールを開き、詳細設定を押下します。

受信の規則を押下すると、新しい規則が表示されるので押下します。

新規の受信の規則ウィザードが表示されるので下記設定をします。
規則の種類:ポート
プロトコルおよびポート:TCP, 1521
操作:接続を許可する
プロファイル:すべて
名前:任意
コマンドプロンプトで下記を実行します。
DBに接続している場合はexitで切断してください。
ipconfig
実行結果のIPv4 アドレス項目にIPアドレスが表示されるのでメモします。
別PCで接続確認をします。
a5m2(DB接続できるものなら何でもいいです)で下記の接続情報を入力したら完了です。

追記
2023/09/15
別PC(oracle xeインストール済み)でsqlplusによる接続をしようとしたらエラーになりました。
ORA-12638: 資格証明の取出しに失敗しました。
上記エラーについては下記ファイルを開きます。
C:\app\user\product\21c\homes\OraDB21Home1\network\admin\sqlnet.ora
下記行の先頭に#を付けてコメントにし、再度sqlplusを実行すると接続できました。
SQLNET.AUTHENTICATION_SERVICES= (NTS)
ついでにsqlplusで接続するときに毎回IPアドレス入力するのは大変なので
sqlnet.oraと同階層にあるtnsnames.oraに下記を追加します。
任意の名前 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = IPアドレス)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = xepdb1)
)
)
上記を設定すると以降は下記で接続できるようになります。
sqlplus ユーザ名/パスワード@任意の名前
2026/02/10
pdbの追加方法について記載
※xepdb2の作成が可能
管理者権限のコマンドプロンプトで下記を順に実行します。
管理者ユーザで接続
sqlplus / as sysdba
CDBコンテナに接続
ALTER SESSION SET CONTAINER = CDB$ROOT;
セッションが変更されました。
PDBの作成
下記はサンプルです。
CREATE PLUGGABLE DATABASE 新規PDB名
ADMIN USER 新規PDBユーザID IDENTIFIED BY 新規PDBパスワード
FILE_NAME_CONVERT = (
'C:\APP\ユーザ名\PRODUCT\21C\ORADATA\XE\PDBSEED\',
'C:\APP\ユーザ名\PRODUCT\21C\ORADATA\XE\新規PDB名\'
);
上記のユーザID、パスワード、PDB名を埋めてコマンドを実行します。
今回は下記で実行します。
CREATE PLUGGABLE DATABASE xepdb2
ADMIN USER pdbadmin IDENTIFIED BY password
FILE_NAME_CONVERT = (
'C:\APP\ユーザ名\PRODUCT\21C\ORADATA\XE\PDBSEED\',
'C:\APP\ユーザ名\PRODUCT\21C\ORADATA\XE\XEPDB2\'
);
プラガブル・データベースが作成されました。
新しいPDBを起動
ALTER PLUGGABLE DATABASE xepdb2 OPEN;
プラガブル・データベースが変更されました。
自動起動の有効化
ALTER PLUGGABLE DATABASE xepdb2 SAVE STATE;
プラガブル・データベースが変更されました。
PDBの状態を表示
追加したPDB(XEPDB2)が下記のようになっていればOKです。
SHOW PDBS;
CON_ID CON_NAME OPEN MODE RESTRICTED
------ ---------- ---------- ----------
2 PDB$SEED READ ONLY NO
3 XEPDB1 READ WRITE NO
4 XEPDB2 READ WRITE NO
PDBを開く
ALTER SESSION SET CONTAINER = xepdb2;
権限付与
GRANT DBA TO pdbadmin;
接続確認
DB接続を切断するか、新しいプロンプトを起動し、
先ほど設定したユーザID、パスワード、PDB名でコマンドを実行します。
sqlplus pdbadmin/password@localhost:1521/xepdb2
接続確認できれば、あとはxepdb1のようにa5m2などに設定を追加すればOKです。