※(2023/4/4追記)23cの開発者版がリリースされてovaイメージが置き換えられたため下記記事を参照して下さい。
以前の記事の 19c版 となります。
OTN の VirtualBoxイメージ で Oracle DB 18c環境 を 楽々構築
【Oracle Database or GoldenGate Advent Calendar 2018 Day 5】
https://qiita.com/ora_gonsuke777/items/87f9b0078febddea2178
OTNからダウンロードできる VirtualBoxイメージ(ovaファイル)で
Oracle Database 19c環境をサクっと構築してみるやで彡(゚)(゚)
1. VirtualBox をインストール
まずは VirtualBox をダウンロードしてインストール、現時点(2019/8/16)の最新版は 6.0.10 となります。
Oracle VM VirtualBox Extension Pack も一緒に入れとくと良いです。
Oracle VM VirtualBox
https://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html?ssSourceSiteId=otnjp
2. Database Virtual Box Appliance / Virtual Machine の ovaイメージをダウンロード
下記ページから ovaイメージ を ダウンロードします。
7.8GB位あるのでダウンロードを開始したら少し待ちます彡(゚)(゚)
Oracle Technology Network
Database Virtual Box Appliance / Virtual Machine
https://www.oracle.com/technetwork/database/enterprise-edition/databaseappdev-vm-161299.html
↓
※リンクが変わっていたので追記、上記リンクもリダイレクトはされるようですが。
https://www.oracle.com/database/technologies/databaseappdev-vm.html
念のためハッシュ値を確認します。下記はコマンドプロンプトでのMD5ハッシュ値確認例彡(゚)(゚)
certutil -hashfile C:\Users\AYSHIBAT\Downloads\DeveloperDaysVM2019-05-31_20.ova MD5
MD5 ハッシュ (対象 C:\Users\AYSHIBAT\Downloads\DeveloperDaysVM2019-05-31_20.ova):
20b5a5bd91cfe9d4f5acf5128f06146e
CertUtil: -hashfile コマンドは正常に完了しました。
3. ovaイメージのインポート
ダウンロードしたovaイメージをVirtualboxにインポートします。基本ポチポチするだけ彡(゚)(゚)
4. 仮想マシンの起動
インポートが成功したら、仮想マシンを起動します。起動するだけ彡(゚)(゚)
5. 仮想マシンへのアクセス(ssh + sqlplus)
インポートされた仮想マシンにはNATのポートフォワード設定が下記のように設定されています。
sshのポートフォワードは 2222(HOST)→22(GUEST) に設定されているので、
ホストOSのターミナルソフトから「localhost:2222」でsshログインが可能です。
ユーザ名とパスワードは元ページに書かれている通り両方とも oracle 彡(゚)(゚)
(Username and password is oracle.)
Teratermでログインしてみます。
sshログイン後、環境変数ORACLE_HOMEとPATHを設定します。
tnsnames.oraには CDB と PDB の接続文字列が記述されてます。CDB に接続してみますやで彡(゚)(゚)
export ORACLE_HOME=/u01/app/oracle/product/version/db_1
export PATH=${PATH}:${ORACLE_HOME}/bin
cat ${ORACLE_HOME}/network/admin/tnsnames.ora
sqlplus /nolog
CONNECT SYS/oracle@ORCLCDB AS SYSDBA
SET LINESIZE 170;
SET PAGESIZE 100;
SHOW CON_NAME;
SELECT PATCH_ID, PATCH_UID, PATCH_TYPE, DESCRIPTION FROM DBA_REGISTRY_SQLPATCH;
実行結果は下記の通り。DBにログイン成功や!彡(^)(^)
[oracle@localhost ~]$ export ORACLE_HOME=/u01/app/oracle/product/version/db_1
[oracle@localhost ~]$ export PATH=${PATH}:${ORACLE_HOME}/bin
[oracle@localhost ~]$ cat ${ORACLE_HOME}/network/admin/tnsnames.ora
ORCLCDB=localhost:1521/orclcdb
ORCL=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
[oracle@localhost ~]$ sqlplus /nolog
SQL*Plus: Release 19.0.0.0.0 - Production on Sat Aug 17 03:21:14 2019
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
SQL> CONNECT SYS/oracle@ORCLCDB AS SYSDBA
Connected.
SQL> SET LINESIZE 170;
SQL> SET PAGESIZE 100;
SQL> SHOW CON_NAME;
CON_NAME
------------------------------
CDB$ROOT
SQL> SELECT PATCH_ID, PATCH_UID, PATCH_TYPE, DESCRIPTION FROM DBA_REGISTRY_SQLPATCH;
PATCH_ID PATCH_UID PATCH_TYPE DESCRIPTION
---------- ---------- ---------- ----------------------------------------------------------------------------------------------------
29517242 22862832 RU Database Release Update : 19.3.0.0.190416 (29517242)
SQL>
6. 仮想マシン上のDBへのアクセス(SQL Developer)
お次はホストOSの SQL Developer で仮想マシンのDBにログインしてみます彡(゚)(゚)
仮想マシンのOracleリスナーのポートは 1521(HOST)→1521(GUEST) にフォワードされているので、
ホストOSのツール等から localhost:1521 でDB接続できます。SQL Developer で PDBの方に接続してみます。
ユーザー名:PDBADMIN
パスワード:oracle
ホスト名 :localhost
ポート :1521
サービス名:orcl
接続後、試しに V$VERSION を SELECT してみます。
成功(`・ω・)Ъ
7. 仮想マシンのAPEX ADMIN環境にホストマシンのWebブラウザからアクセス(Oracle APEX)
仮想マシンの8080ポート(HOST)は8080ポート(GUEST)にフォワードされていて、
ホストマシンのブラウザから仮想マシンのAPEX ADMIN環境にアクセスできます。下記は接続情報となります。
URL…………http://localhost:8080/apex
Workspace…INTERNAL
Username …ADMIN
Password …oracle
この接続情報元ネタは下記、publicなのは無いのかな…?
Installing and Configuring an Oracle Developer Day VirtualBox Image
https://mikesmithers.wordpress.com/2015/01/25/installing-and-configuring-an-oracle-developer-day-virtualbox-image/
このADMIN環境からワークスペースを作成すれば、
もりもりAPEXアプリを作れるやで。過去記事も見てね彡(^)(^)
Oracle APEX Meetup 第2回「2時間でできるAPEXハンズオン」(6/1・木) に行ってみたのでご報告
https://gonsuke777.hatenablog.com/entry/20170613/1497339652
8. OS認証で CDB$ROOT にSYSユーザーでログイン(※2019/8/23追記)
CDB$ROOT に OS認証 でログインする方法ですが、該当環境のoracleユーザーには
環境変数TWO_TASKがセットされているので、これを解除して ORACLE_SID を指定してログインして下さい。
SQLPlus ユーザーズ・ガイドおよびリファレンス 19c
2.1 SQLPlusの環境変数
https://docs.oracle.com/cd/F19136_01/sqpug/configuring-SQL-Plus.html#GUID-A91DD984-84ED-4D67-9983-938FCFC3665E
TWO_TASK 接続文字列を指定するUNIX環境変数。データベースを指定しない接続は、TWO_TASKに指定したデータベースに接続されます。
export ORACLE_HOME=/u01/app/oracle/product/version/db_1
export PATH=${PATH}:${ORACLE_HOME}/bin
export ORACLE_SID=orclcdb
unset TWO_TASK
sqlplus /nolog
CONNECT / AS SYSDBA
SHOW CON_NAME;
SHOW PDBS;
下記の通り OS認証 でログインできます。
$ export ORACLE_HOME=/u01/app/oracle/product/version/db_1
$ export PATH=${PATH}:${ORACLE_HOME}/bin
$ export ORACLE_SID=orclcdb
$ unset TWO_TASK
$ sqlplus /nolog
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Aug 23 03:43:09 2019
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
SQL> CONNECT / AS SYSDBA
Connected.
SQL> SHOW CON_NAME;
CON_NAME
------------------------------
CDB$ROOT
SQL> SHOW PDBS;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ORCL READ WRITE NO
SQL>
9. まとめ
VirtualBoxでお手軽にOracle Database 19c環境を構築できたやで!どんどん活用するんやで。
彡(^)(^)