我曾经使用mysql,并且在mysql数据库中保存表,但是这些概念不适用于oracle,所以我不太理解它们的区别。
更新:我面临的问题是,我需要从Mysql迁移到Oracle。我有两个名为A和B的切换数据库,在Mysql中,所有的表都在它们相应的数据库中。在mysql中数据库是一个逻辑概念,它使用数据库来保存表,在oracle数据库中是物理概念,我不知道如何在oracle中设计它。在oracle中创建两个数据库是否需要使用create DATABASE才能达到相同的效果?
发布于 2010-08-23 09:15:25
为了回答您的问题,您希望创建一个模式(CREATE USER),而不是一个实例/数据库(CREATE DATABASE)。
Oracle对数据库的定义是磁盘上的文件。它们可以在实例之间共享(Real Application Clusters),也可以仅由单个实例使用(例如,在同一服务器上,最常见)。
背景:“数据库”的概念在不同的数据库供应商之间是不同的。作为一名Oracle DBA,当与来自MySQL、DB2、SQL Server背景的人交谈时,我会非常小心,他们在Oracle中所称的“数据库”是用户/模式(用户和模式之间的区别是模式包含表,而用户只是一个登录)。每当有人,特别是开发人员,在什么上下文中使用“数据库”这个词时,问题就会出现。
发布于 2010-08-22 20:19:39
Oracle Developer文档中有一章比较了MySQL和Oracle。Find it here。它出现在这里的原因是因为SQL Dev包含the Migration Workbench which supports migrating MySQL to Oracle。您可能想要考虑在您的工作中使用该工具。它是免费的。
无论如何,文档中有this answer to your specific question:
“将MySQL数据库迁移到Oracle时,SQL Developer会将每个MySQL数据库映射到Oracle中的一个表空间。数据库对象(如表、索引和视图)存储在各自的表空间中,并从拥有它们的用户的Oracle方案中进行引用。”
https://stackoverflow.com/questions/3540982
复制相似问题