Oracle Database 23ai Freeのインストール / Oracle Linux 8.10

アフィリエイト広告を利用しています

このページの内容が役に立ったら X (旧twitter) でフォローして頂けると励みになります
挨拶や報告は無しで大丈夫です

いよいよお目当てのOracle Database 23ai Freeをインストールしていきます。

なお本番環境で利用される場合はここにある内容だけを鵜呑みにせずセキュリティ専門家に相談されることをお勧めします。

環境

実施日2024-06-29
サーバVMwareESXi 6.7 U2
OSOracle Linux 8.10
cat /etc/redhat-release
Red Hat Enterprise Linux release 8.10 (Ootpa)
cat /etc/os-release
NAME="Oracle Linux Server"
VERSION="8.10"
ID="ol"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="8.10"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Oracle Linux Server 8.10"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:8:10:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://github.com/oracle/oracle-linux"

ORACLE_BUGZILLA_PRODUCT="Oracle Linux 8"
ORACLE_BUGZILLA_PRODUCT_VERSION=8.10
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=8.10

公式のダウンロードページとURL

https://www.oracle.com/jp/database/free/get-started

上記URLの「Oracle Linux 8」の欄が今回の対象となります。

ファイル名のリンクの上で右クリックし「リンクのアドレスをコピー」

次のURLが取得できます。

https://download.oracle.com/otn-pub/otn_software/db-free/oracle-database-free-23ai-1.0-1.el8.x86_64.rpm

Oracle Database 23のRPMパッケージをインストール

ディレクトリを移動して、先ほど取得したダウンロードURLから oracle-database-free-23ai-1.0-1.el8.x86_64.rpm をダウンロードします。

cd /tmp

ダウンロードします。

wget https://download.oracle.com/otn-pub/otn_software/db-free/oracle-database-free-23ai-1.0-1.el8.x86_64.rpm

パッケージのインストール

dnf install oracle-database-free-23ai-1.0-1.el8.x86_64.rpm

データベースの設定

インストールが完了したら、データベースの設定を行う必要があります。
以下のコマンドを実行して、初期設定を行います。

これにより、Oracle Database 23の初期設定が開始されます。
設定中に必要な情報(パスワード設定など)を入力します。

/etc/init.d/oracle-free-23ai configure
Specify a password to be used for database accounts. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. Note that the same password will be used for SYS, SYSTEM and PDBADMIN accounts:

▲訳▼

データベース アカウントに使用するパスワードを指定します。Oracle では、入力するパスワードの長さは 8 文字以上で、大文字、小文字、数字 (0 ~ 9) をそれぞれ 1 文字以上含めることを推奨しています。SYS、SYSTEM、PDBADMIN アカウントには同じパスワードが使用されることに注意してください。

Confirm the password:

▲訳▼

パスワードを確認してください:

Confirm the password:

▲訳▼

パスワードを確認してください:

Configuring Oracle Listener.
Listener configuration succeeded.
Configuring Oracle Database FREE.

▲訳▼

Oracle リスナーを構成しています。
リスナーの構成が成功しました。
Oracle データベースを無料で構成しています。

SYSユーザー・パスワードを入力してください:
*****************
SYSTEMユーザー・パスワードを入力してください:
******************
PDBADMINユーザー・パスワードを入力してください:
*****************
DB操作の準備
7%完了
データベース・ファイルのコピー中
29%完了
Oracleインスタンスの作成および起動中
30%完了
33%完了
36%完了
39%完了
43%完了
データベース作成の完了
47%完了
49%完了
50%完了
プラガブル・データベースの作成
54%完了
71%完了
構成後アクションの実行
93%完了
カスタム・スクリプトを実行中
100%完了
データベースの作成が完了しました。詳細は、次の場所にあるログ・ファイルを参照してください:
/opt/oracle/cfgtoollogs/dbca/FREE。
データベース情報:
グローバル・データベース名:FREE
システム識別子(SID):FREE
詳細はログ・ファイル"/opt/oracle/cfgtoollogs/dbca/FREE/FREE.log"を参照してください。
Connect to Oracle Database using one of the connect strings:
     Pluggable database: localhost.localdomain/FREEPDB1
     Multitenant container database: localhost.localdomain

最後に出てきた次の内容を覚えておきます。

ログディレクトリ/opt/oracle/cfgtoollogs/dbca/FREE
グローバル・データベース名FREE
システム識別子(SID)FREE
Pluggable databaselocalhost.localdomain/FREEPDB1
Multitenant container databaselocalhost.localdomain

oracleユーザーの確認と設定

ここまででLinuxユーザーとして oracle が作成されています。
確認してみましょう。

cat /etc/passwd

ここからは oracle ユーザーに切り替えて操作していきます。

su oracle -

ホームディレクトリを作成

oracle ユーザーは作成されたもののホームディレクトリは作られていないと思います。
確認をして無ければ作成します。

ls -la /home/oracle

※ディレクトリ作成は root ユーザーで行います。

mkdir -p /home/oracle
chown oracle:oinstall /home/oracle
chmod 755 /home/oracle

環境変数にパスを追加

環境変数を設定するのはあまり好みではないのですが、今回はOracleデータベース専用サーバということでオーソドックスなやり方で進めます。

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

su oracle -
cd
vi .bash_profile
export ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree
export ORACLE_BASE=/opt/oracle
export ORACLE_SID=FREE
export NLS_LANG=Japanese_Japan.AL32UTF8
export PATH=$PATH:$ORACLE_HOME/bin

変更を反映する

source ~/.bash_profile

確認

echo $ORACLE_HOME
echo $ORACLE_BASE
echo $ORACLE_SID
echo $NLS_LANG
echo $PATH

SQL*Plusに接続して確認

SQL*Plusに接続し、インスタンスが起動しているか確認します。

sqlplus / as sysdba

インスタンス名を確認

show parameter instance_name

PDBを確認

show pdbs

FREEPDB1に接続

alter session set container=FREEPDB1;

DBユーザを確認

select username from dba_users order by 1;

ファイアーウォールのポートを開ける

外部から接続する場合はポート 1521 を開ける必要があります。

firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all

デフォルトユーザーの違い

ここまでで SYS / SYSTEM / PDBADMIN の3つのユーザーが作成されています。
違いを整理しておきます。

SYSユーザー

データベース全体の最高権限を持つスーパーユーザーです。
データベースの内部構造やシステムの完全な制御が可能です。

  • データベースインスタンスの起動および停止
  • データベースのリカバリ操作
  • データディクショナリやカタログの管理
  • 高度な設定やシステムレベルのメンテナンス

SYSTEMユーザー

管理者権限を持つユーザーで、データベースの管理作業を行います。
SYSユーザーほどの権限はありませんが、通常の管理タスクに十分な権限を持っています。

  • ユーザーの作成および管理
  • スキーマの作成および管理
  • データベースオブジェクト(テーブル、インデックスなど)の管理
  • 一般的なデータベース管理作業

PDBADMINユーザー

プラガブルデータベース(PDB)の管理者です。
コンテナデータベース(CDB)の全体管理ではなく、特定のPDBの管理に使用します。

  • 特定のPDB内のユーザーおよびオブジェクトの管理
  • PDB内でのリソース管理やセキュリティ設定
  • PDBの作成、削除、接続などの操作

ここまで確認できたら次は外部のクライアントソフトから接続の確認を行います。