http://d.hatena.ne.jp/yohei-a/20091017/1255791152
第1回 Oracle8i Internal Services 1人読書会
読んだところ
- Introduction
- The Oracle Kernel Layers
- The Kernel Services
書かれていること
- この本の2章以降を理解するために必要なこと。
- それは「Oracle の中心部 (Kernel) の階層構造 (layers)」。
要約
- Oracle の中心部は階層構造になっている。
- 各層は自分より下の層なら、好きな順番で、直接呼び出すことができる。
- 呼出しから戻るとき以外、上の層に制御が上がることはない。
name | short name |
---|---|
Oracle Call Interface | OCI |
User Program Interface | UPI |
Net8 | |
Oracle Program Interface | OPI |
Compilation Layer | KK |
Execution Layer | KX |
Distributed Execution Layer | K2 |
Network Program Interface | NPI |
Security Layer | KZ |
Query Layer | KQ |
Recursive Program Interface | RPI |
Access Layer | KA |
Data Layer | KD |
Transaction Layer | KT |
Cache Layer | KC |
Services Layer | KS |
Lock Management Layer | KJ |
Generic Layer | KG |
Operating System Dependencies | S |
妄想
ところで、この layer ってあくまでモジュールなど物理的なものをグルーピングする論理的な概念だと思う。
Oracle の実行ファイルを見てもこんな名前のはないし。この論理は物理とどう対応するのか? 手元の Oracle10gR2(Solaris10) で $ORACLE_HOME 下をちょっと調べてみたら、それっぽい名前のオブジェクトファイルがあった。Oracle のインストール時にこいつらが、リンクされて実行ファイルや共有ライブラリになるんだなたぶん。
$ cd /export/home/oracle/product/10.2.0/db_1/rdbms/lib
$ ls *k[a-zA-Z0-9]*
genksms.o kecwr.o kkpoban.o kprnts.o kpundf.o ksnktd.o kxmnsd.o kzvndv.o libskgxpg.a s0kuzr.o skrmpt.o sskfoded.o
kciwcx.o kfod.o kkxntp.o kprwts.o ksms.o ksnnni.o kxmwsd.o libknlopt.a libskgxpr.a s0kvpf.o skrnpt.o sskrmed.o
kcsm.o kgupc.o kkxwtp.o kpucb.o ksnkcs.o ksnnt2.o kzlilbac.o libskgxns.a libskgxpu.a skfedpt.o skrspt.o sskrned.o
kecnr.o kgutc.o kopc.o kpudfo.o ksnkkpo.o ktd.o kzlnlbac.o libskgxpd.a s0kudbv.o skfodpt.o sskfeded.o sskrsed.o