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. Letters CodeForces - 978C (二分)

    Time limit4000 ms Memory limit262144 kB There are nn dormitories in Berland State University, they a ...

  2. poj 2531 分权问题 dfs算法

    题意:一个集合(矩阵) m[i][j]=m[j][i]权值,分成两个集合,使其权值最大.注:在同一个集合中权值只能算一个. 思路:dfs 假设都在集合0 遍历 id 的时候拿到集合1 如果与 id 相 ...

  3. 爬取豆瓣Top250_Ajax动态页面

    爬取网址: 完整代码: import sys from urllib import request, parse import ssl ssl._create_default_https_contex ...

  4. Linux学习-分析登录档

    CentOS 预设提供的 logwatch 不过,要了解系统的状态,还是得要分析整个登录档才行~ 事实上, 目前已经有相当多的登录档分析工具,例如 CentOS 7.x 上面预设的 logwatch ...

  5. NetCore 2.0 应用程序在centos 7上通过docker发布

    一  安装netcore 2.0 SDK 在centos 上面安装netcore 2.0 与window上面是不太一样的,注意,linux是不支持同时安装两个版本的.netcore SDK的,由于我之 ...

  6. PHP函数参数传递(相对于C++的值传递和引用传递)

    学语言学得比较多了,今天突然想PHP函数传递,对于简单类型(基本变量类型)和复杂类型(类)在函数参数传递时,有没有区别呢,今天测试了下: 代码如下: <?php function test($a ...

  7. javascript学习笔记-数据类型

    一 数据类型 基本类型:undefined,null,boolean,number,string     保存在栈内存中     占用空间固定        变量直接从栈内存中存取的是该值 引用类型: ...

  8. SpriteKit-SKView

    1.暂停这个视图 @property (nonatomic, getter = isPaused) BOOL paused; 2.视图性能的一些参数 @property (nonatomic) BOO ...

  9. POJ3349 Snowflake Snow Snowflakes 【哈希表】

    题目 很简单,给一堆6元组,可以从任意位置开始往任意方向读,问有没有两个相同的6元组 题解 hash表入门题 先把一个六元组的积 + 和取模作为hash值,然后查表即可 期望\(O(n)\) #inc ...

  10. Java2WSDL 和 WSDL2Java(Axis)

    原文地址:https://www.ibm.com/developerworks/cn/webservices/ws-axisfaq/ 生成或取得WSDL文件 生成客户端或服务端代码 执行WSDL2Ja ...