CentOSにOracleを入れる
無料でOracleが使いたい。
ということで、Oracle Database Express Edition 11g Release 2をCentOSに入れてみました。
環境
OS:CentOS6.4
要件
glibcは2.3.4-2.41以上makeは3.80以上binutilsは2.16.91.0.5以上gccは4.1.2以上libaioは0.3.104以上
下準備
インストール
Hostsの設定
デフォルトの設定ではtnsname.oraがhost名になっているので、ホスト名とipが紐づいていない場合エラーになります。
ホスト名を127.0.0.1に設定します。
ホスト名の確認
$ hostname
centOS64mini
ホスト名の設定
$ sudo vim /etc/hosts
デフォルトポートの解放
# 8080と1521を開ける$ sudo /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT# リスタート$ /etc/init.d/iptablesrestart
解凍
インストール
スワップ領域を一時的に2GBに設定。2GB以上ある場合はこの作業は不要です。
SWAPサイズを一時的に増やす : Edo::World::Blogこちらを参考にすると変更できます。
# 現在の領域を削除$ sudo swapoff -a# 2GBの領域を作成する$ sudo dd if=/dev/zero of=/tmp/swapfile bs=1M count=2048
$ sudo mkswap /tmp/swapfile
$ sudo swapon /tmp/swapfile# 確認$ cat /proc/swaps
インストール
sudo /etc/init.d/oracle-xe configure
swap領域を元に戻す
# 現在の領域を削除sudo swapoff -a# swap領域を元に戻すsudo swapon /dev/mapper/VolGroup-lv_swap# 確認sudo cat /proc/swaps# 作ったスワップファイルを削除sudo rm /tmp/swapfile
インストール完了。
※エラーが出た場合はここにログが出るので確認する
/u01/app/oracle/product/11.2.0/xe/config/log/
ユーザ作成
ORACLE_HOMEの設定
$ cat ~/.bashrc
oracleユーザのパスワード変更
$ sudo passwd oracle
oracleユーザでsqlplusにログイン
$ su oracle
$ sqlplus / as sysdba# testユーザをパスワードpasswordで作成SQL > create user test
identified by passworddefault tablespace USERS
temporary tablespace TEMP;# 権限の付与
testユーザで テーブル作成
# ログイン
$ sqlplus test/password@XE
# テーブル作成
SQL > create table test
(
id NUMBER(3) ,
name VARCHAR2(5),
primary key( id )
);
windowsからログインしてみる
A5:SQL Mk-2を使います。
データベース→データベースの追加と削除→追加→Oracle(OCI経由 or 直接接続)
こんな感じに設定をすればOKです。
ポート番号やサービス名を変更したい場合はtnsnames.oraを修正するといいです。
/u01/app/oracle/product/11.2.0/xe/network/admin/tnsnames.ora