データベース技術調査ブログ

LinuxやPostgreSQL、Oracleデータベース、AWSの知識をアウトプットしていきます

【検証環境】Oracle Database 12cR2の環境について

現在Oracle MasterのBronze取得のためにSQLを学んでいます。

 

購入したテキストのサンプルを扱って学習のできるようでしたので、その環境をご紹介します。※環境構築の際に詰まりどころもいくつかあったので一緒にまとめます。

 

テキスト

まずはテキストを紹介します。

 

【オラクル認定資格試験対策書】ORACLE MASTER Bronze[12c SQL基礎](試験番号:1Z0-061)完全詳解+精選問題集(オラクルマスタースタディガイド)

【オラクル認定資格試験対策書】ORACLE MASTER Bronze[12c SQL基礎](試験番号:1Z0-061)完全詳解+精選問題集(オラクルマスタースタディガイド)

 

 

いわゆる「白本」です。バージョンが12cR1に沿って書かれています。 黒本との比較はしていないですが、分かりやすいです。模試が付いているのが売りポイントだと思います。

 

 

  仮想環境

今回はWindows PCにVirtualBoxで仮想のLinux環境を立て、そこにOracleをインストールしています。

 

ホスト側

  • OS:  Windows10
  • メモリ: 8 GB
  • CPU: Intel(R) Core(TM) i7-3632QM (第3世代、2.20 GHz)
  • HDD: 約750GB(Serial ATA、5400回転/分)

メモリが24Gあれば、RACに挑戦できるのにな... 

 今や32GBメモリのデスクトップを所有してるのでRAC余裕です(/ω\)

 

ゲスト側(VirtualBox

  • OS: Linux CentOS 7.3
  • メモリ: 4 GB
  • ディスク: 50 GB (VDIです)

最小要件よりもかなり余裕があります(*^^)v 

 

ネットワーク設定

  • ホストオンリーアダプタ
  • NAT

 

以上の2つのネットワークアダプタを用意しました。

よくある構成で、ホストオンリーアダプタ経由でTeratermをつなぎいじくり回します。パッケージを入れる際にネットに繋がっていないとめんどくさいのでNATも入れてます。※ずっと開けっ放しは気持ち悪いのでNAT側は普段は切っています。

 

 

Oracleデータベース

OTN上のマニュアルに従いインストールしました。

https://www.oracle.com/technetwork/jp/database/enterprise-edition/documentation/sidb12201-inst-linux-x64-ja-v10-3627443-ja.pdf

※DBCAの設定中にリスナーで詰まったので、先にnetcaでデフォルトリスナーLISTNERを構成しました。

 

 ソフトウェアの構成は以下の通りです。

  • バージョン: 12cR2 (12.2.0.1) 
  • Enterprise Edition

 

※ちなみに最小要件は

  • メモリ: 1 GB(2 GB以上推奨)
  • ディスク空き容量:

    Oraclede Database用に7.5 GB

    /tmp に1 GB

だそうです。(シングルは余裕ですね♪)

 

 

サンプルテーブルの作成

付属のサンプルテーブルを作製してくれるSQLスクリプトを流すところでこけました。

 

【こけたポイント】

  • 接続記述子が漏れていた ※2

 

※1 ちなみに以下のコマンドで変更しました。

   $ iconv -f sjis -t utf-8 cretab.sql -o cretab.sql

ややこしいのはUTF-8で日本語を書くとバイト数が2から3に増えるので最大バイト数を変換しないといけなかったところです。(=_=)

※2 12cからマルチテナント・アーキテクチャを採用しているのでユーザーの管理がやや複雑になっています。今回はCDBで構成しているので、PDBに繋ぎに行くような接続記述子を用意して繋ぐようにする必要がありました。(tnsnames.oraに接続記述子を追記する手順は先ほどのインストールマニュアルの最後の方に描かれています)

 

こちらの記事でいろいろ対処法まとめました。

https://jimatomo.hatenablog.com/entry/2019/05/28/202741

 

 

最後に

テキストの手順はWindowsOracle入れる手順だったのですが、サーバー周りの知識も身につけたかったので、今回はLinuxを立ててそこにインストールする手順に変更しました。(ちょっとズルしてGUI入れてしまったので今度機会があればGUI入れないで頑張ります。)

それでも環境構築だけで1日がかりでした(-_-;)

やっとこさSQLの勉強に本腰を入れる環境ができたので頑張ります(*^-^*)

 

2019/05/10 誤記修正

2019/05/29 cretab.sqlの編集方法についての記事リンク追加