一些基本的oracle概念

时间:2011-05-05 13:11:55

标签: oracle11g

您好: 在我们的新应用程序中,我们必须使用oracle作为db,我们之前使用mysql / sqlserver,当我来到oracle时,我对它的概念感到困惑,例如表空间,对象,模式表,索引,程序,数据库链接,...... :(

架构对用户是封闭的,我无法做到。

因为当我们使用mysql时,我只知道一个数据库包含尽可能多的表,并且包含尽可能多的用户,用户对不同的表有不同的身份验证。

但在甲骨文中,一切都不同。

任何人都可以告诉我oracle的一些基本概念,以及一些快速启动文档?

2 个答案:

答案 0 :(得分:15)

Oracle对常用术语有特定的含义,而你是对的,这很令人困惑。我将从下到上构建一个术语层次结构:

  • 数据库 - 在Oracle中,数据库是构成整个数据集合的文件集合。要了解Oracle的含义,请将数据库管理系统(dbms)描绘为非运行状态。所有这些文件都是您的“数据库”。
  • 实例 - 当您启动Oracle软件时,所有这些文件都会变为活动状态,内容会被加载到内存中,并且您可以连接一个实体。许多人会使用术语“数据库”来描述正在运行的dbms,但是,一旦所有内容都正常运行,Oracle就会将其称为“实例”。
  • 表空间 - 一种抽象,允许您在不担心物理细节的情况下考虑一大块存储。创建用户时,要求Oracle将该用户的数据放在特定的表空间中。 Oracle通过表空间隐喻来管理存储。
  • 数据文件 - 实际存储数据的物理文件。数据文件分组到表空间中。如果您使用已分配给用户或用户组的所有存储,则将数据文件(或使现有文件更大)添加到他们配置使用的表空间。
  • 用户 - 一种抽象,用于封装可以登录Oracle实例的帐户的权限,身份验证信息和默认存储区域。
  • 架构 - 特定用户拥有的表,索引,约束,触发器等。用户和模式之间存在一对一的对应关系。架构与用户具有相同的名称。两者之间的区别在于用户概念是关于帐户信息的,而模式概念则是处理逻辑数据库对象。

这是一个非常简化的术语列表。例如,对于Oracle实例,存在不同的“运行”状态,并且很容易进行关于事物意义的非常细致的讨论。这是一个实践练习,可以让你把手放在这些东西上,并使区别更清晰:

  1. 启动已创建的Oracle实例。此步骤将把一组文件或Oracle所说的数据库转换为正在运行的Oracle实例。
  2. 使用CREATE TABLESPACE命令创建表空间。您必须指定一些数据文件以放入表空间,以及一些存储参数。
  3. 使用CREATE USER命令创建用户。您将看到您必须指定的项目与密码,权限,配额等有关。指定将用户的数据存储在您在步骤2中创建的表空间中。
  4. 使用您在步骤3中使用新用户创建的凭据连接到Oracle。键入“SELECT * FROM CAT”。什么都不应该回来。您的用户有一个架构,但它是空的。
  5. 运行CREATE TABLE命令。 INSERT将一些数据放入表中。架构现在包含一些对象。

答案 1 :(得分:1)

  • 表空间:这些基本上都是 存储定义。在定义时 表或索引等,您可以指定 存储选项只需放置即可 你的表在特定的table_space
  • 表,索引,程序:这些几乎相同
  • 用户,架构:在
  • 之前解释清楚
  • 数据库链接:您可以使用 - 两个实例之间的数据库链接(在登录时)连接实例A中的表A和实例B中的表B
  • object:具有属性(如表中的列)和对这些属性进行操作的方法(非常类似于OO设计);这些没有被广泛使用

一些链接:

11g rel 2 docs http://www.oracle.com/pls/db112/homepage

的起始页

数据库概念,目录http://download.oracle.com/docs/cd/E11882_01/server.112/e16508/toc.htm