Help us understand the problem. What is going on with this article?

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 を指定してログインして下さい。

SQL*Plus ユーザーズ・ガイドおよびリファレンス 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環境を構築できたやで!どんどん活用するんやで。
彡(^)(^)

ora_gonsuke777
やきうのお兄ちゃんなITエンジニア、主にOracle Database廻りを担当。日本オラクル株式会社 柴田 歩 ※本ブログに記述された見解は私個人の見解であり、所属する会社&組織の見解を必ずしも反映したものではありません。ご了承ください。
http://d.hatena.ne.jp/gonsuke777/
oracle
Oracle Cloudは、最先端の機能をSoftware as a Service、Platform as a ServiceおよびInfrastructure as a ServiceおよびData as a Serviceとして提供します。
https://cloud.oracle.com/ja_JP/home
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした