[備忘録]vagrantでOracleインストール&SQL Developerで接続する


【概要】

vagrant+virtualboxで仮想環境を作成し、それにOracleをインストールしてゲストマシンからSQL Developerで接続する。

【環境】

・ゲスト環境
 windows8.1
 Vagrant 1.9.1
 VirtualBox 5.1.22 r115126
 SQL Developer 4.1.5.21
 ホスト環境接続用 → Putty

・ホスト環境
 CentOS6.5

【Oracleインストール方法】

(0)vagrantとvirtualboxをインストール。
(1)vagrantでホスト環境を作成する。
 (超簡単に説明すると、ネットからCentOSのboxダウンロードして、vagrantにaddしてupする)
 (VagrantfileのIPアドレスconfig.vm.network "private_network", ip: "192.168.33.10")
(2)Puttyでホスト環境に接続する。

(3)下記サイトの通りにコマンド実行する。
 Varagnt 環境の CentOS 6.6 に Oracle XE(11g Release 2) を導入してみる
 ただし、「Varagnt環境の設定」は無視。「ユーザーを作成、テーブルの作成」まで実施。
 /etc/init.d/oracle-xe configure でインストールエラーになったが、/etc/hostsファイルにホスト名を追記すれば成功した(127.0.0.1の行の最後にホスト名を追記)。

[root@vagrant-centos65 vagrant]# hostname
vagrant-centos65.vagrantup.com
[root@vagrant-centos65 vagrant]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 vagrant-centos65.vagrantup.com
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@vagrant-centos65 vagrant]#

(4)oracleユーザでログインしたときにsqlplusコマンドが使えるようoracleユーザのホームディレクトリの.bash_profileに下記を書き込む。
 . /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
 ただし、ルートユーザからoracleユーザにログインするときはsuコマンドにハイフンを付けてsu - oracleでログインしないと、.bash_profileが読み込まれずsqlplusコマンドが使えない。

【SQL Developerから接続方法】

(0)SQL Developerをインストール。
(1)左側にある接続ビューから「接続」→「接続の作成」を選択。
(2)下記画像を参考に接続設定をする。
 (usr01ユーザとsystemユーザで接続できるように2つ作成した)

  

  
(3)接続ボタンを押してSQLワークシートに適当なSQL書いて実行して結果が出ればOK!
 実行SQL例:select sysdate from dual;
  

【補足】

ターミナルからログインしてsqlplusコマンドを使用するときは下記のとおりに実行する。
sqlplus usr01/usr01@xe

sysユーザでログインするときは下記コマンドを使用する。
sqlplus sys/[パスワード]@xe as sysdba

sysユーザでsqldeveloperを使ってログインする時はロールを「SYSDBA」に変更してから接続する。