Oracle Database 23c Free とは
Oracle Database 23c は 2023年4月に Oracle Database 23c Free - Developer Release が公開されました。このリリースは開発者向けの最初のバージョンでした。2023年9月 Oracle Database 23c Free が公開されました。Oracle Database 23c Free は Oracle Database Express Edition (XE) の後継リリースになります。実質的に両者にほとんど違いは無いと思われますが、Oracle Database 23c Free にアップデートすることが推奨されています。
Oracle Database 23c Free はこちら からダウンロードできます。インストールメディアには Docket イメージ、VirtualBox イメージ、Linux 用 RPM パッケージ等が利用できます。本記事では Red Hat Enterprise Linux 8 に RPM パッケージでインストールされた Oracle Database 23c Free - Developer Release の削除と、Oracle Database 23c Free のインストールについて説明しています。
Oracle Database 23c Free-Developer Release の削除
Oracle Database 23c Free - Developer Release の rpm パッケージを削除しようとすると、リスナーやデータベースが存在するとエラーになります。
# rpm -e oracle-database-free-23c-1.0-1.x86_64
[SEVERE] Database or a listener exists. To delete the database and the listener run '/etc/init.d/oracle-free-23c delete' before proceeding.
error: %preun(oracle-database-free-23c-1.0-1.x86_64) scriptlet failed, exit status 1
error: oracle-database-free-23c-1.0-1.x86_64: erase failed
このためあらかじめデータベースとリスナーを削除するか、/etc/init.d/oracle-free-23c delete コマンドを実行します。下記の例では既にデータベースとリスナーを削除しているため、スクリプトがエラーになっています。
# /etc/init.d/oracle-free-23c delete
Deleting Oracle Listener.
Deleting Oracle Database FREE.
[FATAL] [DBT-10201] Delete database operation cannot be performed.
CAUSE: There are no databases present on the system.
コマンド実行後に Oracle Database 23c Fre-Developer Release 用の RPM パッケージを削除し、あわせて Pre-Install RPM も削除します。
# rpm -e oracle-database-preinstall-23c-1.0-0.5.el8.x86_64
Oracle Database 23c Free のインストール
Oracle Database 23c Free-Developer Release と Oracle Database 23c Free のインストール条件は同じです。まず Pre-Install RPM をインストールし、Oracle Database 23c Free の RPM パッケージをインストールします。
# rpm -ivh oracle-database-preinstall-23c-1.0-0.5.el8.x86_64.rpm
warning: oracle-database-preinstall-23c-1.0-0.5.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ad986da3: NOKEY
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:oracle-database-preinstall-23c-1.################################# [100%]
#
# rpm -ivh oracle-database-free-23c-1.0-1.el8.x86_64.rpm
warning: oracle-database-free-23c-1.0-1.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ad986da3: NOKEY
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:oracle-database-free-23c-1.0-1 ################################# [100%]
[INFO] Executing post installation scripts...
[INFO] Oracle home installed successfully and ready to be configured.
To configure Oracle Database Free, optionally modify the parameters in '/etc/sysconfig/oracle-free-23c.conf' and then run '/etc/init.d/oracle-free-23c configure' as root.
Oracle Database 23c Free のセットアップ
2つの RPM パッケージがインストールできたら「/etc/init.d/oracle-free-23c configure」コマンドを実行します。SYS ユーザーのパスワード、SYSTEM ユーザーのパスワード、PDB の管理者である PDBADMIN ユーザーのパスワード入力を求められます。
# /etc/init.d/oracle-free-23c 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:
Confirm the password:
Configuring Oracle Listener.
Listener configuration succeeded.
Configuring Oracle Database FREE.
Enter SYS user password: <<パスワード入力>>
************
Enter SYSTEM user password: <<パスワード入力>>
***********
Enter PDBADMIN User Password: <<パスワード入力>>
*************
Prepare for db operation
7% complete
Copying database files
29% complete
Creating and starting Oracle instance
30% complete
33% complete
36% complete
39% complete
43% complete
Completing Database Creation
47% complete
49% complete
50% complete
Creating Pluggable Databases
54% complete
71% complete
Executing Post Configuration Actions
93% complete
Running Custom Scripts
100% complete
Database creation complete. For details check the logfiles at:
/opt/oracle/cfgtoollogs/dbca/FREE.
Database Information:
Global Database Name:FREE
System Identifier(SID):FREE
Look at the log file "/opt/oracle/cfgtoollogs/dbca/FREE/FREE0.log" for further details.
Connect to Oracle Database using one of the connect strings:
Pluggable database: {ホスト名}/FREEPDB1
Multitenant container database: rel87-2
#
実行が完了すると、SID=FREE のデータベースと、LISTENER リスナーが起動します。主な設定項目は以下の通りです。
データベース
作成される FREE データベースは、NOARCHIVELOG モード、Local Undo モードのマルチテナント・データベースです。PDBとして FREEPDB1 が作成されます。表領域のサイズは以下の通りです。
表領域名 | CDBサイズ(MB) | PDBサイズ(MB) | 備考 |
---|---|---|---|
SYSTEM | 1,060 | 290 | |
SYSAUX | 580 | 360 | |
UNDOTBS1 | 50 | 100 | |
USERS | 5 | 5 | |
TEMP | 20 | 20 |
以下の設定が追加された初期化パラメーター・ファイルが作成されます。
初期化パラメーター | 設定値 | 備考 |
---|---|---|
compatible | 23.0.0 | |
control_files | /opt/oracle/oradata/FREE/control01.ctl /opt/oracle/oradata/FREE/control02.ctl | |
db_block_size | 8192 | |
db_name | FREE | |
diagnostic_dest | /opt/oracle | |
dispatchers | (PROTOCOL=TCP) (SERVICE=FREEXDB) | |
enable_pluggable_database | true | |
local_listener | LISTENER_FREE | |
nls_language | AMERICAN | |
nls_territory | AMERICA | |
open_cursors | 300 | |
pga_aggregate_target | 512m | |
processes | 320 | |
remote_login_passwordfile | EXCLUSIVE | |
sga_target | 1536m | |
undo_tablespace | UNDOTBS1 |
SQL*Plus の起動時や、V$VERSION ビューを見ると、バージョン番号として、23.3.0.23.09 となっています。新しいバージョンの考え方かもしれません。
SQL> SELECT BANNER_FULL FROM V$VERSION;
BANNER_FULL
--------------------------------------------------------------------------------
Oracle Database 23c Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.3.0.23.09
インスタンスを構成するバックグラウンド・プロセスの名前が ora_ ではなく、db_ で始まっています。
$ ps -ef | grep pmon | grep -v grep
oracle 34232 1 0 16:59 ? 00:00:00 db_pmon_FREE
ネットワーク関連
ネットワーク関連では特に特殊な設定はされないようです。デフォルトの LISTENER リスナーが作成されます。
DEFAULT_SERVICE_LISTENER = FREE
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = {ホスト名})(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
FREE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = {ホスト名})(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = FREE)
)
)
LISTENER_FREE =
(ADDRESS = (PROTOCOL = TCP)(HOST = {ホスト名})(PORT = 1521))
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
Author: Noriyoshi Shinoda / Date: October 7, 2023