在 Oracle 中,数据文件是存储实际数据的系统文件。数据文件的集合构成表空间,最后,数据库是表空间的集合。
如果我对数据文件、表空间和数据库的概念有误,请纠正我。
我想详细了解 Schema 和 Database 之间的区别。关于这种差异,在线资源很有帮助,但似乎令人困惑。
在 Oracle 中,数据文件是存储实际数据的系统文件。数据文件的集合构成表空间,最后,数据库是表空间的集合。
如果我对数据文件、表空间和数据库的概念有误,请纠正我。
我想详细了解 Schema 和 Database 之间的区别。关于这种差异,在线资源很有帮助,但似乎令人困惑。
您可以将架构视为 Unix 中的用户主目录。模式和 oracle 用户紧密结合在一起。一个用户映射到一个模式。您可以通过与在 Unix 中类似的方式临时更改当前架构
ALTER SESSION SET CURRENT_SCHEMA=USER1
。可以通过与 Unix 中相同的方式访问其他模式中的对象:只需在对象名称前加上
SCHEMA.
eg:USER1.TABLE1
,USER2.TABLE2
就是一个例子。将当前架构更改为后,USER1
您不再需要附加USER1
前缀。数据库是最广泛的容器,它收集模式用户、表空间(数据文件是表空间的一部分)和一个或多个 (RAC) 实例。
使用 12c 多租户选项会使事情变得更加复杂,因为您可以在单个容器数据库 (CDB) 中拥有多个可插拔数据库 (PDB)。但这只是另一个故事。
如果一切都失败了,请阅读文档。在这里尝试初学者(v.好图)。在 Oracle 中,模式就是数据库。另请参阅此处- 特别是这个:
物理数据库文件“数据库”和“实例”之间的进一步区别 - 构成完整工作系统的运行软件。
在某种意义上,Oracle“数据库”是无用的——它只是磁盘上的一堆比特——它是把它变成系统的软件(即信息可检索/可修改的数据库)。
Oracle 数据库是一个正在运行的实例加上数据(+ 控制 + 重做 &c.)文件,这些文件本身可能包含一个或多个模式,这些模式本身就是“数据库” - 即外行人会理解它们 - 即 HR、CRM 或 ERP(& ...)模式/系统。