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. Hive安装步骤

    首先解压压缩包 然后进入bin 执行 ./hive 不过现在hive使用的是自己默认的数据库,不方便,可以通过配置使用MySQL数据库 创建hive-site.xml 粘贴一下内容 <confi ...

  2. Freemaker模板指令

    ${...}:Freemaker将会输出真实的值来替换大括号内的表达式.这样的表达式被称为interpolation(插值). FTL标签(Freemaker模板的语言标签):FTL标签和HTML标签 ...

  3. 使用 Button 类在 XNA 中创建图形按钮(九)

    平方已经开发了一些 Windows Phone 上的一些游戏,算不上什么技术大牛.在这里分享一下经验,仅为了和各位朋友交流经验.平方会逐步将自己编写的类上传到托管项目中,没有什么好名字,就叫 WPXN ...

  4. Python中__get__ ,__getattr__ ,__getattribute__用法与区别?

    class C(object): a = 'abc' def __getattribute__(self, *args, **kwargs): print("__getattribute__ ...

  5. The 2018 ACM-ICPC Asia Qingdao Regional Contest, Online

    A Live Love DreamGrid is playing the music game Live Love. He has just finished a song consisting of ...

  6. Linux Shell系列教程之(五)Shell字符串

    本文是Linux Shell系列教程的第(五)篇,更多shell教程请看:Linux Shell系列教程 字符串是Shell编程中最常用最有用的数据类型,今天,Linux大学网就为大家介绍一下在She ...

  7. 用jQuery实现搜索框的过滤效果

    遇到的问题: 1.动态添加了某些元素,在动态添加的某个元素上绑定事件失效 原因:因为需要绑定的元素的直接父元素也是动态添加的解决:向上为上一级父元素绑定事件 $(".check-box&qu ...

  8. Python tldextract模块准确获取域名和后缀

    Python tldextract 模块 - 功能说明 tldextract准确地从URL的域名和子域名分离通用顶级域名或国家顶级域名. 例如,http://www.google.com,你只想取出连 ...

  9. storage存储对象和数组类型时候的问题

    storage类型存储的类型为字符串,直接使用localstorage.setItem方法存储进去,取出来的时候数据是不能够使用的 解决方法: 先使用JSON.stringify方法转换成为字符串,然 ...

  10. 【Visual Studio】MFC编辑框自动换行,垂直滚动条自动下移(转)

    原文转自 http://blog.csdn.net/wu_lai_314/article/details/8317395 1.新建一个编辑框控件(Edit Control),将其多行(Multilin ...