http://d.hatena.ne.jp/yohei-a/20091017/1255791152

第1回 Oracle8i Internal Services 1人読書会

Oracle

読んだところ

  1. Introduction

    • The Oracle Kernel Layers
    • The Kernel Services

書かれていること

  • この本の2章以降を理解するために必要なこと。
  • それは「Oracle の中心部 (Kernel) の階層構造 (layers)」。

要約

  • Oracle の中心部は階層構造になっている。
  • 各層は自分より下の層なら、好きな順番で、直接呼び出すことができる。
  • 呼出しから戻るとき以外、上の層に制御が上がることはない。
    • 例えば、Oracle Program Interface (OPI) から直接 Operating System Dependencies (S) を呼出して、次に Compilation Layer (KK) を呼出すことができる。しかし、Compilation Layer (KK) から Oracle Program Interface (OPI) を呼出すことはできない。
    • ただし例外がある。例えば、インデックスのリーフ・ブロックの分割やエクステント管理のようなケースで、transaction layer と data layer の間で再帰的な呼出しが発生する。
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

Oracle8i Internal Services的更多相关文章

  1. 深入MySQL源码 学习方法 何登成专家

    MYSQL 技术圈 有哪些做得好,又注重分享的公司: Oracle MySQL, MariaDB, Percona,Google, FB, Twitter, Taobao, NetEase… 有哪些值 ...

  2. Oracle 锁机制探究

    以前虽然在网上看到很多关于Oracle锁机制的描述,但总感觉哪里有缺陷不适合自己,因此花了点时间参考官网以及Tom Tyke的<Oracle 9i/10g/11g编程艺术>一书整理了一下O ...

  3. Open-sourcing sso, the way we secure services at BuzzFeed

    文章来源: https://tech.buzzfeed.com/unleashing-the-a6a1a5da39d6 说明: 设计有好多地方值得借鉴,粘贴过来的排版不好 Today we are o ...

  4. Build Telemetry for Distributed Services之OpenTracing实践

    官网:https://opentracing.io/docs/best-practices/ Best Practices This page aims to illustrate common us ...

  5. Stack Overflow: The Architecture - 2016 Edition

    To get an idea of what all of this stuff “does,” let me start off with an update on the average day ...

  6. HTTP Header Injection in Python urllib

    catalogue . Overview . The urllib Bug . Attack Scenarios . 其他场景 . 防护/缓解手段 1. Overview Python's built ...

  7. Learning WCF Chapter1 Exposing Multiple Service Endpoints

    So far in this chapter,I have shown you different ways to create services,how to expose a service en ...

  8. Oracle DBMS_SESSION

    Version 11.1   General Purpose Try dbms_session.reset_package. This call will reset all packages var ...

  9. 【转】浏览器DNS 预取读技术的危害

    今天中午在http://news.ycombinator.com/news看到一篇文章标题: Saved 10 billion DNS queries per month by disabling D ...

随机推荐

  1. CodeForces:148D-D.Bag of mice

    Bag of mice time limit per test 2 seconds memory limit per test 256 megabytes Program Description Th ...

  2. Linux学习-检验软件正确性

    md5sum / sha1sum / sha256sum 目前有多种机制可以计算文件的指纹码,我们选择使用较为广泛的 MD5, SHA1 或 SHA256 加密机 制来处理,我们拿NTP 软件来检查看 ...

  3. 手撸一套纯粹的CQRS实现

    关于CQRS,在实现上有很多差异,这是因为CQRS本身很简单,但是它犹如潘多拉魔盒的钥匙,有了它,读写分离.事件溯源.消息传递.最终一致性等都被引入了框架,从而导致CQRS背负了太多的混淆.本文旨在提 ...

  4. PYday15--面向对象的进阶:集成、成员、方法、异常处理

    1.继承 实例: 2.构造方法: 3.反射:以字符串的形式去模块操作其成员. 成员: 最外层是文件,文件里面包含类,通过类可以创建对象,对象可以封装字段和指针.类里面可以有方法,指针可以指向方法. 通 ...

  5. 命令行下修改postgres密码

    1. 修改PostgreSQL数据库默认用户postgres的密码 PostgreSQL数据库创建一个postgres用户作为数据库的管理员,密码随机,所以需要修改密码,方式如下: 步骤一:登录Pos ...

  6. Matlab 二值图像label regions

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/52862719 Matlab提供了现成的 ...

  7. 常用类--Date日期类,SimpleDateFormat日期格式类,Calendar日历类,Math数学工具类,Random随机数类

    Date日期类 Date表示特定的时间,精确到毫秒; 构造方法: public Data() public Date(long date) 常用方法: public long getTime() pu ...

  8. vs2015代码图

    可以看到代码的调用关系. 知乎文章:IDE 而言,是 Xcode 的技术比较先进还是 Visual Studio?

  9. BZOJ4517 [Sdoi2016]排列计数 【组合数 + dp】

    题目 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值为 i,则称 i 是稳定的.序列恰好有 m 个数是稳定的 满足条件的 ...

  10. BZOJ3990 [SDOI2015]排序 【搜索】

    题目 小A有一个1-2^N的排列A[1..2^N],他希望将A数组从小到大排序,小A可以执行的操作有N种,每种操作最多可以执行一次,对于所有的i(1<=i<=N),第i中操作为将序列从左到 ...