2006年9月 6日 (水)

Mac De Oracle (PL/SQL De COMPRESS/UNCOMPRESS)

OTN JapanCodeTipsに、Mac De Oracle (PL/SQL De UNCOMPRESS)及び、Mac De Oracle (PL/SQL De COMPRESS)に掲載したコードとほぼ同じコードを投稿しました。

| | コメント (0) | トラックバック (0)

2006年9月 3日 (日)

Mac de APEX! (formerly called HTML DB) #4

つづきです。
HTML DB 2.0からAPEX 2.2へのアップグレードは完了したので、PL/SQL で RSS FEED Readerで作ったコードを動かしてみる。

megawattさんの「メガ放談」のRSS 0.91を読み込み、記事のリンクをリストする。
Apex010

クリックすると、ブログが別ページで開かれる。
Apex011

HTML DB 2.0の時と変わりない。


聞いている曲:
Wikipedia - Mick Karn
Wikipedia(jp) - Japan
Wikipedia(en) - Japan


Mick Karn - Love's Glove(EP) Mick Karn - Love's Glove - EP
Mick Karn - Love's Glove - EP

Mick Karn - Of & About(EP) Mick Karn - Of & About - EP - All You Have
Mick Karn - Of & About - EP

| | コメント (0) | トラックバック (0)

2006年9月 2日 (土)

Mac de APEX! (formerly called HTML DB) #3

続きです。APEXのインストール残すところ後僅か。

5)日本語環境のインストール

先にインストール(アップグレード)したのは、英語版なので、日本語環境のインストールを行う。手順は「Installation Guide]の「4.5 Installing Oracle Application Express in Other Languages」に記載されている。

注意)環境変数 NLS_LANG を AL32UTF8 にする必要がある。また、Terminalのエンコーディングも一時的に UTF8に変更しておく必要があるので注意すること。

まず、TerminalのエンコーディングをUTF8に変更(インストール時のみ一時的に変更するだけなので「デフォルトに設定」する必要ない)

変更前(SJIS)変更後(UTF8)
Encodeing_bEncodeing_a
pb17:/Volumes/WorkVol/temp/apex oracle$ echo $NLS_LANG
japanese_japan.JA16SJISTILDE
pb17:/Volumes/WorkVol/temp/apex oracle$ export NLS_LANG=japanese_japan.AL32UTF8
pb17:/Volumes/WorkVol/temp/apex oracle$ echo $NLS_LANG
japanese_japan.AL32UTF8

pb17:/Volumes/WorkVol/temp/apex oracle$ sqlplus /nolog

SQL*Plus: Release 10.1.0.3.0 - Production on 土 9月 2 11:00:24 2006

Copyright (c) 1982, 2004, Oracle. All rights reserved.

> conn / as sysdba
接続されました。
SYS> alter session set current_schema = flows_020200;

セッションが変更されました。

SYS>
SYS> !pwd
/Volumes/WorkVol/temp/apex

SYS> spo load_ja.log
SYS> @builder/ja/load_ja.sql
. ____ ____ ____ ____
. / \ | \ /\ / | /
.| || / / \ | | |
.| ||--- ---- | | |--
.| || \ / \ | | |
. \____/ | \/ \ \____ |____ \____
.
. HTML DB Hosted Development Service Installation.
.........................................................

PL/SQLプロシージャが正常に完了しました。

Install HTML DB applications

PL/SQLプロシージャが正常に完了しました。

APPLICATION 4420 - APEX - System Messages
Set Credentials...
Check Compatibility...
API Last Extended:20060224
Your Current Version:20060224
This import is compatible with version: 20050501
COMPATIBLE (You should be able to run this import without issues.)
中略
...PAGE .4009: ページ0(ゼロ)
...PAGE 1.4009: アプリケーション・ビルダー
...PAGE 2.4009: サポートするオブジェクト
...PAGE 3.4009: ブレッドクラム・エントリ
...PAGE 4.4009: マスター表の定義
...PAGE 5.4009: ディテール表を定義
中略
...done
Adjust instance settings

PL/SQLプロシージャが正常に完了しました。

SYS> spo off
現在はスプールしていません。
SYS>

6)JOB_QUEUE_PROCESSESの管理

前もって確認済みであるので、特に行うことはないのだが、値だけは確認しておこう。「Installation Guide」の「4.6 Managing JOB_QUEUE_PROCESSES」に記載されている。

SYS> show parameter job_queue_processes         

NAME TYPE          VALUE
----------------------- ------------------- --------------
job_queue_processes integer 20
SYS> exit
pb17:/Volumes/WorkVol/temp/apex oracle$

これで、APEX 2.2のへのアップグレードは終了である。早速、アクセスしてみる。URLは変更していない。また、ブラウザは、「Installation Guide」の「2.6 Browser Requirement」には記載されていない Safari 2.0.4を利用した。(今のところ特に不都合はないようだ。)
Apex003_1

さて、次回は、以前作成した、RSS FEED Readerが動作するか試してみる予定。




そういえば、放置状態にあった HTML DBで家系図アプリっていうネタを思い出した(完全に忘れていた。。。)のだが、親や叔父に聞いても、父方、母方でも3代程度、遡ることがやっと。(まぁ、家系図が代々引き継がれている訳でもないので、その程度なのでしょう。)でも自分の苗字由来や、氏名(ウジナ)は? など先日のテレビ番組の影響で、いろいろと調べたくなってきた。「明治8年の苗字必証称令」で、その時の雰囲気?で、適当に付けられてしまった可能性もあるので 新訂 寛政重修諸系譜 に記載されている家に繋がっているともいないとも、なんとも言えないが。。 

ということで、自分の苗字の原点を見つけてみようかな。。と、今読んでいる本。
 

それから、図書館で見つけた 新訂 寛政重修諸系譜。 これにも家譜が書かれていたので読んでみたり。

Wikipediaも参考に辿っていくと、確かに私の父方の苗字がある。ただ、その先は Wikipediaにも、 新訂 寛政重修諸系譜書かれていない。ま派生が多過ぎるということなのか。。。 そんなことで、いろいろ話していたら、妻は「平」氏系列という話もあり(私の方も含めて、全くの未確認なので聞き流してくださいね。おもしろがって調べてるだけですから。。)。  
え〜〜〜〜〜。 「源平」ですかい。。。。。。。

と、自分のルーツを辿るということで、思い出したのが(まぁ、自分のルーツを探す繋がりということで)、このテレビドラマ。
これが放送された影響で、クラスには、必ず一人、”クンタ”というニックネームを付けられるヤツがいた。(笑)

| | コメント (0) | トラックバック (0)

2006年9月 1日 (金)

Mac de APEX! (formerly called HTML DB) #2

US Oracleが、OPEN APEXというサイトを立ち上げたようです。しかもこのサイト自体がAPEXで構築されているようです。

http://apex.oracle.com/
と入力するともうそこは、APEX world! マルチリンガル対応しているようで、日本からのアクセスも快適です。


では、前回の続き。

4)APEX 2.2インストール後の作業

4−1) PL/SQLパッケージのリコンパイル

移行後の作業も付属ドキュメントに丁寧に記載されているのでその通りに行えば問題ないだろう。「Installation Guide」の「4.1 Recompiling Invalid PL/SQL Packages and Restarting Processes」を行う。タイトルからもわかるように、statusが INVALID になった PL/SQLパッケージをリコンパイルするだけの作業だ。

pb17:/Volumes/WorkVol/temp/apex oracle$ sqlplus /nolog

SQL*Plus: Release 10.1.0.3.0 - Production on 金 9月 01 21:14:09 2006

Copyright (c) 1982, 2004, Oracle. All rights reserved.

> conn / as sysdba
接続されました。
SYS> spo utlrp.log
SYS> @?/rdbms/admin/utlrp.sql

TIMESTAMP
--------------------------------------------------------------------------------
COMP_TIMESTAMP UTLRP_BGN 2006-09-01 21:15:44


PL/SQLプロシージャが正常に完了しました。


TIMESTAMP
--------------------------------------------------------------------------------
COMP_TIMESTAMP UTLRP_END 2006-09-01 21:16:43


PL/SQLプロシージャが正常に完了しました。


PL/SQLプロシージャが正常に完了しました。
SYS> spo of
SYS> spo off


4−2)画像ファイルのコピー

「Installation Guilde」の「4.2 Copying the Images Directory」に記載されている作業である。簡単なので解説はしない。
尚、独自の環境変数 $ORACLE_HTMLDB_HOMEには、操作を簡単にするため、HTML DB(アップグレードしたので、APEX)のホームディレクトリを設定してある。

pb17:˜ oracle$ cd $ORACLE_HTMLDB_HOME/Apache/modplsql/conf
pb17:/Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB/Apache/modplsql/conf oracle$ pwd
/Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB/Apache/modplsql/conf

Oracle HTTP Serverを利用していので、marvel.conf で イメージディレクトリのマッピングを確認し、HTML DB 2.0用のディレクトリを念のためにリネームしておく。リーネム後に、APEX 2.2のイメージディレクトリをコピーすれば、OK。
pb17:/Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB/Apache/modplsql/conf oracle$ cat marvel.conf | grep ¥/i¥/
Alias /i/ "/Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB/marvel/images/"

pb17:/Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB/Apache/modplsql/conf oracle$
pb17:/Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB/Apache/modplsql/conf oracle$ cd /Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB/marvel

pb17:/Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB/marvel oracle$ ls -l
total 1136
中略
drwxr-xr-x 998 oracle oinstall 33932 Aug 30 21:29 images
中略
pb17:/Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB/marvel oracle$ mv images images_2_0
pb17:/Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB/marvel oracle$ ll
total 1136
中略
drwxr-xr-x 998 oracle oinstall 33932 Aug 30 21:29 images_2_0
中略
pb17:/Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB/marvel oracle$ cd /Volumes/WorkVol/temp/apex
pb17:/Volumes/WorkVol/temp/apex oracle$ cp -rf images $ORACLE_HTMLDB_HOME/marvel
pb17:/Volumes/WorkVol/temp/apex oracle$
pb17:/Volumes/WorkVol/temp/apex oracle$ cd $ORACLE_HTMLDB_HOME/marvel
pb17:/Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB/marvel oracle$ ll
total 1136
中略
drwxr-xr-x 876 oracle oinstall 29784 Seq 01 21:26 images
drwxr-xr-x 998 oracle oinstall 33932 Aug 39 21:29 images_2_0
中略
pb17:/Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB/marvel oracle$


次に、「Installation Guide」の「4.3 Configuring Oracle HTTP Server When Upgrading」、「4.3.2 Configuring Oracle HTTP Server 10g or Oracle Application Server 10g When Upgrading」を行う。Oracle HTTP Server 10g をインストールしてあるので、マニュアルに従い、marvel.confのPlsqlNLSLanguageを変更する。HTML DB 2.0までは、データベースキャラクタセットに合わせておけばよかったため、私の環境では、データベースキャラクタセットである、JA16SJISTILDE に設定していた。APEX2.2では、データベースキャラクタセットに関係なく、必ず、AL32UTF8 に設定する必要がある。

pb17:/Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB oracle$ cd $ORACLE_HTMLDB_HOME/Apache/modplsql/conf
pb17:/Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB/Apache/modplsql/conf oracle$
pb17:/Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB/Apache/modplsql/conf oracle$ cp marvel.conf marvel.conf.20
pb17:/Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB/Apache/modplsql/conf oracle$ vi marvel.conf
pb17:/Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB/Apache/modplsql/conf oracle$ diff marvel.conf.20 marvel.conf
15c15
< PlsqlNLSLanguage JAPANESE_JAPAN.JA16SJISTILDE
---
> PlsqlNLSLanguage JAPANESE_JAPAN.AL32UTF8
pb17:/Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB/Apache/modplsql/conf oracle$

Oracle HTTP Server 10gの起動するコマンドを、.bash_profile に alias 定義してあるので以下のようにして停止、起動している。
マニュアルには、Oracle HTTP Server 10gの起動、停止は、opmnctl を利用すると書かれているが、MacOSX版のCompanion CDからインストールした Oracle HTTP Server 10gには、opmnctl が存在しない(無理矢理インストールしているからか??)ので、Oracle HTTP Server 9.0.3のころと同じく、apachectl で起動している。この点に関しては、マニュアルに記載されている操作と、ここで行っている操作が異なっているので注意。

pb17:/Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB/Apache/modplsql/conf oracle$ stophtmldb
/Volumes/WorkVol/u01/app/oracle/product/10.1.0/tiger/../htmlDB/Apache/Apache/bin/apachectl start: httpd stopped

pb17:/Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB/Apache/modplsql/conf oracle$ starthtmldb
/Volumes/WorkVol/u01/app/oracle/product/10.1.0/tiger/../htmlDB/Apache/Apache/bin/apachectl start: httpd started


今日はここまで。次回は、APEXの日本語関連リソースをインストールする。


聞いている曲: 9月といえば。。。
Earth Wind & Fire : September

| | コメント (0) | トラックバック (0)

2006年8月31日 (木)

Mac de APEX! (formerly called HTML DB) #1

Oracle HTML DBが、改名され、Oracle Application Express 2.2 としてリリースされたようだ。
2006年8月31日現在、日本オラクルではアナウンスだけで、まだダウンロードできないのだが、本国のOTNでは、ダウンロードできるようになっていたので、早速、試してみる事にする。
新規インストールでは面白くないので、HTML DB 2.0から APEX 2.2 へのアップグレードを試してみることにする。

最初に、APEX 2.2のダウンロードから。

今回は、PowerBook G4 MacOSX 10.4.7 を使った。構築手順は以前の記録を参考にしてほしい。また、2006年8月現在、MacOSX Tigerに正式対応したOracle10g はリリースされていない。この手順に従い、Oracle10g R1 EE for MacOSX Serverと、Oracle HTTP Server 10g及び、HTML DB 2.0をインストールした。 Oracle Application Express 2.2 (APEX 2.2)の前提条件はクリアしているはずだが、念のために初期化パラメータなど、少々確認しておく。


尚、APEX2.2のインストール手順は、apex_2.2.zipにも付属するドキュメントに記述されている通りに行う。マニュアルが間違っていなければ、もしくは、バグに遭遇しなければ、ドキュメントに従い進めることにする。(HTML DB 1.5からHTML DB 2.0 へのアップグレードとほぼ同じのようなので問題になることはないだろう。しっかり、マニュアル読んで行えば問題ない!。。はず。)


前提条件は、付属するドキュメント「Installation Guide」 の 「2 Oracle Application Express Installation Requirements」に記載されているのでここでは特に解説はしない。

1)shared_pool_size初期化パラメータ

私の環境では自動設定され、現時点では80MBにされている。最低でも100MBになるように shared_pool_sizeパラメータを変更する。
(sga_targetパラメータはそのままで、shared_pool_sizeパラメータの最小値を設定し、あとの調整はOracleに任せる。)

pb17:˜ oracle$ sqlplus /nolog

> conn / as sysdba
接続されました。
SYS> show parameter shared_pool_size

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
__shared_pool_size big integer 80M
shared_pool_size big integer 0
SYS> show parameter target

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
archive_lag_target integer 0
db_flashback_retention_target integer 1440
fast_start_io_target integer 0
fast_start_mttr_target integer 0
pga_aggregate_target big integer 92M
sga_target big integer 280M
SYS>


SYS> select * from v$sgainfo;

NAME BYTES RES
-------------------------------- ---------- ---
Fixed SGA Size 778888 No
Redo Buffers 262144 No
Buffer Cache Size 192937984 Yes
Shared Pool Size 83886080 Yes
Large Pool Size 4194304 Yes
Java Pool Size 8388608 Yes
Streams Pool Size 0 Yes
Granule Size 4194304 No
Maximum SGA Size 293601280 No
Startup overhead in Shared Pool 25165824 No
Free SGA Memory Available 0

11行が選択されました。

SYS> show parameter pfile

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /Volumes/WorkVol/u01/app/oracl
e/product/10.1.0/tiger/dbs/spf
iletiger.ora

SYS> alter system set shared_pool_size='100M' scope=both;

システムが変更されました。

SYS> select * from v$sgainfo;

NAME BYTES RES
-------------------------------- ---------- ---
Fixed SGA Size 778888 No
Redo Buffers 262144 No
Buffer Cache Size 171966464 Yes
Shared Pool Size 104857600 Yes
Large Pool Size 4194304 Yes
Java Pool Size 8388608 Yes
Streams Pool Size 0 Yes
Granule Size 4194304 No
Maximum SGA Size 293601280 No
Startup overhead in Shared Pool 25165824 No
Free SGA Memory Available 0

11行が選択されました。

上記以外の前提条件はすべてクリアしていたので、先へ進む。


2)ダウンロードした apex_2.2.zipの解凍

ダウンロードした apex_2.2.zipを解凍すると以下のように展開される。(Terminalからunzipコマンドで解凍するのもよいが、MacOSXではダブルクリックでの解凍も可能だ。好きな方法で解凍すればよいだろう)

pb17:/Volumes/WorkVol/temp/apex oracle$ ll
total 224
-r--r--r-- 1 oracle oinstall 9481 Jul 24 12:59 apex_epg_config.sql
-r--r--r-- 1 oracle oinstall 3537 Jul 11 11:53 apexins.sql
-r--r--r-- 1 oracle oinstall 6698 Jul 18 15:12 apexvalidate.sql
drwxr-xr-x 20 oracle oinstall 680 Jul 27 14:38 builder
drwxr-xr-x 394 oracle oinstall 13396 Jul 26 01:55 core
-r--r--r-- 1 oracle oinstall 81746 Jul 24 12:59 coreins.sql
drwxrwxr-x 10 oracle oinstall 340 Jul 24 16:00 doc
drwxr-xr-x 876 oracle oinstall 29784 Jul 24 14:32 images
-r--r--r-- 1 oracle oinstall 1078 May 23 06:32 load_trans.sql
drwxrwxr-x 3 oracle oinstall 102 Jul 24 16:01 patch
drwxr-xr-x 4 oracle oinstall 136 Jul 24 14:32 utilities
-rw-rw-rw- 1 oracle oinstall 3985 Jun 23 10:03 welcome.html
pb17:/Volumes/WorkVol/temp/apex oracle$

3)APEX 2.2のインストール

この例では、既に、HTML DB 2.0がインストールされているので、HTML DB 2.0からAPEX 2.2へのアップグレードを行うことになるのだが、実行するスクリプトは新規インストールと同じである。「Installation Guide」の「3.2 Installing the Oracle Application Express Software」の手順通りにAPEXのインストールスクリプトを実行する。

pb17:/Volumes/WorkVol/temp/apex oracle$ sqlplus /nolog

SQL*Plus: Release 10.1.0.3.0 - Production on 木 8月 31 21:03:10 2006

Copyright (c) 1982, 2004, Oracle. All rights reserved.

> conn / as sysdba
接続されました。
SYS>

SYS> @apexins apex_master SYSAUX SYSAUX TEMP /i/ NONE
. ____ ____ ____ ____
. / ¥ | ¥ /¥ / | /
.| || / / ¥ | | |
.| ||--- ---- | | |--
.| || ¥ / ¥ | | |
. ¥____/ | ¥/ ¥ ¥____ |____ ¥____
.
. Application Express Installation.
...................................

-----中略-----

Thank you for installing Oracle Application Express.

Oracle Application Express is installed in the FLOWS_020200 schema.

The structure of the link to the Application Express administration services is as follows:
http://host:port/pls/apex/apex_admin

The structure of the link to the Application Express development interface is as follows:
http://host:port/pls/apex

-- Now beginning upgrade. This will take several minutes.-------
-- Ensuring template names are unique -------
-- Migrating metadata to new schema -------
-- Switching builder to new schema -------
-- Migrating SQL Workshop metadata -------
-- Upgrading new schema. -------
-- Copying preferences to new schema. -------
Upgrade completed successfully no errors encountered.
-- Upgrade is complete -----------------------------------------
Upgradeのタイミング。
経過: 00:04:24.28
JOB_QUEUE_PROCESSES: 20
Completing registration process.
Validating installation.
Validate Installationのタイミング。
経過: 00:09:47.66
Complete Installationのタイミング。
経過: 01:27:15.85

とPowerBook G4 の 1Ghzでは多少時間がかかるが、問題なくHTML DB 2.0から、APEX 2.2へのアップグレードは終了する
。尚、HTML DB 1.5などからも直接アップグレードできる。


また、ログには、以下のエラーが記録されていたのだが、wwv_flow_upgrade_progress表が存在しないためなので問題はない。

drop   table wwv_flow_upgrade_progress
*
行1でエラーが発生しました。:
ORA-00942: 表またはビューが存在しません。


今日はここまで。

| | コメント (0) | トラックバック (0)

2005年11月18日 (金)

Mac De Oracle10g R2

先日開催されたOracle Grid DayやFusion MiddleWareには風邪のため行けなかったのだが、それぞれのセッション資料がダウンロードできようになっていた。それによると、Oracle10g R2 for MacOSX は、来年の上半期リリース予定とのこと。
う〜〜ん。 MacOSXといっても、Intel版 MacOSXなのか、PowerMac版なのか、両方なのか、どちらなんだろう。。。
いずれにしても、MacOSX版 Oracle10g R2はリリースされるようなので楽しみである。。

| | コメント (0) | トラックバック (0)

2005年11月 8日 (火)

Mac De HTML DB 10g その8

なんとか風邪も完治!?
TSUTAYAで借りた天龍八部の8、9、10巻とJazzのCDを買い物のついでに返却しようと外出。

こちらは運転するのでTSUTAYAの袋を妻に預けたのだが、その袋のレンタルレシートに、

天龍八部 8巻
天龍八部 9巻
天龍八部 10巻
矢野沙織/YANO SAORI

とリストされていた、最後にあるのがJazzのCD(矢野沙織さんは16歳にしてjazz sax CDデビュー。現在確か、18歳くらい。)

なのだが、妻は何を勘違いしたのか?(Hビデオでも借りてきたものと勘違いして)いや〜〜〜ん。とか、きゃ〜〜っ。とか叫んでいる。
「おいおい、Hビデオじゃないぞ〜〜〜。JazzのCDだって、それ!!!! (^^;;;;」とツッコミ!。(爆)





ちなみに、「天龍八部」は大映テレビのドラマの人間関係以上にドロドロしているので笑う場面ではないが笑いがでる。ワイヤーアクション+VFX+カンフー好きにはおすすめ。(ただ、殺戮シーンなどが多い。)




それに近いシリーズに「風雲」がある。「風雲」は千葉真一も出演していたことで有名だが。こちらも人間関係のドロドロさとか、失恋したかと思ったら飲んだくれてしまうところとか、またすぐ恋いしちゃうとか、上げたり下げたり、いろいろ面白いです。VFXはちょっとチープな感じがある。(予算少なかったんだろうか)

前述の映画というかドラマか?は、家系図を書いたら大変そうだ。皆兄弟いや姉妹、いや異母兄弟とか異母兄妹か?!、実は血のつながりは無い兄妹だったりと、人間関係が複雑すぎる。。。。




さて、なが〜〜い前置きはこのくらいにして、本題。
使い勝手を試そうと、HTML DBのサンプルアプリとして選んだ”ネタ”が家系図データ管理だったが、家系図データのモデルって深く考えれば考えるほど複雑。本気で考えるとハマりそうなので我が家の家系図データを管理するのに必要最低限な情報+我が家の家系図には不要なんだけどちょっと飾りを付けた感じのERモデルにしてお茶を濁すことにした。

(職業病というかなんというか、このようなモデルを考え始めると、、、、ちょっとした時間があると考えてる(Python Challengeも同じだが)。隣で奥さんがなんか言ってたけど、全然耳に入っていないのに空返事。返事をしてから、何だっけ? いまの? って聞き返したりして。。(^^;;;;  
目的は家系図作ることではなくて、HTML DBの使い勝手を調べるということなので脱線しないようにしないといけない。。。。。)

ということで現在進行形。。。だが、明日(もう今日か!)からJavaOneだな〜。

| | コメント (0) | トラックバック (0)

2005年10月30日 (日)

Mac De HTML DB 10g その7

いや〜〜。女性は強い!?のか? 
私の母が風邪で熱を出したり寝込んだ姿を一度も見た事が無い。妻も滅多に風邪をひかない(3年に1度くらい)。なのに私は、毎年1度年中行事の如く風邪をひく。先日、妻の職場で”げほげほ”していて4日も風邪で休んだ方がいたそうで、風邪だけには弱い私を気にして外でホコリ払いと除菌消臭スプレーをスーツに(ほんとうにそれで風邪ウィルスがなくなるのか疑問)したうえに、イゾジンでうがいしている妻だったが、そいつはやはりやってきた。そう、4年ぶりに38度超えの熱がでる風邪をひいてしまった。喉の痛みから始まり、翌日には熱が高くなりあっというまに38度、熱が引いたのは翌々日。それが引いたかと思ったら鼻づまりのために呼吸するのがつらく眠れない(まさに、風邪の症状フルコースなのである。こんなフルコースはうれしくない。)。そしてやっと回復間近? という状況でこれを書いている。これが書けるくらいだからあとちょっとで復活だろうな〜。

と前置きかかなり長くなったが、前回、Mac de HTML DBで作る簡単なサンプルアプリケーションに悩んでいると書いた。いろいろ悩んだ末、家系図管理アプリを作ってみることにした。
何故、家系図に落ち着いたかというと、先日叔母が逝去し、通夜と葬儀の為に集まった親戚の顔と名前をすべて妻に理解してもらおうと手書きの家系図を書いていたのだが、従姉妹のご主人からその家系図がほしいと言われたのがきっかけだった。まあ、うちの家系図といっても曾祖父母くらいからのものだが。。。。。手書きもなんなので、MacOSX用の家系図作成ソフトを探してみた。。。ところが、日本のものはほとんどがWindows版(がく〜〜〜っ。)そしてたどり着いたのが、これ

http://www.imac.com/downloads/macosx/home_learning/macfamilytree.html

メニューなどは英語というかエラーメッセージはドイツ語っぽいが、マルチバイト言語にも対応しているようだ

001
002

いろいろなビューがあるが、私は2番目にあるビューさえあれば十分。

003

004

006


これ結構イケテいるのだが、$40のsharewareなのである。滅多にメンテナンスしない我が家の家系図(孔子から始まる家系図は300万人以上いるらしいのでメンテナンスするのは大変だろうけど。。)に$40をかけるつもりはないし、我が家の家系図が描ければ十分なのでのでこの際、HTMLDBのサンプルで作ってしまえ! となった次第である。(どんなものができるか。。。。あまり期待しないでお待ちください。。)。

| | コメント (0) | トラックバック (0)

2005年10月22日 (土)

Mac De HTML DB 10g その6 Version確認

簡単なアプリケーションを作ってみよう。という段階なのだが、何を作るか悩んでいる。アドレス帳? それとも、簡単な家計簿? ん〜〜〜〜。 

ネタが無いので、Versionの確認方法でも書いておきますかね。。。

HTML DB 10g (v2.0)にすると、 FLOWS_020000 というユーザが作成されている。

SQL*Plusからだと、 FLOWS_020000.wwv_flows_release というファンクションを呼び出せばバージョンが確認できる。(なお、FLOWS_020000は、ロックされているのでsysユーザから実行して確認する。アンロックはしないほうがよいだろう。最初からロックされているので。。)

G5Server:〜 oracle$ sqlplus /nolog

SQL*Plus: Release 10.1.0.3.0 - Production on 土 10月 22 17:13:58 2005

Copyright (c) 1982, 2004, Oracle. All rights reserved.

> conn / as sysdba
接続されました。
SYS>
SYS>
SYS> select flows_020000.wwv_flows_release from dual;

WWV_FLOWS_RELEASE
-------------------------------------------------------
2.0.0.00.49

SYS>

そのほかの方法は、HTML DBにログインして確認する方法。(通常はこちらの方法で確認するのだろうね。)

check_version

check_version2

check_version3

| | コメント (0) | トラックバック (0)

2005年10月15日 (土)

Mac De HTML DB 10g その5 動作確認

一通りの作業は終えた。HTML DB v2.0へのアップデートがうまく行ったか簡単な動作確認(デモアプリケーションの起動などを行ってみる)

簡単に動作確認を行った。文字化けもなくすんなり動作しているように見える。
また、画面のアイコンボタンが個人的にはいい感じ。しかもドロップダウンメニューが階層化されているのもいいですね。CA の CleverPath Portalのポーレットデザイン時のUIがお気に入りだったが、これはこれでいいかもしれないね。








次は簡単なアプリケーションを作ってみる予定。

| | コメント (0) | トラックバック (0)

2005年10月14日 (金)

Mac De HTML DB 10g その4 パッチ適用とHTML DB 2.0へのアップデート

前回までで、HTML DB 10g (1.5)のインストールと構成は終了した。今回は、OWAのパッチ適用及び、HTML DB 10g (2.0)へのupdateを行う。

NLS_LANGをAL32UTF8に変更するため、Terminlの文字エンコードもUTF8にしておく。


1)owaのパッチを適用する。

htmldb_2.0.zipを解凍すると作成されるディレクトリにあるowaのパッチが含まれるディレクトリに移動してパッチを適用する。

尚、これ以降の作業では、NLS_LANGを JAPANESE_JAPAN.AL32UTF8に変更して行う。

(手順の詳細はパッチ用ディレクトリに含まれるREADME.txtを参照のこと。)

Last login: Thu Oct 13 23:42:47 on ttyp1
Welcome to Darwin!
G5Server:˜ oracle$ echo $NLS_LANG
Japanese_Japan.JA16SJISTILDE
G5Server:˜ oracle$ export NLS_LANG=JAPANESE_JAPAN.AL32UTF8
G5Server:˜ oracle$ cd /Volumes/Discus/4oracle/oracle/Desktop/htmldb/patch/bug4554072
G5Server:˜/Desktop/htmldb/patch/bug4554072 oracle$ ll
total 192
drwxr-xr-x 3 oracle oinstall 102 Aug 25 17:47 309x
drwxr-xr-x 4 oracle oinstall 136 Sep 12 20:07 904x_1012x
-rw-r--r-- 1 oracle oinstall 3666 Sep 12 13:34 README.txt
-rw-r--r-- 1 oracle oinstall 5773 Aug 19 15:22 htp_htf_backup.sql
G5Server:˜/Desktop/htmldb/patch/bug4554072 oracle$ sqlplus /nolog

SQL*Plus: Release 10.1.0.3.0 - Production on 木 10月 13 23:45:33 2005

Copyright (c) 1982, 2004, Oracle. All rights reserved.

> conn / as sysdba
接続されました。
SYS> @htp_htf_backup
SYS> @904x_1012x/privht
SYS> exit
Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Production
With the Partitioning, OLAP and Data Mining optionsとの接続が切断されました。

2)HTML DB 2.0インストール

htmldbins.sqlの引数の詳細については、htmldb_2.0.zipを解凍して作成されるディレクトリにある、welcome.htmをブラウザで開き、「documentation」タブ->HTML DB DocumentationにあるInstallation Guide HTMLリンクをクリック->3.2 Installing the Oracle HTML DB Softwareを参照のこと。
G5Server:˜/Desktop/htmldb/patch/bug4554072 oracle$ cd ../..
G5Server:˜/Desktop/htmldb oracle$
G5Server:˜/Desktop/htmldb oracle$ sqlplus /nolog
SQL*Plus: Release 10.1.0.3.0 - Production on 木 10月 13 23:45:33 2005

Copyright (c) 1982, 2004, Oracle. All rights reserved.

> conn / as sysdba
接続されました。
SYS> @htmldbins xtiger SYSAUX SYSAUX TEMP /i/ xtiger
. ____ ____ ____ ____
. / \ | \ /\ / | /
.| || / / \ | | |
.| ||--- ---- | | |--
.| || \ / \ | | |
. \____/ | \/ \ \____ |____ \____
.
. HTML DB Hosted Development Service Installation.
.........................................................

...中略...

3)HTML DB 2.0 日本語版インストール

htmldbins.sqlの引数の詳細については、htmldb_2.0.zipを解凍して作成されるディレクトリにある、welcome.htmをブラウザで開き、「documentation」タブ->HTML DB DocumentationにあるInstallation Guide HTMLリンクをクリック->4.5 Installing Oracle HTML DB in Other Languagesを参照のこと。
G5Server:˜/Desktop/htmldb oracle$ cd builder/ja
G5Server:˜/Desktop/htmldb/builder/ja oracle$ ll
total 65432
-r--r--r-- 1 oracle oinstall 21729796 Sep 7 15:40 f4000_ja.sql
-r--r--r-- 1 oracle oinstall 1739940 Aug 21 16:59 f4050_ja.sql
-r--r--r-- 1 oracle oinstall 59058 Aug 21 17:00 f4155_ja.sql
-r--r--r-- 1 oracle oinstall 783102 Aug 21 17:00 f4300_ja.sql
-r--r--r-- 1 oracle oinstall 1370464 Aug 21 16:59 f4350_ja.sql
-r--r--r-- 1 oracle oinstall 1147649 Aug 21 16:59 f4411_ja.sql
-r--r--r-- 1 oracle oinstall 6406200 Aug 21 16:59 f4500_ja.sql
-r--r--r-- 1 oracle oinstall 96005 Aug 21 17:00 f4550_ja.sql
-r--r--r-- 1 oracle oinstall 131682 Aug 21 16:59 f4700_ja.sql
-r--r--r-- 1 oracle oinstall 2281 Dec 29 2003 load_ja.sql
-r--r--r-- 1 oracle oinstall 1869 Oct 4 2004 unload_ja.sql
G5Server:˜/Desktop/htmldb/builder/ja oracle$ sqlplus /nolog
SQL*Plus: Release 10.1.0.3.0 - Production on 木 10月 13 23:45:33 2005

Copyright (c) 1982, 2004, Oracle. All rights reserved.

> conn / as sysdba
接続されました。
SYS> ALTER SESSION SET CURRENT_SCHEMA = FLOWS_020000;

セッションが変更されました。

SYS> @load_ja
. ____ ____ ____ ____
. / \ | \ /\ / | /
.| || / / \ | | |
.| ||--- ---- | | |--
.| || \ / \ | | |
. \____/ | \/ \ \____ |____ \____
.
. HTML DB Hosted Development Service Installation.
.........................................................

...中略...



これでOWAへのパッチ適用と HTML DB 2.0 へのアップグレード作業が完了した。

う˜˜ん。順調過ぎて逆に不安(笑)。

次回、HTML DB 2.0 簡単な動作確認へつづく。

| | コメント (1) | トラックバック (0)

2005年10月13日 (木)

Mac De HTML DB 10g その3 インストール後の作業

前回までで、Oracle HTTP Serverのインストールと HTML DB 10g (1.5) のインストールは終了した。

さて、今回はインストール後の作業として、Oracle HTTP ServerからHTML DBを利用するために必要な構成ファイルの編集(OUIのインストールでほとんど出来上がっているのだが)及び、Oracle HTTP Serverの起動、そしてアプリケ−ション開発に必要な作業領域の作成から開発用ユーザの作成までを行う。

HTML DBは、Oracle HTTP Server (Apache)からmod_plsqlを介してWeb Tool Kit (htpパッケージや、htfパッケージなど)やHTML DBのパッケージ群などのストアドプロシージャを実行する。
OWSやWASのころは構成ファイルは dad.conf だったのだが、現在は marvel.conf がデフォルトのようである。(ただし、dad.conf も利用可能で dad.conf がある場合には dad.conf も読み込まれる。”も”というのがポイントだ。2つの構成ファイルはどちら"も"読み込まれるのだ。dad.conf 、marvel.conf の順にimport されている。マニュアルはまだそれほど読み込んでいないのでdad.confとmarvel.confについては別途調べておいた方が良さそうだ。ちなみにPlsqlDatabasePasswordは暗号化されていた。)


では早速、marvel.conf を編集してみる。
(以下、HTML DBをインストールしたディレクトリを$HTMLDB_HOMEと記す。)

$ cat $HTMLDB_HOME/Apache/modplsql/conf/marvel.conf
Alias /i/ "/Volumes/WorkVol/u01/app/oracle/product/10.1.0/htmlDB/marvel/images/"
<Location /pls/htmldb>
SetHandler pls_handler
Order deny,allow
Allow from all
AllowOverride None
PlsqlDatabaseUsername HTMLDB_PUBLIC_USER
PlsqlDatabasePassword @BXDpf8GmfAmsbuOTY0ApZ78=
PlsqlDatabaseConnectString 192.168.1.19:1521:tiger ServiceNameFormat
PlsqlDefaultPage htmldb
PlsqlDocumentTablename wwv_flow_file_objects$
PlsqlDocumentPath docs
PlsqlDocumentProcedure wwv_flow_file_manager.process_download
PlsqlAuthenticationMode Basic
PlsqlNLSLanguage JAPANESE_JAPAN.JA16SJISTILDE
</Location>
AddType text/xml xbl
AddType text/x-component htc

marvel.conf はインストール完了時点でほぼ完成している。加えた変更は PlsqlNLSLanguage を AMERICAN_AMERICA.JA16SJISTILDE から JAPANESE_JAPAN.JA16SJISTILDE に変更し、最後にある AddType の2行を追加しただけである。
尚、タグの詳細は付属マニュアルに"きっちり"書かれているのでそちらを参照のこと。

編集が終わったら、Oracle HTTP Serverを起動する。(OUIでインストールした場合には、起動されているはずなので一旦停止してから起動する。)

$ $HTMLDB_HOME/Apache/Apache/bin/apachectl stop
$HTMLDB_HOME/Apache/Apache/bin/apachectl start: httpd stopped

$ $HTMLDB_HOME/Apache/Apache/bin/apachectl start
$HTMLDB_HOME/Apache/Apache/bin/apachectl start: httpd started

インストールの最後(OUIの画面)にOracle HTTP ServerのURLが表示されていたのを覚えているだろうか? port番号を忘れてしまう方が多いがそのような場合には、
$ cat $HTMLDB_HOME/install/portlist.ini
;OracleAS Components reserve the following ports at install time.
;As a post-installation step, you can reconfigure a component to use a different port.
;Those changes will not be visible in this file.

[System]
Host Name = 192.168.1.19

[Ports]
Oracle HTTP Server port = 7780
Oracle HTTP Server Listen port = 7780
Oracle HTTP Server SSL port = 4458
Oracle HTTP Server Listen (SSL) port = 4458
Oracle HTTP Server Diagnostic port = 7202
Oracle HTTP Server Listen port = 7780
Oracle HTTP Server Listen (SSL) port = 4458

で確認できる。

今回は、localhostでも、192.168.1.19でもどちらでも問題ないはずなので、http://localhost:7780/pls/htmldb/htmldb_adminにアクセスし作業領域と開発用ユーザを作成する。
htmldbの管理ユーザは adminで、パスワードは ouiで指定したパスワードを入力すればよい。行った操作は以下のFlashMovie参照。
この例では、作業領域AQUARIUMを作成時に新規スキーマAQUARIUMを作成し50MBの表領域(FLOWS_1)を新たに作成した。










うまく出来たようなので、先ほど作成した開発用ユーザでログインしてみる。urlは、http://localhost:7780/pls/htmldb/である。










と、ここまでは順調!。
次回、HTML DB2.0に付属する、Web Tool Kit 用パッチの適用へつづく。

| | コメント (0) | トラックバック (0)

2005年10月12日 (水)

Mac De HTML DB 10g その2 インストール編

前回からのつづき。

環境変数の設定。(インストールの注意点など、詳細は付属ドキュメントをよく読んでくださいね)


今回は、Oracle HTTP ServerとHTML DB 10g をインストールするので、Oracle10g Database及び、listenerを起動しておき、OUIを利用してインストールする。(MacOSX では、onsctlでOracle NamesOracle Notification Serverを起動しておくことをお忘れなく。忘れるとListenerが停止できなくなり、killすることになる。)

dbstart


ORACLE_BASEだけを設定しておけば問題ないのだが、データベースキャラクタセットがマルチバイトキャラクタセットである場合には問題があるようで、英語メッセージを表示させる場合にはAMERICAN_AMERICA.AL32UTF8、日本語メッセージを表示させる場合は、JAPANESE_JAPAN.AL32UTF8のいずれかを、NLS_LANGに設定しておく必要がある。これを忘れるとHTML DBの日本語はすべて文字化けするので注意が必要である。その他のオラクル用環境変数はunsetしておく。
尚、ORACLE_BASEは、Oracle10g R1のORACLE_BASEと同じであるが、HTML DB向けにOracle HTTP Serverもインストールするためインストール先のORACLE_HOME用ディレクトリは別にする必要があるので注意すること。(既存ORACLE_HOMEにインストールしようとするとOUIが警告を出してくれる)

また、Terminalの文字コードは一時的にUTF8にしておくとよいだろう。
runinstall


ship_mac_companioncd.cpio.gzを解凍すると、Disk1というディレクトリが作成されているのでそこに移動して、runInstallerを実行する。最後に、root.shを実行してインストールは完了する。(OUIのログの最後にjavaの例外が出ているようだがOUI自体は正常終了するので気にせずに!)









ちなみに、NLS_LANGをAL32UTF8に設定することを忘れると、OUIのログが文字化けを起こすので間違いに気が付くと思う。尚、やり直す際にはインストールがどこまで進んだかにもよるが、OUIでHTML DBを削除、HTML DBをインストールしたORACLE_HOME以下のディレクトリを削除、そして、FLOWS_010500、FLOWS_FILES、HTMLDB_PUBLIC_USERの3ユーザをdrop user ... cascade文で削除してから再インストールする。
(Windowsと違ってレジストリなんてのが無いので再インストールは楽です)


インストール後の作業へ続く。。。。

| | コメント (0) | トラックバック (0)

2005年10月11日 (火)

Mac De HTML DB 10g その1 インストール編

PL/SQL で Python Challengeはやる気がでるまで(すぐ再開したりしてね)お休み。 
前回触れたが Oracle10g R1 以降に付属するHTML DBで遊んでみることにする。このHTML DB、Oracle10g R1が発表された2003年のOracle Worldで初めてHTML DBを見たとき、Oracle9i AS R2 Portalのデータベースポートレットとどう違うのさ! と思っていた。(OW2003会場で担当者に聞いても差が見えなかったので最近まで気にも留めていなかった)。 しかし、これを導入したら楽なのになと思うシステムに最近関わったことや、MacOSX版Oracle10gでも動きそうなので Mac De Oracle としては放っておけなくなったのであった。

Oracle9i AS R2 Portalや、Oracle AS10g R1 Portal(中身はOracle9i AS R3といってもいいくらいなのだが。。)のデータベースポートレットは、Oracle AS Portalが必要なのである。(あたりまえじゃん! と自分へツッコミ。)。 PL/SQLを使って比較的簡単なWeb Applicationをウィザードを利用して作成するためだけに、Oracle9i AS Portalや、OracleAS 10g Portalを導入するのは無駄だと思う。 Portal導入なしにWeb Tool Kitによる作成より簡単(WASやOASの時代より簡単)に、PL/SQLでWeb Applicationを作成したいというシステムでは重宝しそうに思える。(OracleAS 10g R2 Portalはまだ見ていないのでどれだけ進化したか不明だが。。)

前置きはこれくらいにして、早速インストールしてみることにする。 HTML DBは、CD版だとCompanion CDに含まれており、Oracle HTTP Server (ApacheをOracleが拡張したもの)も含まれている。 (DVD版だと1枚にまとめられている。) 今回はUS OTNからダウンロードしたものを利用した。

Oracle Database 10g Companion CD Release 1 (10.1.0.3) for Apple Mac OS X
  ship_mac_companioncd.cpio.gz (511,023,225 bytes) (cksum - 1634262664)  
  Oracle HTML DB v2.0 (56,104,916 bytes) - latest standalone version of HTML DB New (13-Sep-05)
尚、Oracle10g R1に付属するHTML DBは、1.5であるが、先月 2.0がリリースされたので2.0へのアップグレードも行うことにする。

以下の手順で進める。


  1. オラクル所有者でログインする。(このユーザで、Oracle10g R1 for MacOSX Serverをインストール及び構成済みである。)

  2. Oralce NamesOracle Notification Service(マニュアルバグのため修正)、Listener、Oracle10g Databaseインスタンスの順に起動する。

  3. ship_mac_companioncd.cpio.gzと Oracle HTML DB v2.0 の2つをダウンロードする。
    (尚、ダウンロードする際には、Oracle Technology Network Developer License Terms に同意する必要がある。)

  4. ship_mac_companioncd.cpio.gzと htmldb_2.0.zipを解凍する。

  5. 環境変数を設定する。
    マルチバイトキャラクタセットをデータベースキャラクタセットとしている場合には、ORACLE_BASE以外にNLS_LANGも設定する。
  6. Oracle Universal Installer(OUI)によるインストール。
    ship_mac_companioncd.cpio.gzを解凍するとDisk1というディレクトリができる。Disk1にディレクトリを移動して、./runInstaller でOUIを起動する。

  7. インストール終了後の作業。


    1. marvel.confを編集する。

    2. Oracle HTTP Serverを起動する。

    3. 作業領域を作成する。

    4. 開発ユーザを追加する。


  8. Web Tool Kit のPatchを適用する。

  9. HTML DB 2.0にアップグレードする。

  10. アプリケーションを開発する。

次回は、5.以降の作業から続きを書く予定である。

2009/5/12変更
Oracle namesはマニュアルバグであるため、Oracle Notification Serviceへ修正した。

| | コメント (0) | トラックバック (0)

2005年10月 5日 (水)

Mac De Oracle

Oracle10g 新機能 SQL*Plus その2

Oracle10g で SQL*Plus派にはちょいとうれしい改善の記事を書いたが、それ以外にもいくつか改善されている。

今回は PowerMac G5 Dual 2.7Ghz 1GB-RAM MacOSX Server Tiger 10.4.2 に作成した Oracle10g R1 10.1.0.3 EEを利用した。

まずは、Oracle9i R2でも可能だが、トリガーをデバッグする目的で利用するDBMS_OUTPUTの結果を表示できるのだ。
dbms_outputでデバッグが必要になるような大きなトリガーを書いた経験は無いが、デバッグには便利な機能である。

dbms_output_from_trigger




さて本題、Oracle10g R1以降では、SELECT文中で実行されるユーザ定義関数でもDBMS_OUTPUTの結果を表示できるようになったことだ。beginブロックで呼び出さなくてもDBMS_OUTPUTの結果を表示できるのでちょっとだけだが便利になった。Oracle9i R2 までは select文中のユーザ定義関数内のDBMS_OUTPUTの結果は表示できなかった。(恐らく、beginブロックで呼び出せばできるじゃん! というのがあったから機能として取り込まなかったんだろうと想像する。) Oracle10g では今までに無く細かい改善があるように思う。(大きな機能追加や改善が注目されがちだが。。)

dbms_output_



ところで、iSQL*Plus というブラウザベースのSQL*Plusをご存知の方も多いと思う。実は前述した機能改善は、iSQL*plusでも同様に機能する。
尚、iSQL*Plusの起動は、
$ isqlplusctl start

停止は、
$ isqlplusctl stop

である。


また、通常は次のURLでアクセスできる http://hostname:5560/isqlplus (管理者用のURLは、http://hostname:5560/isqlplus/admin)
尚、ポート番号はインストール時にOUI側で調整されることがあるので、インストール後に表示されるURLとポート番号を控えておくか、

pb17:〜 oracle$ cat $ORACLE_HOME/sqlplus/bin/isqlplus.ini | grep HTTP_PORT
HTTP_PORT=5560
pb17:〜 oracle$

で確認できる。


ログイン画面

isqlplus_login


ログイン直後

isqlplus


SQL*Plusで行ったことをiSQL*Plusでもやってみると。。。DBMS_OUTPUTの結果が表示される!

isqlplus_dbms_output


iSQL*Plusの複数ページ表示も Oracle10g から可能になった。
画面右上の「設定項目」リンク又はアイコンをクリック->出力ページサイズの「複数ページ」を選択し、「各ページの列数」(多分行数の間違いだと思うが・・・)を設定して、「適用」アイコンボタンをクリックしてページサイズを設定する。

isqlplus2



isqlplus3

| | コメント (0) | トラックバック (0)

2005年10月 4日 (火)

PL/SQL で Python Challenge 15 やっぱり書いておこう

「UTL_HTTPパッケージと正規表現で終わりそうだった」というのはLevel 15を解いた結果がどうなるか見えてしまったから、その先を(URLを求めるプログラム)プログラミングしてしまおうかなと考えていたためだったのだが、URLを直接求めるプログラミングを要求しているわけではないので、やはり Level 15のURLを探るために必要な答えを導きだす方法は書いておくべきだな。と考え直した。
(私はプログラミングなしで判ってしまったが、一般的にそれに気付く方は少ないよな〜と思ったためである。)

なので、Level 15 をちゃんと解くことにした。
ヒントとしては、Oracleの日付関連の関数を活用すればいい。
ここまで書けば答えを書いているようなものだが。。


今回は特別にLevel 15のHTMLにあるコメント(ヒント)を載せておく。
タイトルは、whom?
コメント(ヒント1):he ain't the youngest, he is the second
コメント(ヒント2):todo: buy flowers for tomorrow


(注意)
日本人にはヒント2がヒントにならないかもしれない。その日のために、花を買うような習慣のある方は少ないだろうから。でも私はすぐにピンときてしまったのだ。)



今回は、ストアドファンクションにした、javaも不要なので、MacOSX 10.4.2 Tigerに作成したOracle10g for MacOSX Serverで行える。
create or replace function level15
return varchar2
is
type date_tbl_typ is table of date index by binary_integer;
days date_tbl_typ;
y pls_integer := 1006;
ctr pls_integer := 0;
mmdd constant char(4) := '0126';
begin
while y<=1996 loop
if to_char(to_date(to_char(y)||mmdd, 'yyyymmdd'),'d') = 2 then
ctr := ctr + 1;
days(ctr) := to_date(to_char(y)||mmdd, 'yyyymmdd');
end if;
y := y + 10;
end loop;
return to_char(days(days.last-2), 'YYYY/MM/DD DAY');
end;
/


/Users/oracle> @level15

ファンクションが作成されました。

/Users/oracle> select level15() from dual;

LEVEL15()
--------------------------------------------------------------------------
1756/01/26 月曜日

/Users/oracle>

この結果が本当の答えではない。ヒント2に関するロジックを、あえてプログラミングしていない。
上記の結果を、ヒント2を元に調整する必要がある。(簡単でしょ!)調整した日付がURLを完成させるための「鍵」になるのだ。

今回は完全にネタバレですね。でもね。この問題プログラミングしなくても判る方は判るし、別な方はググるだけでも解けてしまうくらい単純なのであえてネタバレにしてみました。m(__)m

今度こそ本当に、Level 16へつづく。

| | コメント (0) | トラックバック (0)

2005年9月15日 (木)

Mac De Oracle

Oracle10g には数多くの新機能が盛り込まれている。。目立たないが SQL*Plus派にはちょいとうれしい改善がある。

それは、set sqlprompt と glogin.sql や login.sql が connect 毎に読み込まれるようになったことだ。

詳細は、「Oracle Database新機能」のSQL*Plusに関連する部分や、「SQL*Plusユーザーズガイド及びリファレンス」の set sqlprompt と DEFINE解説部分などを読んでもらうとして、早速試してみよう。

sqlprompt に 接続しているオラクルユーザ名や時刻などが表示できるようになった。この設定をglogin.sqlなどに書き加えておけば、connect毎に再実行されて常にconnectしているオラクルユーザ名が表示されるという訳だ。glogin.sqlやlogin.sqlが bashなどの .bash_profile のような扱いになったということだ。
さらに、カレントのパスを表示することもできる。

200509151




注意する点は、sqlpromptに設定可能なのは50バイトまでということである。
あまり深いところでsqlplusを起動してしまうと。こうなる。

200509162


初代iPod 2GBユーザ!! なのだが、iPod nano が欲しいな〜〜やっぱり。 

| | コメント (0) | トラックバック (0)

2005年7月18日 (月)

Tiger De Oracle10g その5

Oracle10g 10.1.0.3は、Mac OSX Tigerには対応していない。無理矢理動作するようにはできるのだがやはり無理矢理なのが原因でJava Stored Procedure を利用するとエラーが発生する。

MacOSX tigerで無理矢理、Oracle10g 10.1.0.3を動作させたが
Symbol not found _jnistatic. Referenced from: ....../lib/libjox10.dylib. Expected in: flat namespaceエラーが発生する。このエラーは、Java stored procedureを実行する際に発生する。
(無理矢理、動作させているので仕方ない)
同じことを、MacOSX Pantherに作成したOracle10g 10.1.0.3のデータベースで行う場合(私の環境では、MacOSX 10.3.9)には問題は発生しないようだ。以下ログ参照。

・MacOSX Tiger(10.4.1)のOracle10g 10.1.0.3で Java stored procedureを実行した場合。
ontiger


・MacOSX Pathner(10.3.9)のOracle10g 10.1.0.3で同じJava stored procedureを実行した場合。

onpanther




MacOSX Tigerに対応したOracle10gのリリースを待ちたい。(Intel版Macintoshの話もあるのでリリースされるのか多少不安はあるのだが。。。)


ところで、感の鋭い方は気がついたと思うが、前述の例で実行している”level7.getAnswer()"というファンクションは、Java stored procedureなのである。実は、PL/SQLだけでは困難ということで一旦終了していた「PL/SQL で Python Challenge Level7」を解く為に作成したPL/SQLパッケージなのである。
あきらめきれずに、Oracle10gとPL/SQLの”機能(java stored procedure)”を利用して解いていくということで再開することにしたのだ。PL/SQLやOracle10gで提供されている機能だけでは出来ない部分は、Java stored procedure化して補うという方針にしたのである。「Javaなら、Python Challengeを全部Javaで解けるんじゃない?」 という声も聞こえてきそうだが、Javaにお願いするのは、PL/SQLのパッケージやOracle10gの機能だけでは面倒な部分だけに限るというということと、必ずJava stored procedureとして呼び出す。 という方針。。。Level7では画像データをpixel単位で扱う必要があるためその部分だけJavaを利用する。 PL/SQL で Python Challenge 7 再チャレンジ」をお楽しみに。。

| | コメント (0) | トラックバック (0)

2005年7月 5日 (火)

Tiger & Panther De Oracle10g

Oracleの自動起動の設定をしたが、一つ忘れていた。自動停止のことを。

MacOS X 10.2 JaguarのころからOSのシャットダウン時に、/Library/StartupItems/xxx/xxx スクリプトに記述された、StopService()が実行されていない。これはPantherでも、Tigerでも同じようである。(MacOS X Serverではどうなのかは調べていない)
調べる必要はあるが今のところは手動で、 /sbin/SystemStarter stop "xxxxx" として停止するのが一番無難のようだ。ちなみに、Jaguarに Oracle 9i をインストールした際に参考にした、O'Reillyの記事でも同様の記述がある。 今のところ、Oracleのインスタンスを手動停止しないと、 MacOS X では、 kill -TERM されてしまうということのようだ。 MacOS X Tiger Serverではどうなんだろう?? MacOS X Serverはまだないのだが、MacOS X Serverを入手したら、ぜひ試してみたい点である。 (Apple ScriptでShutdownイベントを拾えれば、自動停止は可能かもしれない。。。これも調べてみよう)
 

| | コメント (0) | トラックバック (0)

2005年6月18日 (土)

Tiger De Oracle10g その4

US OTNで、Tigerリリース直後から続いていた、TigerにOracle10gをインストールできないという話がついに完結。無理矢理動作させる方法が紹介されていた。ということで、すぐにやってみた。

1)gcc を 3.3 に切り替える。

Tiger De Oracle10g では、libcc_dynamic.a というシンボリックリンクがない。。。ということと、Appleさんが悪いのだろうかということを書いていたが、Appleさんはちゃんと gcc_select というスクリプトを用意してくれていました! m(_ _)m。 gcc_selectを利用すると、3.3 と 4.0の切り替えが簡単にできるのである。まぁ、oraenv みたいなもんですなぁ。で、3.3 に切り替えると、4.0 では、存在しないシンボリックリンクが作られるのです。いや〜〜気がつかなかった。(自分でシンボリックリンク作る必要なんか無かったんですから。。)
pb17: oracle$ sudo gcc_select 3.3
Password:
Default compiler has been set to:
gcc version 3.3 20030304 (Apple Computer, Inc. build 1809)
pb17: oracle$ gcc -v
Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs
Thread model: posix
gcc version 3.3 20030304 (Apple Computer, Inc. build 1809)
pb17: oracle$

2)インストール

gcc 3.3 をデフォルトにした状態で、Panther De Oracle10gや、Tiger De Oracle10gで解説した通常のインストールを行う。ただ、この場合はDBCAが失敗するので、”ソフトウェア”だけをインストールすること。データベースは後から作成する。

3)”ソフトウェア”だけのインストールは問題なく終了する。さて、次の作業がポイント。

US-OTN Apple Forumの Oracle 10g DB on Mac OS X 10.4(Tiger)の記事で、Jean-Rene Rouetさんの投稿を参照してもらいたい。ようするにその作業を行うだけでdbcaが起動するようになるのだ
2008/10/20修正(脱字とリンク切れ)及び、該当部分引用追記
cd $ORACLE_HOME/lib
mv libnnz10.dylib libnnz10.dylib.ori
relink all
mv libnnz10.dylib.ori libnnz10.dylib

4)あとは、DBCAでデータベースを作成するだけである。

(ちなみに、私のPowerBookでは、カスタムデータベースの作成は失敗するが、シードデータベースからの作成だと成功する。また、DBCAの画面が0%のまま更新されない状態のままなのだが、データベースの作成は成功するので top コマンドなどで確認しているとよいと思う)DBCAの画面は、いつものFlash版スライドショーを見ていただきたい。

5)PowerBook G4 17inch 1Ghz 1GB-RAM MacOS X 10.4.1 Tigerで Oracle10gを起動したログはこれ!

これで外出先でも、Mac De Oracle10g ができますよ。あとは、正式にTigerに対応したOracle10gがでるのを待つだけ。


| | コメント (4) | トラックバック (0)

2005年6月17日 (金)

Tiger De Oracle10g その3

前回、Tiger De Oracle10g その2でMacOS X 10.4 Tigerで、Oracle10gを動作させた方がいるというUS OTNの記事を紹介したが、実際にその手順を試してみた。

とりあえず、うまくいったという報告だけで、今日はここまで。。(眠い。。。) 詳細は、後日。。(そんなに、引っ張るなーという方は、US OTNの手順で試してもらいたい。 ちなみに、私の環境では、DBCAによるカスタムデータベースは、うまく作成できず、シードデータベースによる作成できた。DBCAの画面は変な状態のままだったが。。。

| | コメント (0) | トラックバック (0)

2005年6月16日 (木)

Tiger De Oracle10g その2

US OTNがいつの間にか、リニューアル? かと思い Appleのフォーラムを覗いていたら、Tiger De Oracle10gを動かした方が、、、

US-OTN Forumの後半でついに、無理矢理、TigerでOracle10gでdbcaを起動させ、データベースを作成したという記事が。。。私もやらねば。。。。次回につづく。

| | コメント (0) | トラックバック (0)

2005年6月 1日 (水)

Tiger De Oracle10g

先日(2005/4/29)にリリースされた、Mac OS X 10.4 Tiger。Oracle10g for MacOS Xは、Tigerに対応しているというアナウンスは今のところ(2005/6/1現在)ない。
でも、Oracle 好きな Macユーザは、何もしないではいられないのであった。。。。。
ということで早速、インストールしてみた。

1.環境確認

Panther De Oracle10gとは違い、PowerBookにインストールしてみる。Tigerに未対応なアプリケーションがあるので、Cubeは、Tigerにアップグレードできないでいる。(><)
今回、インストール対象に選んだのは、 PowerBook G4 17 inch 1Ghz 1GB-RAM MacOSX Tiger (10.4.1) である。(PowerBook G4 17inchの初期型)
DSC00004
今回も、Mac OS X Tiger で、Server版ではないことに注意。 また、現時点(2005/6/1)では、Oracle10g は、Mac OS X Tigerに対応しているというアナウンスは出ていないし、Mac OS X Panther Server 10.3.6以外の動作保証もされていない。
sh-2.05b# uname -a
Darwin pb17.local 8.1.0 Darwin Kernel Version 8.1.0: Tue May 10 18:16:08 PDT 2005;
root:xnu-792.1.5.obj ̄4/RELEASE_PPC Power Macintosh powerpc
sh-2.05b#

sh-2.05b# sw_vers
ProductName: Mac OS X
ProductVersion: 10.4.1
BuildVersion: 8B15
sh-2.05b#

sh-2.05b# gcc -v
Reading specs from /usr/lib/gcc/powerpc-apple-darwin8/4.0.0/specs
Configured with: /private/var/tmp/gcc/gcc-4061.obj ̄8/src/configure --disable-checking
--prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++
--program-transform-name=/^[cg][^+.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/gcc/darwin/4.0/c++
--build=powerpc-apple-darwin8 --host=powerpc-apple-darwin8 --target=powerpc-apple-darwin8
Thread model: posix
gcc version 4.0.0 20041026 (Apple Computer, Inc. build 4061)
sh-2.05b#

sh-2.05b# /usr/sbin/system_profiler SPApplicationsDataType | grep Xcode
Xcode:
Get Info String: Xcode v2.0
Location: /Developer/Applications/Xcode.app
sh-2.05b#
とここまで確認できたら、早速インストールしてみることにする。(インストールの準備や手順は、Panther De Oracle10g その1からその7までを参考にしてもらいたい。/etc/rcが Pantherとは多少異なっているかもしれないが特に問題になるようなことはないだろう。)

2.インストール

OUIが起動して、順調に進んでいたが、リンク時にエラーが多発する。無理矢理進めて、 root.shを実行してみる。ん?! Pantherの時と違って600sec待つというシーンがない! ん! その前に、なんか、おかしい。 libclntsh.dylib.10.1 が無いと言われている!! ひとまず、 make.logや、インストールログを後で確認しようと、ログファイルなどを tar でまとめようとしたら、。。。。。。。

あ!、た、たた、tar が無い! man tar でも なにもでない! どういうことだ!。


そういえば、PowerBook を Mac OS X 10.4 (tiger) にupdateする際に、ファイルシステムの破損が検出され、TechToo Proでディスクを修復。本当は、DiskUtility で修復したがったが、DiskUtilityが修復作業中にクラッシュてしまうので、TechToo Proで修復したのだ。しかし、60GBのディスクを修復するのにあまりに時間がかかるので、TechToo Proの修復途中で停止させ、残りをDiskUtilityで修復したために、復活できなかったファイル群があったようだ。時間が掛かっても最後までTechToo Proで修復するべきであった。。結局、Mac OS X Tigerをクリーンインストールし、被害の無かったパーティションのデータも念のためにバックアップからリストアしてなんとか復活したのであった。
今は、ちゃんと、tar できます。私のMac。(爆)
と、無駄な苦労は、さておき、TigerへのOracle10gのインストールを再開する。
インストールが進み、root.sh を実行するが、やはり、リンクができないようだが、先ほどのエラー内容が異なるのは確かだ。早速、make.log など確認してみることにした。

作成されたプロセスから出力を開始します。
----------------------------------
make -f /Volumes/WorkVol/u01/app/oracle/product/10.1.0/tiger/sysman/lib/ins_sysman.mk
relink_sharedobj SHAREDOBJ=libnmemso
/usr/bin/ld `cat /Volumes/WorkVol/u01/app/oracle/product/10.1.0/tiger/sysman/lib/libnmemso.def
| grep -E "[a-zA-Z0-9]+[;]" | awk -F";" '{printf(" -u "$1)}'` -dylib -flat_namespace -undefined

ーー中略ーー

oracle/product/10.1.0/tiger/lib -lm
`cat /Volumes/WorkVol/u01/app/oracle/product/10.1.0/tiger/lib/sysliblist`
-L/Volumes/WorkVol/u01/app/oracle/product/10.1.0/tiger/lib -lm
/usr/bin/ld: can't open: /usr/lib/libcc_dynamic.a (No such file or directory, errno = 2)
make[1]: *** [/Volumes/WorkVol/u01/app/oracle/product/10.1.0/tiger/sysman/lib/libnmemso.dylib] Error 1
make: *** [libnmemso] Error 2

作成されたプロセスからの出力を終了します。
----------------------------------
アクションから生じた例外: make
例外名: MakefileException
例外文字列: Makeファイル'/Volumes/WorkVol/u01/app/oracle/product/10.1.0/tiger/sysman/lib/ins_sysman.mk'の
ターゲット'agent emsubagent nmo nmb'を起動中のエラーです。
詳細は'/Volumes/WorkVol/u01/app/oracle/oraInventory/logs/installActions2005-05-25_09-14-40PM.log'を
参照してください。
例外の重大度: 1
このMake操作の出力は次の場所でも参照できます:
'/Volumes/WorkVol/u01/app/oracle/product/10.1.0/tiger/install/make.log'
とログの通り、 libcc_dynamic.a が無いらしい。
どういうことだろうか! 調べてみると、 MacOSX Tiger には /usr/lib 以下には libcc_dynamic.a は、確かに存在しないのだ。 ところが、 MacOSX Panther には 存在したのである。さらに、調査すると、 libcc_dynamic.a は、シンボリックリンクであり、 MacOS X 10.3.x Pantherでは、/usr/lib/gcc/darwin/default/libgcc.a がソースであった。
Mac OS X 10.4 tiger では、XCode が、2.0となり、gcc3.3 と gcc4.0(デフォルト)2つの gcc が存在している。また、Panther では、/usr/lib/gcc/darwin/default/libgcc.a だったパスが、Tigerでは、変わってしまっている。 ようするに、まだ、Tiger + gcc4.0 (gcc3.3でも) OUIが対応していないのかもしれないが、、、でもよくよく考えてみると、gcc3.3 と gcc4.0でパスが変わっちゃうのもいかがなものかと。そのような影響が無いようにしておくのがベストだとすれば、Apple 側になんとかしてもらうのがよいのかもしれない。
pb17:/usr/lib oracle$ ll gcc
total 0
drwxr-xr-x 4 root wheel 136 May 24 21:48 darwin
drwxr-xr-x 3 root wheel 102 Mar 28 12:40 powerpc-apple-darwin8
pb17:/usr/lib oracle$ cd darwin
pb17:/usr/lib/gcc/darwin oracle$ ll
total 8
drwxr-xr-x 8 root wheel 272 Mar 28 12:40 3.3
lrwxr-xr-x 1 root wheel 3 May 24 21:43 3.3-fast -> 3.3
pb17:/usr/lib/gcc/darwin oracle$
でも、このまま、止めてしまうのももったいないので、/usr/lib/libcc_dynamic.a とういうシンボリックリンクを、gcc4.0の libgcc.a で作成してインストールしてみることにした。ただし、OUIでは、オラクルのインストールだけで、Net Serviceの構成や、データベースの作成は別途行うことにした。
sh-2.05b# cd /usr/lib
sh-2.05b# ln -s /usr/lib/gcc/powerpc-apple-darwin8/4.0.0/libgcc.a libcc_dynamic.a
sh-2.05b# ls -l libcc_dynamic.a
lrwxr-xr-x 1 root wheel 49 Jun 1 16:02 libcc_dynamic.a ->
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/libgcc.a
sh-2.05b#
これで、インストールを最初からやり直すと・・・・おおおお!〜 Yahoo! リンクが通りました〜。
次にroot.shを実行すると、Pantherのときと同じ、600秒のじっと我慢もさせられました。ここまでは、Panther同様、問題なく(?)進んでいるように見えます。
root.sh実行(後半部分だけ)
Checking the status of Oracle init process...
Expecting the CRS daemons to be up within 600 seconds.
Giving up: Oracle CSS stack appears NOT to be running.
./root.sh: line 788: /System/Library/StartupItems/OracleCRS: is a directory
Oracle CSS service would not start as installed
Automatic Storage Management(ASM) cannot be used until Oracle CSS service is started
mkdir: /opt: No such file or directory
mkdir: /opt/ORCLfmap: No such file or directory
mkdir: /opt/ORCLfmap/prot1_32: No such file or directory
mkdir: /opt/ORCLfmap/prot1_32: No such file or directory
mkdir: /opt/ORCLfmap/prot1_32: No such file or directory
cp: /opt/ORCLfmap/prot1_32/bin: No such file or directory
cp: /opt/ORCLfmap/prot1_32/bin: No such file or directory
chmod: /opt/ORCLfmap/prot1_32/bin/fmputl: No such file or directory
chmod: /opt/ORCLfmap/prot1_32/bin/fmputlhp: No such file or directory
cp: /opt/ORCLfmap/prot1_32/etc: No such file or directory
sh-2.05b#

次に、Oracle所有者でログインし、必要な環境変数を設定後、netcaにより、Net Serviceを構成してみた。問題ない(?)ようである。

pb17:/Volumes/WorkVol/u01/app/oracle/product/10.1.0/tiger oracle$ netca
Oracle Net Servicesの構成:
次のリスナーを構成中:LISTENER
リスナーの構成が完了しました。
Oracle Net Listenerの起動:
リスナーの制御の実行:
/Volumes/WorkVol/u01/app/oracle/product/10.1.0/tiger/bin/lsnrctl start LISTENER
リスナーの制御が完了しました。
リスナーの起動に成功しました。
デフォルトのローカル・ネーミング構成が完了しました。
作成されたネット・サービス名: tiger10g
プロファイルの構成が完了しました。
Oracle Net Servicesの構成に成功しました。終了コードは次のとおりです。0
pb17:/Volumes/WorkVol/u01/app/oracle/product/10.1.0/tiger oracle$

最後にデータベースを dbcaで作成してみましょう。dbcaコマンドを実行するがうまくいかない。仕方ないので、create database文で手動で作成しようとすると、dbcaで発生するエラーと同じエラーが発生した。

SQL*Plus: Release 10.1.0.3.0 - Production on 木 5月 26 14:37:42 2005

Copyright (c) 1982, 2004, Oracle. All rights reserved.

SQL> conn / as sysdba
dyld: Symbol not found: _SSL_ALG_CLIENT_AUTH_MODE_RSA_SIGN_CLIENTSIDE_BS
Referenced from: /Volumes/WorkVol/u01/app/oracle/product/10.1.0/tiger/lib/libnnz10.dylib
Expected in: flat namespace

ERROR:
ORA-12547: TNS: 接続を失いました。


SQL>

googleで次のようなキーワードで検索すると mac _SSL_ALG_CLIENT_AUTH_MODE_RSA_SIGN_CLIENTSIDE_BS
ありました! 本家OTNに、
US-OTN Forum
やはり、問題があるようですね。Mac OS X Tigerに対応したOracle10gの登場を待つしか無いかもしれません。

2008/10/20:US OTNへのリンク切れ修正及び元エントリ引用追加

I don't know how to fix the problem but it seems critical. The install failed and when I tried to fix it, I got:

SQL> connect / as sysdba
dyld: Symbol not found: _SSL_ALG_CLIENT_AUTH_MODE_RSA_SIGN_CLIENTSIDE_BS
Referenced from: /Volumes/Shared/oracle/product/10.1.0/db_1/lib/libnnz10.dylib
Expected in: flat namespace

ERROR: ORA-12547: TNS:lost contact

| | コメント (0) | トラックバック (0)