Oracle Cloud で先行してリリースされていた Oracle Database 12c リリース 2 のオンプレミス版がリリースされました。
仮想環境を手軽に構築できる Vagrant を使用して Linux 版 Oracle Database 12.2 検証環境を構築する方法を紹介します。Vagrantによるセットアップ手順
リリース当日(3月2日)にすでに Vagrant を使用した手順が公開されています。
この README には全て必要なことが書かれています。Oracle Database にはインストールの自動実行用にサイレントインストール手順が用意されていますので、上記手順ではサイレントインストール前に必要な処理とサンプルデータベースを作成する手順をシェルスクリプトで実行しています。
epel リポジトリから rlwrap をインストールして sqlplus のエイリアスにしているところにこだわりを感じます。Vagrant のプロビジョニングによる構築ですので手順の紹介はこれで終わりですが、これだけだと面白くないので、この手順を参考にして変更したところを紹介します。
Vagrantによるセットアップ手順(Ansible Provisioner)
最近 Ansible を使い始めたので Vagrant の Ansible Provisioner を試してみたかったのと、Oracle 公式の Vagrant Box がリリースされたようですのでそれらを使用してみます。
Vagrant のプロビジョナとして Ansible を使う場合 2 種類の方法があります。Vagrant を実行するノードからプレイブックを実行するansible
プロビジョナと、起動した VM インスタンスに ansible コマンドをインストールしてプレイブックを実行する ansible_local
プロビジョナがあります。
どちらの方法でもプレイブックは共通ですので、Vagrant ファイルで ansible コマンドの存在を確認してプロビジョナを決めています。
検証した環境は以下になります。
- macOS 10.12.3
- VirtualBox 5.1.18
- Vagrant 1.9.3
- Vagrant Box
- http://yum.oracle.com/boxes/oraclelinux/ol73/ol73.box
- http://yum.oracle.com/boxes/oraclelinux/ol69/ol69.box
- Ansible 2.2.2.0(homebrew) / 2.2.1.0(epel)
ツールのインストール
完全に好みの問題ですが rlwrap 以外にパッケージをインストールしています。
- vim-enhanced
- emacs
- screen
- tmux
サービススクリプトの設置
今回は Database ソフトウェアのインストールのみですので、OS 起動時に Oracle Database (とリスナー)を開始するようにスクリプト(dbora
)を設置しました。
dbora.service
)を設置しています。
プラガブルデータベースのオープン・モードの保持
12.1 がリリースされた頃にマルチテナント機能を試した時はコンテナデータベースを再起動するたびにプラガブルデータベースを毎回手動でオープンしなければならず面倒だなと思っていましたが、12.1.0.2 からプラガブルデータベースの状態を指定できるようになったようです。
- CDBの再起動全体におけるPDBの状態管理 - Oracle® Database新機能ガイド 12cリリース1 (12.1)
- CDB再起動時のPDBのオープン・モードの保持または破棄 - Oracle® Database管理者ガイド 12cリリース2 (12.2)
SQLclを設定
Oracle Database 12.2 には SQL Developer の CUI 版ともいえる SQLcl が同梱されています。
バージョンが RC なのでサポートの位置づけがどうなるか分かりませんが、better SQL*Plus として活躍の場面があるかも知れません。 SQL Developer 同様、最新版は OTN から別途ダウンロードする必要があります。 スクリプトファイルに実行権限が付与されていないようなので、ここでは権限を付与してシェルのエイリアスを定義しています。$ sudo -u oracle bash -l $ sql /nolog SQLcl: Release 12.2.0.1.0 RC on Sun Apr 16 06:56:08 2017 Copyright (c) 1982, 2017, Oracle. All rights reserved. SQL> conn system/oracle@localhost/pdb1 Connected. SQL> show jdbc -- Database Info -- Database Product Name: Oracle Database Product Version: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production Database Major Version: 12 Database Minor Version: 2 -- Driver Info -- Driver Name: Oracle JDBC driver Driver Version: 12.2.0.1.0 Driver Major Version: 12 Driver Minor Version: 2 Driver URL: jdbc:oracle:oci8:@localhost/pdb1 Driver Location: resource: oracle/jdbc/OracleDriver.class jar: /u01/app/oracle/product/12.2.0.1/dbhome_1/jdbc/lib/ojdbc8.jar JarSize: 4036257 JarDate: Tue Dec 13 16:39:52 UTC 2016 resourceSize: 2604 resourceDate: Tue Dec 13 08:39:48 UTC 2016今となっては内容が古いですが以前少し試した時の記事です。
おわりに
Vagrant や Ansible など環境構築を手軽に行えるツールを活用しつつ他のかたのインストール情報も参考に 12.2 環境を色々と試そうと思います。
今回は試していませんが Grid Infrastructure をインストールしない環境で複数のデータベースを管理する場合は、systemd で複数のユニットをインスタンス化する方法などもありそうですね。
0 件のコメント:
コメントを投稿