勉強用に Oracle Database 21c Express Edition (XE) をインストールする。
■ダウンロード
↓
「Oracle Database 21c Express Edition for Windows (64-bit)」をクリックしてダウンロード開始。
(実際の業務では 19c を使うが、19c には Express Edition(XE) がない。あるのは 18c、21c だけ。19c スキップされている。19c の無償版のダウンロードは Oracle アカウントが必要だったり、色々面倒臭いので 21c(XE) で(笑))
■インストール
ダウンロードした OracleXE213_Win64.zip を解凍。
setup.exe と Oracle Database 21c Express Edition.msi があって悩むが、setup.exe 実行でいいよな?setup.exe ダブルクリックで実行。
けっこう時間がかかる。
ディフォルトの設定を変更することなく「次へ」「次へ」と進んでいったので、途中の画面画像は省略。
データベースパスワードは test@pass01 にする。(途中で @ マークを使っていることが後ほど面倒臭いことになるのをまだ俺は知らなかった(^^;)
インストール完了。
■データベースへの接続
PS C:\Users\TESTER> sqlplusSQL*Plus: Release 21.0.0.0.0 - Production on 水 7月 1 10:35:14 2026Version 21.3.0.0.0Copyright (c) 1982, 2021, Oracle. All rights reserved.ユーザー名を入力してください: systemパスワードを入力してください: test@pass01@localhost:1521/XEPDB1<実際は表示されない>ERROR: ORA-12154: TNS: 指定された接続識別子を解決できませんでした
パスワードに @ マークを含む場合は、パスワードをダブルクォーテーションで囲ってやる必要がある。
@ なんか使わなきゃよかった。面倒くせえ(^^;
ユーザー名を入力してください: systemパスワードを入力してください: "test@pass01"@localhost:1521/XEPDB1<実際は表示されない>最終正常ログイン時間: 水 7月 01 2026 10:16:04 +09:00Oracle Database 21c Express Edition Release 21.0.0.0.0 - ProductionVersion 21.3.0.0.0に接続されました。SQL>
無事接続されたので、test 用の表領域(テーブルスペース)を作成しよう。
■スキーマの作成
SQL> CREATE TABLESPACE test_space2 DATAFILE 'C:\app\data\test.dbf' SIZE 100M3 AUTOEXTEND ON NEXT 500K MAXSIZE 1024M;CREATE TABLESPACE test_space*行1でエラーが発生しました。:ORA-01119: データベース・ファイル'C:\app\data\test.dbf'の作成中にエラーが発生しました。ORA-27040: ファイルの作成エラー、ファイルを作成できませんOSD-04002: ?t?@?C????[?v??????????S-Error: (OS 3)?w?????p?X?????????????
あれ?失敗する。権限の問題?
■(ちょっと小休止)特殊な文字の入ってるパスワードは面倒なのでやめる
まだ、TABLESPACE の作成が終わってないけど、その前に system ユーザのパスワードに @ マークが入っているので、うまく sqlplus で DB 接続できない。
Gemini に「ダブルクォーテーションでパスワードを囲まなきゃ」と言われたんだが、
sqlplus system/\"test@pass01\"@localhost:1521/XEPDB1
qlplus system/"test@pass01"@localhost:1521/XEPDB1
どちらも
ERROR: ORA-12154: TNS: 指定された接続識別子を解決できませんでした
になっちゃうなぁ(実際はダブルクォーテーションではなくシングルクォーテーションで囲まないとダメだったことが後ほどわかるんだけど(^^;;;)
ああ、面倒くせえ。@ マーク入りのパスワードは修正したほうがよさそうだ。
というわけで、system ユーザのパスワード変更。
ローカル(同一サーバー)での OS 認証で接続し、パスワード変更の QUERY を実行する。
PS C:\Users\TESTER> sqlplus / as sysdbaSQL*Plus: Release 21.0.0.0.0 - Production on 水 7月 1 11:23:38 2026Version 21.3.0.0.0Copyright (c) 1982, 2021, Oracle. All rights reserved.Oracle Database 21c Express Edition Release 21.0.0.0.0 - ProductionVersion 21.3.0.0.0に接続されました。SQL> ALTER USER SYSTEM IDENTIFIED BY testpass01;ユーザーが変更されました。SQL> ALTER USER SYS IDENTIFIED BY testpass01;ユーザーが変更されました。SQL>
パスワードは問題なく変更された様子。
別の Termnal を開いて、試しに接続してみるか。
PS C:\Users\TESTER> sqlplus system/testpass01@localhost:1521/XEPDB1SQL*Plus: Release 21.0.0.0.0 - Production on 水 7月 1 11:29:13 2026Version 21.3.0.0.0Copyright (c) 1982, 2021, Oracle. All rights reserved.最終正常ログイン時間: 水 7月 01 2026 10:40:00 +09:00Oracle Database 21c Express Edition Release 21.0.0.0.0 - ProductionVersion 21.3.0.0.0に接続されました。SQL>
行けた・・・やっぱり、パスワードに @ なんか使うもんじゃないね(笑)
■スキーマの作成(再び)
SQL> CREATE TABLESPACE test_space2 DATAFILE 'C:\app\data\test.dbf' SIZE 100M3 AUTOEXTEND ON NEXT 500K MAXSIZE 1024M;CREATE TABLESPACE test_space*行1でエラーが発生しました。:ORA-01119: データベース・ファイル'C:\app\data\test.dbf'の作成中にエラーが発生しました。ORA-27040: ファイルの作成エラー、ファイルを作成できませんOSD-04002: ?t?@?C????[?v??????????S-Error: (OS 3)?w?????p?X?????????????
ダメか。
あっ、もしかしてディレクトリは先に作成しておかないといけないの?C:\app\data ディレクトリを作って再び CREATE TABLESPACE を実行。
SQL> CREATE TABLESPACE test_space2 DATAFILE 'C:\app\data\test.dbf' SIZE 100M><\span>3 AUTOEXTEND ON NEXT 500K MAXSIZE 1024M;表領域が作成されました。
テーブルスペースはできた。(しかし、エラーメッセージの文字化け化けなんなんかね?すごいことが起きてると思って、単純にディレクトリを手動で作っておかないといけないだけってところに思考がいかなかったよ(^^;;;)
続けてユーザ作成。(データベースの作成もできる DBA 権限を付与)
SQL> CREATE USER tester2 IDENTIFIED BY tester013 DEFAULT TABLESPACE test_space4 TEMPORARY TABLESPACE TEMP5 PROFILE DEFAULT;ユーザーが作成されました。SQL> GRANT DBA TO tester;権限付与が成功しました。
ばっちり。
これで初期インストール作業は終了。

コメントする