解释“创建数据库”时,Oracle和Mysql之间有什么区别?

时间:2010-08-22 09:51:11

标签: mysql oracle

我曾经使用过mysql,并且在mysql数据库中持有表,但是这些概念并不适用于oracle,所以我不太了解它们的区别。

更新:我面临的问题是,我需要从Mysql迁移到Oracle。 我有两个名为A和B的交换数据库,在Mysql中所有的表都在它们对应的数据库中。 在mysql数据库中是一个逻辑概念,它使用数据库来保存表,在oracle数据库中是物理概念,我不知道如何在oracle中设计这个。 我是否需要使用“CREATE DATABASE”在oracle中创建两个数据库才能达到同样的效果?

2 个答案:

答案 0 :(得分:5)

要回答您的问题,您要创建架构(CREATE USER)而不是实例/数据库(CREATE DATABASE)。

数据库的Oracle定义是磁盘上的文件。这些可以在实例(Real Application Clusters)之间共享,也可以仅由单个实例共享(例如,在同一服务器上,最常见)。

背景:“数据库”的概念在数据库供应商之间是不同的。作为Oracle DBA,我在与来自MySQL,DB2,SQL Server背景的人交谈时非常小心,他们在Oracle中称之为“数据库”的是用户/架构(用户和架构之间的区别是架构包含表格和用户只是登录)。每当有人(尤其是开发人员)在什么情况下使用“数据库”这个词时就会出现问题。

答案 1 :(得分:3)

Oracle的SQL Developer文档中有一章比较MySQL和Oracle。 Find it here。它在这里的原因是因为SQL Dev包含the Migration Workbench which supports migrating MySQL to Oracl e。您可能需要考虑在您的努力中使用该工具。它是免费的。

无论如何,文档有this answer to your specific question

  

“将MySQL数据库迁移到   Oracle,SQL Developer映射每个MySQL   数据库到Oracle中的表空间。   数据库对象,例如表,   索引和视图存储在   相应的表空间和   从Oracle模式引用   拥有它们的用户。“