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