ダウンロード : Oracle Database Express Edition 11g Release 2
( このページの『ダウンロードタブ』から )
ライセンスのページ
オラクルは、お客様に対して、
(a)お客様独自の内部的なデータ処理業務のためのお客様のアプリケーションの開発、プロトタイピング及び実行を目的として、本プログラムを使用する非独占的、譲渡不能かつ限定的な使用権を許諾します。
(b)お客様は、お客様のアプリケーションとともに本プログラムを頒布することができます。
(c)お客様は、第三者に対しデモンストレーション及び研修を提供する目的で、本プログラムを使用することができます。
(d)お客様は、お客様の各ライセンシーが本契約の条件に同意する場合、ライセンシーに対し、本プログラムを複製して頒布することができます。 お客様は、本契約で認められている以外の目的で本プログラムを使用することはできません。
ライセンスの文章はどこのものでもわかりにくくなっていますが、インターネットで調べると『商用可能』である事が解ると思います。但し、Oracle は簡単に扱えるデーターベースでは無く、テクニカルサポートは無く、アップデートの提供は無いので商用で利用する条件は実際には相当特別なものとなります。しかし、開発環境を手軽に作れる事は間違い無く、本番環境で扱われる事が想定される SHIFT_JIS との違いさえ知っておけば、特に問題無くどこでも運用可能です。
参考1 : Oracle 11g Express 文字コードを変更する
参考2 : oracle 11g XE でキャラクタセットを変更した時のメモ
※ 既存のデータを使わないのであれば、NVARCHAR2 の文字数と、VARCHAR2 でのバイト数( 普通日本語では1.5倍必要 )の理解があればそのまま使用できます
※ レジストリの NLS_LANG は、JAPANESE_JAPAN.JA16SJISTILDE です。
※ SELECT * FROM NLS_DATABASE_PARAMETERS で、NLS_NCHAR_CHARACTERSET は AL16UTF16 で、NLS_CHARACTERSET は AL32UTF8 です。
ダウンロードとインストール
一般的なフリーソフトと変わりなく、とても簡単にインストールまではできます。但し、インストール後はサービスが自動起動になりますので、必ず『手動』に切り替えておかないと Oracle はかなりのリソースを使用するので PC が重くなります。サービスは 2つで、XE の場合、OracleServiceXE と OracleXETNSListener で、前者が Oracle データベースのサービスで、後者が通信用のサービスです。
こちらに、インストール時のスクリーンショットを用意しましたが、特筆すべきはなにもありません。
接続確認
インストールされたプログラムに、『SQLコマンドラインの実行(sqlplus.exe /nolog)』がありますから、そこで connect と入力して、system と パスワード(大文字小文字を区別します)を入力してログインします。どうせですから、その際に HR ユーザのアンロックと、ゴミ箱機能の解除をしておくといいと思います。
ALTER USER HR ACCOUNT UNLOCK IDENTIFIED BY password;
▼ ゴミ箱機能の解除
▼ 解除後、再起動したシステムパラメータ
▼ SPFILE("C:\oraclexe\app\oracle\product\11.2.0\server\dbs\SPFILEXE.ORA") の状態
ネット・サービス名の確認
XE と決まっていますが、一応。
場所 : "C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN\tnsnames.ora"
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = PC名)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ODBC による接続確認
インストールされた、Oracle in XE という ODBC ドライバで DSN を作成します。ODBC ドライバ単体で接続確認ができますが、DSN を使ってすぐ SHIFT_JIS 環境のアプリケーションからもアクセス可能となります。
スキーマの作成
これが一筋縄では行きませんが、SQL をひたすら実行するだけなので間違いをできるだけ避ける為に、ここでは SQL の窓を使います。
解凍して、WinOfSql.exe を実行し、『O』ボタンで表示されるログインダイアログで、DSN と system と パスワードを入力すると以下のようになります。
右側のテキストエリアで、SQL 文を実行できますので、ACT ボタンで以下の SQL を一つづつ全て実行します。
▼ テーブルスペース作成
create tablespace LIGHTBOXAREA
datafile 'C:\oraclexe\app\oracle\oradata\XE\LIGHTBOX.ORA'
size 5M
autoextend on
next 1M
maxsize unlimited
segment space management AUTO
ファイルの拡張子は、システムと同じ .DBF でもいいですが、.ORA のほうがユーザ専用として解りやすいので使っています( Oracle 7の名残です )
▼ ユーザ作成
create user LIGHTBOX
identified by パスワード
default tablespace LIGHTBOXAREA
temporary tablespace TEMP
quota unlimited on LIGHTBOXAREA
account unlock
パスワードは大文字小文字を区別するので注意して下さい( あとからでも変更できます / ALTER USER ユーザ名 IDENTIFIED BY パスワード )
▼ ロール作成
create role LIGHTBOX_ROLE
▼ ロールに権限付与
grant
ALTER PROFILE
,ALTER SESSION
,ALTER SYSTEM
,ALTER TABLESPACE
,ALTER USER
,CREATE PROCEDURE
,CREATE PROFILE
,CREATE PUBLIC SYNONYM
,CREATE ROLE
,CREATE ROLLBACK SEGMENT
,CREATE SEQUENCE
,CREATE SESSION
,CREATE SYNONYM
,CREATE TABLE
,CREATE TABLESPACE
,CREATE TRIGGER
,CREATE VIEW
,EXECUTE ANY PROCEDURE
,SELECT ANY DICTIONARY
,SELECT ANY SEQUENCE
,SELECT ANY TABLE
to LIGHTBOX_ROLE
▼ ロールをユーザーに適用
grant LIGHTBOX_ROLE to LIGHTBOX
これでやっとテーブルを作成してデータを投入可能になります
状態確認
RDBMS 固有メニューから、『スキーマ一覧』を実行すると以下のようになっています。この後、作成したユーザでログインをしてエラーが無く、テーブル一覧がなにも表示されない事を確認します。
データ投入
MDB から データをインポートするスクリプトを用意していますので、スクリプトの DSN、ユーザ、パスワード を変更して実行して下さい。最初は、テーブルが存在しないので確認のメッセージボックスが表示されますが、2回目以降は一気に作成されます。
スクリプトには、VARCHAR2 用と NVARCHAR2 用があります。都合の良いほうを実行して下さい。
さらに Oracle を管理する為に
SQL Developerの使い方〜ダウンロード、インストール、DB接続、SQL実行
関連する記事