Varagnt 環境の CentOS 6.6 に Oracle XE(11g Release 2) を導入してみる
Oracle 11g XE とは
以前から Oracle XE てなんだろう?って思っていたのですが、Oracle Database 11g リリース2 (11.2.0.2)をベースにした無償データベースのことだったんですね。
Oracle XEは商用利用もOKです。
システム要件
https://blogs.oracle.com/oracle4engineer/entry/column_xe_11g1
制限事項
システム要件に記述してありますが、インスタンスは1つ(SID=XE)のみです。
あと制限もあるけど、、検証用環境としてなら十分では?と思います。
Oracleのインストールって、お難しいんでしょう?
そうなんですよね、Oracle のインストールって難しいんです。が、この Oracle 11g XE は超簡単に10分程度でセットアップできます。何故かというと必要最低限の機能しかないからですw
OracleXE をダウンロード
Oracleダウンロードページから「oracle-xe-11.2.0-1.0.x86_64.rpm.zip」をダウンロードします。ダウンロードにはユーザ登録(無料)が必要です(ちなみに linux版は、64bitしかありませぬ)。
Varagnt環境の設定
OracleXEのインストールは簡単ですが、以下の点を注意し環境設定すること。
・hosts の設定がされていること
・swap領域は、メモリの2倍があること(http://edo.blog.jp/archives/1535522.html)
# OracleXE
config.vm.define :oracle do |oracle|
oracle.vm.hostname = "oracle"
oracle.vm.network :private_network, ip: "xxx.xxx.xxx.xxx"
oracle.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--memory", 512]
end
end
OracleXEインストール
OracleXEインストールに必要なパッケージをあらかじめインストールします。
$ sudo yum -y install glibc make gcc binutils libaio libaio-devel bc unzip
ダウンロードした oracle-xe-11.2.0-1.0.x86_64.rpm.zip を適当な場所において…
$ sudo su
# unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
# cd Disk1
# rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm
/etc/init.d/oracle-xe configure を実行し質問に答え環境を設定していきます。
・Oracle Application Express ポート(デフォルト:8080)
・Oracleリスナーポート(デフォルト:1521)
・Oracle ユーザ SYS と SYSTEM のパスワード(入力必須)
・システム起動時の自動実行の設定(デフォルト:y)
# /etc/init.d/oracle-xe configure
Specify the HTTP port that will be used for Oracle Application Express [8080]:
Specify a port that will be used for the database listener [1521]:
Specify a password to be used for database accounts. Note that the same
password will be used for SYS and SYSTEM. Oracle recommends the use of
different passwords for each database account. This can be done after
initial configuration:
Confirm the password:
Do you want Oracle Database 11g Express Edition to be started on boot (y/n) [y]:
Installation completed successfully.
Vagrant環境なので特にデフォルト値でいいと思います。
と、この設定が終わると Oracle XE が起動していますぜw
インストールに失敗したりインスタンスが立ち上がらないときは…下記のlogを参照すること。
/u01/app/oracle/product/11.2.0/xe/config/log/
Oracle ユーザと環境設定
Oracle XE のインストールが終了すると Oracle ユーザが作成されているのでパスワードを変更すること。
$ sudo passwd oracle
/u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
に以下の文を追加します。
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib/:/lib:/usr/lib
export NLS_LANG=Japanese_Japan.AL32UTF8
export NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS'
sqlplus を使用しデータベースに接続してみる
oracle ユーザになり sqlplus コマンドを使いデータベースに接続してみます。
※パスワードは、/etc/init.d/oracle-xe configure で設定したパスワードを入力する。
$ su - oracle
Password:
$ . /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
$ sqlplus /nolog
SQL> conn system
パスワードを入力してください:
接続されました。
適当に SQL コマンドを実行してみる。
SQL> select sysdate from dual;
SYSDATE
-------------------
2015/02/08 14:31:24
ユーザーを作成、テーブルの作成
ここからは、Oracle の世界ですが、usr01 ユーザを作成して実際にテーブルまで作ってみます。
$ sqlplus /nolog
SQL> conn system
SQL> create user usr01 identified by 12345;
SQL> grant CONNECT,RESOURCE to usr01;
SQL> quit
して
$ sqlplus usr01/12345@XE
windowsから接続してみる
A5:SQL Mk-2 をダウンロードして接続確認してみます。
Oralce 管理UI を外部から接続してみる
sqlplus で、、いつものようにログインし
SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
としたあとに、http://<ip-addr>:8080/apex/f?p=4950
もしくは http://<ip-addr>:8080/apex/
にアクセスする。
と、こちらは DB/Oracle/XE 環境構築 を参考にさせてもらいました。
表領域を作成しテーブルを作成してみる
もう oracle の世界ですが…まあ、メモ程度にw
$ cd /u01
$ sudo mkdir data
$ sudo chown oracle:oracle data
$ sqlplus system/passwd@XE
SQL> create tablespace MY_DATA datafile '/u01/MY_DATA.dbf' size 200M segment space management auto;
SQL> conn usr01
SQL> create table emp
(
emp_id char(3) ,
job_id char(3) ,
emp_name varchar2(10) ,
primary key( emp_id, job_id )
) tablespace MY_DATA;
SQL> desc emp;
参考にさせていただきました!
CentOSにOracleを入れる
Linux版Oracle 11g XEのインストール
ORACLE/TABLESPACE
Discussion