🐧

OracleLinux8.10 の Oracle Database 21c にデータベースを作成する

に公開

前提

続きです。

https://zenn.dev/asterisk9101/articles/oraclelinux8-3

DBCA でデータベースを構成する

Oracle Database 21c にデータベースを作ります。

Oracle ユーザーで操作します。

export LANG=C
export DISPLAY=:0
dbca

Create a database を選んで次へ

1

Advanced configuration を選んで次へ

1

General Purpose or Transaction Processing を選んで次へ

1

しばらく変更せずに次へ

1

1

1

1

1

1

1

EM は非推奨らしいので Configure Enterprise Manager ... のチェックを外して次へ

1

管理者共通のパスワードを設定して次へ

1

Create database を選んで次へ

1

確認画面が表示されて完了です。

1
1
1
1

接続確認

ドキュメントには記載がなかったのですが、 tnsnames.ora の配置しているパスをエクスポートする必要がありました。

.bash_profile に記載しておきます。

# .bash_profile
export TNS_ADMIN=/u01/app/oracle/homes/OraDB21Home1/network/admin

sqlplus を使って sysdba でログインします。

sqlplus sys@orcl as sysdba

接続状態を確認します。

show con_name

-- CON_NAME
-- ------------------------------
-- CDB$ROOT

CDB$ROOT に接続されます。ここは各 PDB の共通設定などを置いておくところだそうです。

続いて、PDB の状態を確認します。

-- オープンモードの確認
COLUMN NAME FORMAT A15
COLUMN RESTRICTED FORMAT A10
COLUMN OPEN_TIME FORMAT A30
SELECT NAME, OPEN_MODE, RESTRICTED, OPEN_TIME FROM V$PDBS;

-- NAME            OPEN_MODE  RESTRICTED OPEN_TIME
-- --------------- ---------- ---------- ------------------------------
-- PDB$SEED        READ ONLY  NO         25-08-22 01:32:32.593 +09:00
-- ORCLPDB1        MOUNTED

MOUNTED なので、オープンしていません。

PDB をオープンします。

-- ORCLPDB1 をオープンする
alter pluggable database orclpdb1 open;

-- OPEN したか確認
SELECT NAME, OPEN_MODE, RESTRICTED, OPEN_TIME FROM V$PDBS;

-- NAME            OPEN_MODE  RESTRICTED OPEN_TIME
-- --------------- ---------- ---------- ------------------------------
-- PDB$SEED        READ ONLY  NO         25-08-22 01:32:32.593 +09:00
-- ORCLPDB1        READ WRITE NO         25-08-22 23:39:47.039 +09:00

ORCLPDB1 がオープンしたので、接続しているセッションを変更します。

-- セッション変更
alter session set container = ORCLPDB1;

-- 現在のセッションの確認
show con_name

-- CON_NAME
-- ------------------------------
-- ORCLPDB1

想定した PDB に接続できました。

停止と再起動

Grid を含めた停止と起動について確認します。

# Grid 全体の制御を行っている High Availability Service のステータス確認
crsctl check has

# Grid を構成するリソースのステータス確認
crsctl status res -t

# 停止
crsctl stop has

# 起動
crsctl start has

プラガブルデータベースは相変わらず MOUNTED なので、上記の手順で起動してやる必要がありました。

自動起動の方法もありますが、一旦はこのまま。

GitHubで編集を提案

Discussion