我正在阅读Oracles PDB和CDB,以及它们的测试性能
http://www.oracle.com/technetwork/database/multitenant/learn-more/oraclemultitenantt5-8-final-2185108.pdf
他们比较PDB和非国开行,但我不明白什么是非国开行.以下是文档中的定义
同一操作系统上的多个堆叠单实例数据库(非CDBs)
非CDB是有多个数据库的单个数据库进程,还是非CDB多个数据库进程?
发布于 2016-02-26 10:26:38
非CDB是指任何不是CDB的东西,即12c之前的任何数据库,或者没有启用可插入数据库子句创建的12c数据库。如果您创建一个非CDB,那么它不是多个实例,而是一个单独的实例,就像12c前的数据库一样。
非CDB是有多个数据库的单个数据库进程,还是非CDB多个数据库进程?
两者都不是单一数据库的单个实例(一组进程)。
您引用的定义指的是非多重结构的一个方面:
堆叠单实例数据库
因此,您有一个或多个Oracle home (软件安装),每个家庭都有一个或多个独立的数据库。在12c的容器/可插拔模型之前,这是在同一服务器上运行多个数据库的唯一方法。
这样做的问题是,数据库实例是完全独立的,彼此之间没有可见性,因此它们都在竞争操作系统级别的资源(CPU、内存、网络),而且您必须有足够的资源使它们都处于峰值运行状态,以避免性能下降,即使这种情况不太可能经常发生。或者没有足够的资源,一个或多个最终在某一时刻被饿死。您不希望这种情况发生在生产环境中,因此在生产环境中这样做通常被认为是个坏主意。
这也涉及到在12c文档中:
对管理问题的一个典型响应是在每个服务器上放置多个数据库。问题是多个数据库实例不共享后台进程、系统和进程内存或Oracle元数据。
12C的多租户模型为您提供了一个容器数据库,用于管理操作系统级别的资源,并在需要时与可插拔数据库共享这些资源,从而可能大大减少O/S服务器所需的总资源,并隐藏/简化插入数据库的管理。
这有点类似于在物理服务器上运行虚拟机--与分配给所有VM的实际CPU和内存相比,物理服务器需要更少的实际CPU和更少的内存,VM管理层根据所有VM的实际需求和负载控制资源的平衡和争用。VM本身并没有真正意识到这种情况的发生,他们只是使用他们所需要的;类似地,可插拔的数据库也没有真正意识到容器正在管理它们的资源而不是操作系统。
https://dba.stackexchange.com/questions/130568
复制相似问题