数据库创建总结
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 例:查看当前数据库的所有表空间的名称; SQL>SELECT tablespace_name FROM 2 dba_tablespaces;
(1)EXAMPLE表空间。EXAMPLE表空间是示例表空间,用于存放示例数据库的方 案对象信息及其培训资料。 (2)SYSTEM表空间。SYSTEM表空间是系统表空间,用于存放Oracle系统内部表 和数据字典的数据,如表名、列名和用户名等。一般不赞成将用户创建的表、索引 等存放在SYSTEM表空间中。 (3)SYSAUX表空间。SYSAUX表空间是辅助系统表空间,主要存放Oracle系统内 部的常用样例用户的对象,如存放CMR用户的表和索引等,从而减少系统表空间的负 荷。SYSAUX表空间一般不存储用户的数据,由Oracle系统内部自动维护。 (4)TEMP表空间。TEMP表空间是临时表空间,存放临时表和临时数据,用于排 序和汇总等。 (5)UNDOTBS1表空间。UNDOTBSI表空间是重做表空间,存放数据库中有关重做 的相关信息和数据。当用户对数据库表进行修改(包括INSERT、UPDATE和DELETE操 作)时,Oracle系统自动使用重做表空间来临时存放修改前的数据。当所作的修改 完成并提交后,系统根据需要保留修改前数据的时间长短来释放重做表空间的部分 空间。(6)USERS表空间。USERS表空间是用户表空间,存放永久性用户对象的数据 和私有信息,因此也被称为数据表空间。每个数据库都应该有一个用户表空间,以 便在创建用户时将其分配给用户。
日志文件(Log File)
在Oracle中,日志文件也叫做重做日志文件或重演日 志文件(Redo Log Files); 如果只是对数据库中的信息进行查询操作,则不会 产生日志信息; 日志文件用于记录对数据库的修改信息,对数据库 所作的修改信息都被记录在日志中。这包括用户对 数据库中数据的修改和数据库管理员对数据库结构 的修改。 其特点如下: 每一个数据库至少包含两个日志文件 组。 日志文件组以循环方式进行写操作。 每一个日 志文件成员对应一个物理文件。
Oracle数据库的体系结构及其组件
用户进程 共享池 库高速缓存 服务器进程 PGA 数据字典高速缓存
实例 SGA
数据高速缓存 重做日志缓冲区
Java 池
大缓冲池
PMON SMON DBWR LGWR
CKPT
Others
参数文件
数据文件
控制文件
重做日志
归档日志
口令文件
ห้องสมุดไป่ตู้数据库
图示内容如下: Oracle的体系结构可分客户端、服务器两大部分。 客户端:在客户机上安装管理工具后,运行工具启动用 户进程。 服务器:包括实例和数据库两部分。 实例:包括SGA及后台进程。 数据库:包括控制文件、数据文件、日志文件等操作 系统文件.
一、逻辑存储结构
主要描述Oracle数据库的内部存储结构,从技术概念 上描述Oracle数据库中如何组织、管理数据。 可以分为4部分:表空间、段、区、块。
Oracle的逻辑结构是由一个或多个表空间组成。 一个表空间(tablespace)由一组段组成 一个段(segment)由一组区组成 一个区(extent)由一批数据库块组成 一个数据库块(block)对应一个或多个物理操作系 统块。
9.用户(USER)
用户账号虽然不是数据库中的一个物理结构,但它与数据库中的 对象有着重要的关系,这是因为用户拥有数据库的对象。例如,用户 SYS拥有数据字典表,这些表中存储了数据库中其他对象的所有信息; 用户SYSTEM拥有访问数据字典表的视图,这些视图供数据库其他用 户使用。 为数据库创建对象(例如表)必须在用户账号下进行。可以对每 一个用户账号进行自定义,以便将一个特定的表空间作为它的默认表 空间。
8.索引(INDEX)
在关系数据库表中,一个行数据的物理位置无关紧要。为了能够找到数 据,表中的每一行都用一个RowID来标识。RowID告诉数据库这一行的准确 位置,包括所在的文件、该文件中的块和该块中行地址。 索引是帮助用户在表中快速地找到记录的数据库结构。它既可以提高数 据库性能,又能够保证列值的唯一性。当CREATE TABLE命令中规定有 UNIQUE或PRIMARY KEY约束条件子句时,Oracle就会自动创建一个索引。也 可以通过CREATE INDEX命令来手工创建自己的索引。
2.1 Oracle数据库基本概念 2.2 界面方式创建数据库 2.3 命令方式创建数据库
Oracle服务器的工作原理
客户机
服务器进程 (PGA区)
服务器
用户进程 (SQL语句)
Oracle server
处理过程可以简单的描述为:
1.
2.
3.
4. 5. 6. 7. 8.
用户在其机器上运行基于Oracle的应用程序(如:SQL*PLUS、 PL/SQL Developer等),即启动用户进程. 客户机、服务器之间建立连接(Connect). 服务器为用户建立会话(Session),并为该会话建立一个 PGA(Program Global Area,程序全局区)以存储与该会话相关 的信息.在同一个连接中,不同的用户有不同的会话. 启动服务进程,由该服务进程负责执行该会话的各项任务. 用户进程发送SQL语句(select、update、commit….) 服务器进程解析、编译、执行SQL语句,然后将结果写入数 据库并返回结果给用户进程。 用户进程接收返回的SQL执行结果。 在应用程序中显示SQL执行结果.
4、数据块(DataBlock)
数据块是Oracle用来管理存储空间的最基本单元,也 是最小的逻辑存储单元; Oracle数据库在进行输入输出操作时,都是以块为单
位进行逻辑读写操作的;
数据块的大小是操作系统块大小的整数倍. 以Win2000为例,操作系统块(OS block)的大小为
4kb,所以Oracle Block的大小可以是4kb,8kb,16kb等等。
二、物理存储结构(外部结构)
Oracle数据库的物理存储结构是由存储在磁盘中 的操作系统文件组成。主要包括以下三种文件:
– 数据文件(data file) .DBF
– 日志文件(log file) .LOG – 控制文件(control file) .CTL
数据文件(Data File)
数据文件(Data File)用于存储数据库数据的文 件,如表中的记录、索引、数据字典信息等都 存储于数据文件中; 在存取数据时,Oracle数据库系统首先从数据 文件中读取数据,并存储在内存中的数据缓冲 区中。 每一个数据文件只与一个数据库相联系。 一 个表空间可包含一个或多个数据文件。 一个 数据文件只能属于一个表空间。
1.表空间(TABLESPACE)
每个Oracle数据库至少拥有一个表空间; 用于存放表、索引、视图等对象的磁盘逻辑空间, 是数据库中最大的逻辑存储结构,是数据库的逻辑划 分,由一个或多个物理文件表示; 在安装Oracle时,系统会自动创建一系列表空间 (如system),可通过数据字典dba_tablespaces查 看表空间的信息。
Oracle是一种关系型数据库管理系统(RDBMS),按照二维 表结构方式组织的数据集合。 Oracle数据库是一个数据容器,包含了表、索引、视图、过 程、函数、包等对象,并对其进行统一管理。用户只有和一个 确定的数据库连接,才能使用和管理该数据库中的数据。 了解Oracle数据库,必须先了解其体系结构,数据库的体系 结构是从某一角度来分析数据库的组成、工作过程和原理,以 及数据库如何管理和组织数据。因此,在开始对Oracle进行操 作之前,用户还需要理解Oracle数据库的体系结构。
涉及三种结构:
Oracle的内存结构 Oracle的进程结构
Oracle数据库的存储结构 ‾ 物理结构 ‾ 逻辑结构
内存结构: SGA(系统全局区)和PGA(程序全局区), 使用内存最多的是SGA,同时也是影响数据库性能的最 大参数。 进程结构:包括前台进程、后台进程。前台进程是指服务 进程和用户进程.前台进程是根据实际需要而运行的,并 在需要结束后立刻结束。后台进程是指在Oracle数据库 启动后,自动启动的几个操作系统进程。 存储结构:分为逻辑存储结构、物理存储结构。 逻辑存储结构是描述Oracle数据库中如何组织和管理数 据。与操作系统平台无关。是数据库的内部结构的主要 组成。 物理存储结构是Oracle数据库的外部存储结构。它对应 操作系统相关文件。包括控制文件、数据文件、日志文 件等操作系统文件。是数据库的外部结构。
10.方案(SCHEMA)
用户账号拥有的对象集称为用户的方案(SCHEMA),可以创建 不能注册到数据库的用户账号。这样的用户账号提供一种方案,这种 方案可以用来保存一组其他用户方案分开的数据库对象。
11.同义词
为了给不同的用户使用数据库对象时提供一个简单的、唯一标 识数据库对象的名称,可以为数据库对象创建同义词。同义词有公用 同义词和私有同义词两种。
2、段 (Segment)
段是表空间的下一个逻辑单位,是表空间中一个 指定类型的逻辑存储结构,它由一个或多个区组 成,段将占用并增长存储空间。分类如下 :
段
数据(表)段
索引段
临时段
回退段
3、区(extent)
区(Extent)是由物理上连续存放的块构成,区是Oracle存储 分配的最小单位,由一个或多个块 组成。 当在数据库中创建带有实际存储结构的方案对象(如表、 索引)时,Oracle将为该方案对象分配若干个区,以便组成一 个对应的段来为该方案对象提供初始的存储空间。当段中已 分配的区都写满后,Oracle就为该段分配一个新的区,以便容 纳更多的数据。 分配的第一个区称初始区,以后分配的区称增量区。
数据库的内部结构,即Oracle数据的逻辑表现层,还包括以下内容:
5.表(TABLE)
表是数据库中存放用户数据的对象。它包含一组固定的列。表中的列描述该表 所跟踪的实体的属性,每个列都有一个名字和若干个属性。表结构的一个样例如图 2.1所示。
6.约束条件(CONSTRAINT)
可以为一个表列创建约束条件。此时,表中每一行必须满足约束条件所规 定的条件。约束条件有以下5种: (1)主键(PRIMARY KEY)。主键是表中的一列或多个列。为表定义主键 有如下几个作用:主键包含的列不能输入重复的值,以此来保证一个表的所 有行的唯一性;主键也不允许定义此约束的列为NULL值;主键在定义此约束 的列中创建了唯一性的索引,利用这个索引可更快地检索表中的行。 (2)默认(DEFAULT)约束条件。在表中插入一行数据但没有为列指定值 时生成一个在定义表时预先指定的值。 (3)检查(CHECK)约束条件。检查约束条件确保指定列中的值符合一定 的条件。CHECK列约束条件不能引用一个独立表。非空值约束条件被数据库看 做一个CHECK约束条件。 (4)唯一性(UNIQUE)约束条件。唯一性约束条件用于保证应具有唯一 性而又不是主键的一部分的那些列的唯一性。 (5)外键(FOREIGN KEY)约束条件。外键约束条件规定表间的关系性质。 一个外键使一个表的一列或多列与已定义为主键的表中的一批相同的列相关 联。当在已定义主键约束的表中更新列值时,其他表中定义有外键约束的列 会被自动更新。
12.权限及角色(ROLE)
为了访问其他账号所有的对象,必须首先被授予访问这个对象的 权限。权限可以授予某个用户或PUBLIC,PUBLIC把权限授予数据库中 的全体用户。 可以创建角色即权限组来简化权限的管理。可以把一些权限授予 一个角色,而这个角色又可以被授予多个用户。在应用程序中角色可 以被动态地启用或禁用。
7.分区(PARTITION)
在非常大的数据库中,可以通过把一个大表的数据分成多个小表来简化 数据库的管理,这些小表称做分区。除了对表分区外,还可以对索引进行分 区。分区不仅简化了数据库的管理还改善了其应用性能。在Oracle中,能够 细分分区,创建子分区。例如,可以根据一组值分割一个表,然后再根据另 一种分割方法分割分区。