##事前準備
Homebrewがインストールされていること。
docker for macがインストールされていること。
資格試験本:オラクルマスター教科書 Bronze Oracle Database 12c SQL基礎
##oracle 12cのインストール
https://github.com/MaksymBilenko/docker-oracle-12c
docker-hubで漁ったら星たくさんで良さそうだったので・・・コレを入れます。
$ docker pull sath89/oracle-12c
$ docker run -d -p 8080:8080 -p 1521:1521 sath89/oracle-12c
##Oracleクライアントダウンロード
Oracleで適当にアカウントを作成し、下記のUSサイトからダウンロード。
instantclient-basic
instantclient-sqlplus
それぞれunzipで展開し、一つのフォルダ内にまとめ、/usr/local/Oracle に移動させておく。
*別に上記以外の好きな場所でもいいです。
.bash_profileに下記を記述し、sourceで再読み込み。
## oracle client
export ORACLE_HOME=/usr/local/Oracle
export PATH=$ORACLE_HOME:$PATH
export DYLD_LIBRARY_PATH=/usr/local/Oracle
export NLS_LANG=Japanese_Japan.AL32UTF8
*大きな会社の基幹系だと汎用機独自拡張で文字コードぐちゃぐちゃらしいので要確認。
Sun時代にOracleへ移行してるような会社だとEUCベースが多いのかな???
とりあえずココでは学習用ってことでUTF8にしときます。
##rlwrapのインストール
素のsqplusだと履歴が出せないらしいので、rlwrapをインストールする。
$ brew install rlwrap
$ rlwrap sqlplus system/oracle@//localhost:1521/xe.oracle.docker
SQL> select * from tab;
SQL> quit
##資格試験用サンプルデータのインストール
オラクルマスター教科書 Bronze Oracle Database 12c SQL基礎から
スクリプトファイル(CRE_DATA.zip) をダウンロード。
CRE_DATA.sqlの一行目を以下に書き換え。
CONNECT system/oracle@//localhost:1521/xe.oracle.docker
3行目を以下に書き換え。
CONNECT sql1/sql1@localhost:1521/xe.oracle.docker
CRE_SQL1.sqlの一行目を以下に書き換え。
CONNECT system/oracle@//localhost:1521/xe.oracle.docker
DROP USER sql1 CASCADE; の下に以下を追記。
create tablespace "EXAMPLE" datafile "/tmp/example.dbf" size 100M;
先に表示領域を作成しておかないとエラーが出たので・・・ファイルの場所は適当に。
$ cd ~/Downloads/CRE_DATA
$ rlwrap sqlplus system/oracle@//localhost:1521/xe.oracle.docker
SQL> set linesize 1000
SQL> show linesize;
SQL> @CRE_DATA.sql
行表示を広めに設定しておくと文字列が折り返しされない。とりあえず1000で。
エラー表示されずコミットされたのを確認したらサンプルデータを表示する。
SQL> select * from employees;
SQL> quit