ねら~ITエンジニア雑記

やきうのお兄ちゃんが綴るOracle Databaseメインのブログ

OTN の VirtualBoxイメージ で Oracle DB 19c環境 を 楽々構築

以前の記事の 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

念のためハッシュ値を確認します。下記はコマンドプロンプトでの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にインポートします。基本ポチポチするだけ彡(゚)(゚)
WS000001.JPG WS000002.JPG

4. 仮想マシンの起動

インポートが成功したら、仮想マシンを起動します。起動するだけ彡(゚)(゚)
WS000004.JPG WS000004c.JPG

5. 仮想マシンへのアクセス(ssh + sqlplus)

インポートされた仮想マシンにはNATのポートフォワード設定が下記のように設定されています。
WS000006.JPG

sshのポートフォワードは 2222(HOST)→22(GUEST) に設定されているので、
ホストOSのターミナルソフトから「localhost:2222」でsshログインが可能です。

ユーザ名とパスワードは元ページに書かれている通り両方とも oracle 彡(゚)(゚)

(Username and password is oracle.)

Teratermでログインしてみます。

WS000007.JPG WS000008.JPG

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

WS000010.JPG

接続後、試しに V$VERSION を SELECT してみます。
WS000009.JPG

成功(`・ω・)Ъ

7. 仮想マシンのAPEX ADMIN環境にホストマシンのWebブラウザからアクセス(Oracle APEX)

仮想マシンの8080ポート(HOST)は8080ポート(GUEST)にフォワードされていて、
ホストマシンのブラウザから仮想マシンのAPEX ADMIN環境にアクセスできます。下記は接続情報となります。

URL…………http://localhost:8080/apex
Workspace…INTERNAL
Username …ADMIN
Password …oracle

接続画面キャプチャはこちら
WS000012.JPG

接続後のキャプチャはこちら
WS000013.JPG

この接続情報元ネタは下記、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 SQL
Plusの環境変数
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環境を構築できたやで!どんどん活用するんやで。
彡(^)(^)