AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 20410
Accepted
Mark Allison
Mark Allison
Asked: 2012-07-06 02:51:29 +0800 CST2012-07-06 02:51:29 +0800 CST 2012-07-06 02:51:29 +0800 CST

整合 Oracle 数据库有意义吗?

  • 772

我在 SQL Server 和 Sybase 方面比 Oracle 更有经验,并且对这些产品了解得很好。我被要求寻找减少运行 Oracle 的服务器资产的方法。我了解 Oracle 中的实例映射到托管许多表空间的数据库。我对基础知识有相当好的掌握,但是如果我想将运行 Oracle 数据库的 SERVER1、..、SERVER4 合并到一个服务器中,那么物理上最好的方法是什么?我也在考虑使用 DBaaS(数据库即服务)模型进行虚拟化,但很好奇它是否可以/应该在物理上完成。

是否可以让四个独立的实例指向一台机器上的四个独立的数据库?或者我是否必须在统一服务器上将四个数据库合并为一个数据库并管理模式以确保没有名称冲突?如果我这样做,我会有一个或四个实例?

我已经阅读了文档,但我仍然不能 100% 确定这个领域。

oracle
  • 2 2 个回答
  • 1950 Views

2 个回答

  • Voted
  1. ik_zelf
    2012-07-06T03:46:32+08:002012-07-06T03:46:32+08:00

    将多个数据库合并为一个真实数据库相当容易。在 Oracle 中,数据库是文件的集合。用户通过连接到实例来连接到数据库。一个数据库可以由多个实例提供服务,在这种情况下,您正在运行 RAC。

    因此,为了简单地将数据库整合到一个数据库中,您不需要 RAC,但如果您想要/需要这样做,您可以这样做。

    如果您要合并到一个数据库中,则需要考虑以下几点:

    1. 命名空间
    2. 服务水平协议 - 不要通过组合冲突的 slas 来使维护变得不可能。
    3. 性能隔离 - 使用资源管理器来处理这个
    4. 应用程序隔离 - 确保应用程序都使用自己的 tns_alias 进行连接
    5. services - 如果可能,在数据库中为每个应用程序提供一个自己的服务名称。

    当您有命名冲突时,就会出现问题,无法组合。您可能需要一些停机时间进行维护/升级。如果您不能同时从所有应用程序中获得停机时间,那么您就有问题了。使用资源管理器可以为特定的服务提供一定的性能保证。使用服务是一件很聪明的事情,与一个和另一个相比,了解资源的使用方式是最简单的事情。

    最简单的方法是在单个服务器上运行多个实例,每个实例都服务于自己的数据库。这是最简单但不是最聪明的做法。最聪明的是在单个服务器上拥有一个实例。这是因为每个实例都认为自己是服务器的主人。您不能像在单个实例中那样轻松隔离它们的资源使用情况。如果您想在多实例服务器中提供一些性能保证,设置将变得复杂,因为在许多情况下您需要启动多个项目和用户来运行您的数据库。

    单个数据库可以轻松支持几百个应用程序,比使用几百个数据库便宜很多。通过充分利用 Oracle 特性,这可以迅速每年节省大量资金。

    • 6
  2. Best Answer
    Philᵀᴹ
    2012-07-06T03:07:52+08:002012-07-06T03:07:52+08:00

    你有两个选择:

    1. 在同一台机器上运行多个 Oracle 实例
    2. 将所有 Oracle 实例整合到一个实例中,将数据放在不同的模式中

    由于您熟悉 SQL Server/Sybase,因此我将解释它们与 Oracle 在数据库和用户方面的区别。

    • SQL Server 数据库等同于 Oracle 模式。Oracle 模式由单个用户拥有
    • SQL Server 数据服务器相当于一个 Oracle 实例

    在一台机器上运行 4 个实例是微不足道的,所以我不会进一步解释。

    如果单独的数据库没有冲突的模式名称,那么整合到单个数据库也很容易。如果他们这样做,只要应用程序/接口/包没有硬编码的模式名称,这可能不是问题 - 很容易从数据库中的一个模式导出数据并将其导入另一个数据库上的不同模式.

    • 5

相关问题

  • Oracle 中的数据库备份 - 导出数据库还是使用其他工具?

  • ORDER BY 使用文本列的自定义优先级

  • 舒服的sqlplus界面?[关闭]

  • 如何在数据库中找到最新的 SQL 语句?

  • 如何使用正则表达式查询名称?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何查看 Oracle 中的数据库列表?

    • 8 个回答
  • Marko Smith

    mysql innodb_buffer_pool_size 应该有多大?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    从 .frm 和 .ibd 文件恢复表?

    • 10 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve