Edited at

Varagnt 環境の CentOS 6.6 に Oracle XE(11g Release 2) を導入してみる

More than 1 year has passed since last update.


Oracle 11g XE とは

以前から Oracle XE てなんだろう?って思っていたのですが、Oracle Database 11g リリース2 (11.2.0.2)をベースにした無償データベースのことだったんですね。

Oracle XEは商用利用もOKです。

https://boxil.jp/mag/a862/

システム要件

 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/


[S2K] Oracle(on RHEL6)インストール直後の操作の覚書



Oracle ユーザと環境設定

Oracle XE のインストールが終了すると Oracle ユーザが作成されているのでパスワードを変更すること。

$ sudo passwd oracle

/u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh に以下の文を追加します。


NLS 関連パラメータ


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 をダウンロードして接続確認してみます。

a5-01.png


Oralce 管理UI を外部から接続してみる

sqlplus で、、いつものようにログインし

SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);

としたあとに、http://<ip-addr>:8080/apex/f?p=4950 もしくは http://<ip-addr>:8080/apex/ にアクセスする。

oracle-01.png

と、こちらは 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