はじめに
システム開発につきもののデータベース(以下、DB)ですが、試したいことがあっても環境がなく、なかなか試せない。
ローカルにインストールして使おうにも、1回インストールすると上手くアンインストールできなくなる上に重く、それ以後端末の動きを阻害する。
など、試すことも、学習することもなかなかハードルの高いのDBです。
その中でも、開発で使用する機会も多く、インストールや設定もハードルの高いOracleを簡単に試用、学習できる環境をメモしておきます。
当記事の元ネタは親切な人がまとめて公開してくれていて、当記事はそれに自分用メモを加えたものです。
元ネタの記事は末尾にリンクを掲載します。
Oracle Live SQL
Oracleの公式コンテンツで、SQLをコーディングして実行できます。
Oracleにアカウントを作るだけで無料で利用でき、SQLだけを試したり学習したりしたい場合は便利です。
Oracleインストール済みVM
Oracleバーチャルボックスで使用可能な、Oracleをインストール、設定してあるVMの仮想アプライアンスです。
面倒なインストール作業が不要で、SQL以外の機能もすべて試せます。
仮に壊しても、VMなので、削除も簡単で、インポートしなおせばまっさらな環境でまた始められます。
OSがOracle Linuxなので、ついでにLinuxの学習環境としても利用できます。
すごく便利です。
Oracleの開発者さん、ありがとうございます。
当記事執筆時点で最新の23cまで用意されています。
使用方法
VMを使用する方法を紹介します。
ダウンロード
こちらより仮想アプライアンスをダウンロードします。
リンクが効かない場合は「pre-built developer vms」や、「database app development vm」、「database app development vm」などのキーワードで検索してください。
「Database App Development VM」というリンクがあればそこからダウンロードできます。
インポート
ダウンロードした仮想アプライアンスをVirtual Boxにインポートします。
使用するメモリの量、基本フォルダなどは適宜設定を好みに合わせてください。
VMの設定
基本、起動すればそのまま使えるようになっています。
LinuxはgnomeのGUI環境で構築されているのでVirtual Boxの画面の上でも十分以上に使えます。
その他、SSHクライアントから操作するためのポート転送設定なども最初から入っていますので、それ以上に何か欲しければ追加で設定します。
起動
VMを起動し、ログインします。
Virtual Boxは起動すれば自動でoracleユーザーでOSにログインします。
使用するパスワードは、oracleユーザーほか、DBもrootユーザーもすべて「oracle」です。
OSを起動すれば勝手にOracleも起動するように連動するので、Oracle個別での起動は不要です。
CLIで使用
前述のとおり、VMはGUIで起動するので、そのまま使えますが、使う端末の性能によってはレスポンスがかなり微妙になるので、SSHクライアントを使用してOracleを使ってみます。
デフォルトのネットワーク設定はこうなっていますので、SSHの2222ポートに接続します。
SSH接続した後は、SQL*Plusを使ってみます。
SIDは設定されていませんので、必要に応じて設定します。
DBはプラがブルデータベースで構築されいるので、複雑なことをやろうとすると、その理解が必要になります。
■SSHクライアントの接続
※ID/PW:oracle/oracle
このままでも使えなくはないのですが、ユーザーを作らないと管理ユーザーのまま使用することになります。
ユーザーを作ったりは後述しますが、まずはSQLクライアントを設定しましょう。
また、管理ユーザーとしてはPDBADMINというユーザーもあります。
パスワードはもちろんoracleです。
詳しい使用方法は当記事のほかに、参考リンクも載せておきますので、そちらもあわせてご覧ください。
ちなみに、VMはインターネットも使えるようになっていますので、デスクトップ上でもWEBを見ながら作業できます。
SQLクライアントの使用
DB自体はCLIでも扱えますが、やはり不便ですので、SQLクライアントを設定して使用します。
この例ではosqleditという製品を使用します。
ネットワーク設定は、サーバー(VM)の設定(tnsnames.ora)を見ながら、ローカル用に変更して設定しましょう。
■サーバーのtnsnames.ora($ORACLE_HOME/network/admin)
■起動 ※SYSDBAで起動する
起動できました。
また、SQLも処理できました。
ユーザーを作る
通常DBを使用するためのユーザーを作ります。
-- ユーザーを作る
CREATE USER ORACLE_USER;
-- 権限を付与
GRANT CREATE SESSION TO ORACLE_USER;
ユーザーも作って、使用できる状態が整いました。
以降はこの要領で使っていきましょう。
最後に
簡単ですが、当記事は以上です。
学習環境は他にもありますので、いろいろ探してご自身に合ったものを使用してください。
参考
当記事の執筆にあたって参考にさせていただいた文献です。