2011-05-05 66 views
4

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

和模式被关闭给用户,我不能做到这一点。

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

但是在oracle中,一切都是不同的。

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

+0

您可以检查Oracle站点和W3学校的资源。同时检查askTom文章。 此外我检查了这个链接 ..虽然很少有博客..它提供了所有基本东西oracle的良好洞察力。 – 2013-04-13 10:23:51

回答

14

甲骨文拥有常用的特定含义条款,你说得对,这很混乱。我会从下往上建造方面的层次:

  • 数据库 - 在Oracle中,数据库文件,使您的整个数据的收集的集合。要了解Oracle的含义,请将数据库管理系统(dbms)描绘为非运行状态。所有这些文件都是你的“数据库”。
  • 实例 - 启动Oracle软件时,所有这些文件都变为活动状态,事件会加载到内存中,并且您可以连接一个实体。许多人会使用术语“数据库”来描述一个正在运行的dbms,但是一旦所有的东西都能正常运行,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将一些数据放入表格中。该模式现在包含一些对象。
+0

“文件集合”是指“xx.dbf”文件吗? user2tablespace user2schema和user2database之间的关系是什么。在我们的应用程序中,我们在不同的数据库(实例)中存储不同的数据,例如所有用户相关数据的数据库“mbuser”,所有学校的“mbschool”以及所有功能的“mbfeatrue”,因为数据库尚存在,我们不想将它们合并在一起,所以想要在asp.net应用程序中访问这些不同的数据库? – hguser 2011-05-05 14:05:11

+0

是的。这些文件,配置文件,日志和其他文件。我认为我们可以调用\\ oracle \ product \ \ admin \ ,.. \ oradata \ 以及.. \ flash_recovery_area \ 中的文件来避免错误或过度简化的风险。作为组成数据库的文件。我不知道,如果要进行认证考试,Oracle会希望你包含“程序”文件。 – 2011-05-05 14:12:35

+0

“user2tablespace user2schema和user2database之间的关系是什么” - 用户将所有数据和对象存储在默认表空间中。每个用户都有一个模式,两者之间有1-1对应关系。用户是与给定数据库/实例关联的帐户之一。 – 2011-05-05 14:15:28

1
  • 表空间:这些基本上都是 存储的定义。定义 表或索引,等等时,你可以简单地把你的 表中特定table_space
  • 表,索引,程序指定 存储选项:这些都是大同小异的
  • 用户,模式:解释在
  • 之前
  • 数据库链接:您可以使用两个实例之间的数据库链接(在登录它们的情况下)连接实例A中的表A和表B中的表B(连接它们时)
  • 对象:具有属性(如列在表格中)以及对这些属性进行操作的方法(非常类似于OO设计);这些没有被广泛使用

几个环节:

起始页11克相对2个文档http://www.oracle.com/pls/db112/homepage

数据库的概念,内容表http://download.oracle.com/docs/cd/E11882_01/server.112/e16508/toc.htm