ホーム > database > Oracle XE — Oracle Database の無償版

Oracle XE — Oracle Database の無償版

2009 年 5 月 17 日 コメントをどうぞ コメント
  • Oracle XE とは

Oracle Database 10g Express Editor (OracleXE)はオラクルが提供する、Oracle Database の無償版です。

ライセンスと制限
・Free to develop, deploy, and distributeとある。
商用利用可能 (開発/デモ版ではない)
再配布可能 (アプリケーションに同梱して再配布できる)

・制限
最大4GBのユーザデータ
1インスタンスのみ (SIDはXEで固定)
1CPUしか利用しない (2CPU以上あっても活用できない)
最大1GBのメモリしか利用しない (1GB以上あっても活用できない)

ライセンス上には特に支障がないと思われます。幾つかの制限が設けられていますが、小規模なサイトの場合は十分行けるでしょう。

 

  • インストール

OracleXE はRPMで提供され、非常に簡単にインストールできます。公式ページか ら、Oracle Database 10g Express Edition (Universal) のRPM をダウンロードし、インストールします。

サーバーのインストール手順は こちら を参照します。
* Oracle Enterprise Edition を利用した場合は、コンテンツ CentOS5上のOracle 10g インストール を参照します。

クライアントは公式ページから、oracle-xe-client-10.2.0.1-1.0.i386.rpm をダウンロードしてインストールします。すると、/usr/lib/oracle/xe/app/oracle/product/10.2.0 /client/scripts/runsqlplus.sh から、Sqlplusを起動出来ます。また、tnsnames.ora を作成すると、接続文字列を利用できますので、便利です。tnsnames.ora の作成について、コンテンツ Vista Home上のOracle10g client インストール を 参照します。tnsnames.ora を利用するには、TNS_ADMIN環境変数を指定します。/usr/lib/oracle/xe/app/oracle/product/10.2.0 /client/scripts/sqlplus.sh に以下の2行を「sqlplus /nolog」の一行の前に追加します。

TNS_ADMIN=/usr/lib/oracle/xe/app/oracle/product/10.2.0/client 
export TNS_ADMIN 

 

また、こちら から、Oracle Sql Develop をダウンロードし、GUIのSql 開発環境もできますので、お薦めます。
 

  • テーブル作成

/usr/lib/oracle/xe/app/oracle/product/10.2.0/client/scripts/runsqlplus.sh を実行してsqlplus を起動し、sys ユーザでログインします。本番専用表領域を作成することで、運用をより容易に行います。

connect sys/sys_password@192.168.1.x:1521/xe as sysdba; 

create tablespace tbs_product datafile ’/usr/lib/oracle/xe/oradata XE/tbs_product.dbf’ size 100M extent management local autoallocate; 

 

本番用ユーザを作成します。

create user user_product identified by your_password default tablespace tbs_product 
temporary tablespace temp quota unlimited on tbs_product; 

grant connect to user_product; 
grant resource to user_product; 

 

 開発用DBと本番DBは同じサーバー上にある場合、開発用ユーザを作成します。

create user user_develop identified by your_password default tablespace users 
temporary tablespace temp quota unlimited on users; 

grant connect to user_develop; 
grant resource to user_develop; 

 

最後は 本番用ユーザでログインして、テーブル作成などを行います。

disconnect; 
connect user_product/your_password@xe; 

 

  • バックアップ

Oracle は色んなベックアップの方法を提供しています、中にはRMANの様な高機能ユーティリティも存在しますが、Oracle XE は規模の小さいシステムにしか使わないでしょう、ですので、最も簡単なやり方で行っています。Data Pump (expdp) を使って論理バックアップを利用しています。

バックアップ先フォルダ(/usr/lib/oracle/xe/oradata/dmp_dir1)をOracleに登録します。

$ sqlplus sys/your_password as sysdba 
SQL> create directory dmp_dir1 as ’/usr/lib/oracle/xe/oradata/dmp_dir1’; 
SQL> 
SQL> grant read,write on directory dmp_dir1 to user_product; 
SQL> 
SQL> select directory_name,directory_path from dba_directories 
  2  where directory_name = ‘DMP_DIR1’; 
 
DIRECTORY_NAME          DIRECTORY_PATH 
———————– ————————————- 
DMP_DIR1              /usr/lib/oracle/xe/oradata/dmp_dir1 

 

バックアップ・スクリプトを作成し、xe-backup.sh として保存します。

#!/bin/bash 
 
# oracle env 
ORA_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server 
ORA_OWNER=oracle 
export ORACLE_HOME=$ORA_HOME 
 
# バックアップ先ディレクトリ 
BACKDIR=/usr/lib/oracle/xe/oradata/dmp_dir1 
 
USERID=user_product 
USERPASS=your_password 
 
# バックアップ先ディレクトリ再作成 
rm  -rf $BACKDIR 
mkdir -p $BACKDIR 
chown $ORA_OWNER:dba $BACKDIR 
 
su - $ORA_OWNER -c "$ORA_HOME/bin/expdp $USERID/$USERPASS SCHEMAS=your_schema DUMPFILE=dmp_dir1:your_schema.dmp 
LOGFILE=dmp_dir1:your_schema_exp.log" 

 

バックアップ定期的に自動実行します。

crontab -e 
00 05 * * * /uprush/xe-backup.sh 

 

Share and Enjoy:
  • del.icio.us
  • Google Bookmarks
  • Facebook
  • FriendFeed
  • Twitter
カテゴリー: database タグ: