Oracle Database XEのSQL*PlusでCRUD(CREATE,READ,UPDATE,DELETE)を実行しました。

前の記事では、Oracle Application Expressを使用したCRUDでしたが、コマンドラインからも当然可能です。

MySQLではコマンドライン

mysql -u root

を実行するとrootユーザーでMySQLが実行できます。


Oracle Database XEの場合は、.bashrcに下記の一行を書き込みます。

. /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh

書き込みをした後ログインし直して、下記のコマンドでOracle Database XEを実行出来ます。

sqlplus

SQL*Plusにログインした後、はSQLを実行し放題です。

SQL> insert into test_table values ('test_data');

1行が作成されました。

ログアウトはいつものコマンドでOKでした。

SQL> exit
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Productionとの接続が切断されました。


これで、GUIからもCLIからもSQLを実行する事が出来るようになりました。



[PR]Spreeの情報を集めています。

ECを持ちたい方、仕事でECを使いたい方向けのコミュニティサイトです。
このサイトでは世界で最も使用されているECの1つであるSpreeについての情報を提供しています。
http://spreecommerce.jp/

Oracle Database XEのOracle Application ExpressでCRUD(CREATE,READ,UPDATE,DELETE)を実行しました。

Oracle Database XEのOracle Application ExpressでCRUD(CREATE,READ,UPDATE,DELETE)を実行しました。

GUI上でデータをCRUDするには、Oracle Database XEの場合Oracle Database XEをインストールした際に一緒にインストールされるOracle Application Expressを使用します。

僕は普段MySQLを利用したアプリケーションを開発しているので、データのCRUDというのは、

データベース作成

テーブル作成

データのCRUD

という流れになります。



Oracle Database XEの場合は、

データベース・スキーマ(?)、インスタンス(?)作成

オブジェクト(表)作成

データのCRUD


うーん。データベース作成部分の概念が理解できていません。
名称が多少異なるので少し戸惑います。しかし、習うより慣れろです。


恐らくoracleが提供しているデータベースとの概念は一緒だと思うので、
上記の流れが出来れば基本的な操作は出来るのではないかと思いました。


まず表の作成です。
Oracle Application Expressのトップページから
オブジェクト・ブラウザ > 作成 > 表をクリックします。

上記の画面が表示されたら
表名に"test_table"
列名に"test"
タイプに"VARCHAR2"
を入力して、次へボタンを押します。



上記の画面が表示されたら左のフィールドの確認というリンクを押します。



上記の画面が表示されたら作成を押します。



上記の画面が表示されたら表の作成完了です。



次は、作成した表にCRUDをしたいと思います。

上記の画面のデータタブを押し、データ挿入を押します。



上記の画面で表Testに"test"と入力し作成ボタンを押します。



上記の画面が表示されたら、データを追加する事が出来ました。

データ横の鉛筆のアイコンを押すことで、データの編集が出来ました。
又、編集画面に進み、削除のボタンを押すとデータを削除する事が出来ました。


これで、Oracle Application ExpressによるデータのCRUDが出来ました。


今の方法ではSQLを必要としない方法ですが、SQLを使用してさくさくデータのやりとりをしたい場合は、Oracle Application Expressトップページ > SQL > SQLコマンド > コマンドの入力画面でSQLを実行することが出来ます。



[PR]Spreeの情報を集めています。

ECを持ちたい方、仕事でECを使いたい方向けのコミュニティサイトです。
このサイトでは世界で最も使用されているECの1つであるSpreeについての情報を提供しています。
http://spreecommerce.jp/

Oracle Database XEとMySQLのプロセスのメモリ使用量を比較しました。

Oracle Database XEとMySQLのプロセスのメモリ使用量を比較しました。

Oracle Database XEのプロセスを表示。

ps aux | grep oracle

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
oracle    2934  0.0  0.1  21516  5820 ?        Ss   18:59   0:00 /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/tnslsnr LISTENER -inherit
oracle    2939  0.0  0.2 869928 10152 ?        Ss   18:59   0:00 xe_pmon_XE
oracle    2941  0.0  0.2 869320  8732 ?        Ss   18:59   0:00 xe_psp0_XE
oracle    2943  0.0  0.6 869320 24768 ?        Ss   18:59   0:00 xe_mman_XE
oracle    2945  0.0  0.5 871388 21024 ?        Ss   18:59   0:00 xe_dbw0_XE
oracle    2947  0.0  0.6 884868 28432 ?        Ss   18:59   0:00 xe_lgwr_XE
oracle    2949  0.0  0.3 869328 14500 ?        Ss   18:59   0:00 xe_ckpt_XE
oracle    2951  0.0  1.2 870876 49932 ?        Ss   18:59   0:00 xe_smon_XE
oracle    2953  0.0  0.3 869320 14240 ?        Ss   18:59   0:00 xe_reco_XE
oracle    2955  0.0  0.5 870924 21032 ?        Ss   18:59   0:00 xe_cjq0_XE
oracle    2957  0.0  1.0 872120 43708 ?        Ss   18:59   0:00 xe_mmon_XE
oracle    2959  0.0  0.3 869316 13684 ?        Ss   18:59   0:00 xe_mmnl_XE
oracle    2961  0.0  0.2 869980 10264 ?        Ss   18:59   0:00 xe_d000_XE
oracle    2963  0.0  1.6 874636 66564 ?        Ss   18:59   0:01 xe_s000_XE
oracle    2965  0.0  0.3 869928 13192 ?        Ss   18:59   0:00 xe_s001_XE
oracle    2967  0.0  0.3 869928 12940 ?        Ss   18:59   0:00 xe_s002_XE
oracle    2969  0.0  0.2 869928  9924 ?        Ss   18:59   0:00 xe_s003_XE
oracle    2973  0.0  0.2 869316  9892 ?        Ss   18:59   0:00 xe_qmnc_XE
oracle    2982  0.0  0.2 869316 10976 ?        Ss   18:59   0:00 xe_q000_XE
oracle    2986  0.0  0.2 869316  9232 ?        Ss   19:00   0:00 xe_q001_XE

次にMySQLのプロセスを表示。

ps aux | grep mysql

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      4898  0.0  0.0   5420  1120 pts/1    S    22:18   0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid
mysql     4958  0.0  0.4 126048 19076 pts/1    Sl   22:18   0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock

物理メモリの占有率(%MEM)、プロセスが使用する仮想メモリ量(VSZ)、プロセスが使用する物理メモリ量(RSS)を合計するとMySQLの方がメモリ使用量が少ない事がわかりました。

しかし、Oracle Database XEには出来て、MySQLには出来ない事等が色々あると思うので、これはこれで良いのかなと思います。

http://www.tripodworks.co.jp/jp/doc/ITseminar20080609.pdf

Oracle Databaseはミッションクリティカルにはかなり強いデータベースなんですね。
結局は”適材適所”ですね!


参考サイト
http://at-aka.blogspot.com/2006/07/linux.html



[PR]Spreeの情報を集めています。

ECを持ちたい方、仕事でECを使いたい方向けのコミュニティサイトです。
このサイトでは世界で最も使用されているECの1つであるSpreeについての情報を提供しています。
http://spreecommerce.jp/

Oracle Database XEをCentOS5.2にインストールする方法。

以前、Oracle Database XEのインタビューに行ってきたのですが、
インタビュー前にCentOS5.2上で動作させるまでの流れをやっていたので、
まとめてみました。

まず下記サイトからOracle Database XEをダウンロードします。
http://www.oracle.com/technology/software/products/database/xe/htdocs/102xelinsoft.html

Acceptをクリックして、oracle-xe-univ-10.2.0.1-1.0.i386.rpmをダウンロードします。
(サーバーからwgetしてみても駄目でした。)



ダウンロード後、ファイルをサーバーにアップロードします。

rpmのインストールコマンドを実行します。

rpm -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm

準備中...                ########################################### [100%]
   1:oracle-xe-univ         ########################################### [100%]
Executing Post-install steps...
You must run '/etc/init.d/oracle-xe configure' as the root user to 
configure the database.

/etc/init.d/oracle-xe configureを実行します。

/etc/init.d/oracle-xe configure

Oracle Database 10g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 10g Express 
Edition.  The following questions will determine whether the database should 
be starting upon system boot, the ports it will use, and the passwords that 
will be used for database accounts.  Press <Enter> to accept the defaults. 
Ctrl-C will abort.

Specify the HTTP port that will be used for Oracle Application Express [8080]:[Enter]

Specify a port that will be used for the database listener [1521]:[Enter]

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 10g Express Edition to be started on boot (y/n) [y]:y

Starting Oracle Net Listener...Done
Configuring Database...Done
Starting Oracle Database 10g Express Edition Instance...Done
Installation Completed Successfully.
To access the Database Home Page go to "http://127.0.0.1:8080/apex"

実行結果に”To access the Database Home Page go to "http://127.0.0.1:8080/apex"”
が書かれているので、http://[サーバーIP]:8080/apexにアクセスします。
ちなみに僕の場合はhttp://192.168.11.3:8080/apexです。

アクセスした際に下記の画面が表示されていれば無事インストール完了です!



参考サイト
http://www.fiberbit.net/user/kunyami/oracle/xe/install.html



蛇足ですが、
上記のインストール方法では、Oracle Database 10g Express Edition (Universal)
をダウンロードするのですが、

Oracle Database 10g Express Edition (Western European)

Oracle Database 10g Express Edition (Universal)

の違いがわからなくて、OTN掲示板に質問しました。
http://otn.oracle.co.jp/forum/thread.jspa?threadID=35005056

Oracle Database XEのインタビューへ行き、OTNという掲示板があるのを知りました…。
困ったらここで聞けって事ですね。



[PR]Spreeの情報を集めています。

ECを持ちたい方、仕事でECを使いたい方向けのコミュニティサイトです。
このサイトでは世界で最も使用されているECの1つであるSpreeについての情報を提供しています。
http://spreecommerce.jp/

Oracle Database XEのインタビューに行ってきました。

先日、はてな取締役副社長の川崎さん(id:kawasaki)からメールがあり、Oracle Database XEについてのインタビューに行ってきました。

川崎さんからメールにて

…
さて、突然のご連絡ではございますが、この度、米オラクル社が提供している
Oracle Database 10g Express Edition(以下XE)について是非camelmasa様に
ご意見をお伺いできないかと考え、はてなダイアリーのプロフィールページに
記載されているメールアドレスまで連絡させていただきました。
…

というメールを頂き、インタビューというのを経験した事が無かった為、是非経験させて頂こうと思い、了解の旨をお伝えしました。

インタビュー内容はDo you php?のサイトを運営されているid:shimookaさんの記事が詳しいです。
http://d.hatena.ne.jp/shimooka/20081127/1227716768


当日のインタビューでは、僕がXEについて思う事をそのままoracleさんにお伝えしました。

oracleのデータベースを採用している企業が沢山あると聞いているので、無料で勉強出来るというのは素晴らしいと思うという事。
書籍等でLL系フレームワーク+oracleの情報があれば導入も考えられるという事。

世代的なものか、流行的なものなのかも知れませんが、LAMP環境で勉強と仕事をこなしていると、データベースが無料で使用できるというのが当たり前の感覚になっていますという事。
MySQLPostgreSQLSQLite...。全て無料で使用出来ます。

その感覚は川崎さんとoracleの方も驚いていたようでした。



他に参加された方の記事
http://d.hatena.ne.jp/haluki/20081127/1227764073
http://d.hatena.ne.jp/kkamegawa/20081127/p1
http://d.hatena.ne.jp/hate666komei/20081126/1227709393


今回のインタビューとは関係無いのですが、川崎さんとは一度、情報系学生・若手エンジニアのための交流企画「IT企業はほんとに泥のように働かされるのか」というイベントで一度お会いしているのですが、その時は僕がビビって声をかける事が出来ませんでした。

また、お会いした時は宜しくお願いします^^



[PR]Spreeの情報を集めています。

ECを持ちたい方、仕事でECを使いたい方向けのコミュニティサイトです。
このサイトでは世界で最も使用されているECの1つであるSpreeについての情報を提供しています。
http://spreecommerce.jp/