Oracle_SID 是否与 Oracle 上的登录名相同?

Is the Oracle_SID the same the login name on Oracle?

我来自 SQL Server/Sybase 背景。

我习惯于引用特定模式中的表,格式为:

SCHEMA_NAME..TABLE_NAME. 

我今天问了一位同事关于在 Oracle 数据库上创建一个新的 'schema'。他的回复是:

On Oracle you get the Schema name of the logged in user. The schema name is the same as the login user name.

我觉得这不太对。我猜这是过于简单化了,或者混淆了一些概念。

我的假设是 Oracle_SID 与我在 Sybase 世界中的 'schema' 概念相同。

我的问题是:Oracle_SID 与 Oracle 上的登录名相同吗?

你的同事是对的。模式和用户在 Oracle 中几乎相同。创建用户时,会自动创建同名模式。

Quote from the manual:

A schema is a collection of logical structures of data, or schema objects. A schema is owned by a database user and has the same name as that user. Each user owns a single schema

没有像 Sybase 或 SQL 服务器那样的 "database" 概念。

SID 是 实例 的标识符,这是完全不同的东西。

Oracle 中的

A fully qualified table name 两个 元素组成:架构(=所有者)和对象名称:schema_name.table_name 并且它们由单个 .

分隔

My question is: Is the Oracle_SID the same the login name on Oracle?

答案是:不,绝对不会

Oracle 系统 ID (SID) 用于唯一标识系统上的特定数据库。因此,一个计算机系统上不能有多个具有相同 SID 的数据库。 使用 RAC 时,属于同一数据库的所有实例都必须具有唯一的 SID。

模式是数据或模式对象的逻辑结构的集合。模式由数据库用户所有,并与该用户同名。每个用户都拥有一个模式。

参考http://docs.oracle.com/cd/B19306_01/server.102/b14220/schema.htm

您可能会发现架构与用户之间的区别

https://dba.stackexchange.com/questions/37012/difference-between-database-vs-user-vs-schema

Oracle SID 在登录名旁边。 SID是Oracle实例的标识符。

Oracle 历来将 SCHEMA、ROLE 和 USER 视为非常接近的术语,并且对它们有共同的实现。例如,您可以使用命令 CREATE USER 创建一些内容,然后使用命令 DROP SCHEMA 删除它。