




已阅读5页,还剩95页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章 数据库和表的创建,创建数据库和表是Oracle 10g最基本的工作,数据库和表是Oracle用于组织和管理数据的对象。本章将讲述数据库、表的基本概念,以及创建数据库和表的两种方式。 2.1 基本概念 Oracle是一种关系数据库管理系统(RDBMS)。关系数据库是按照二维表结构方式组织的数据集合,每个表体现了集合理论中定义的数学概念 关系。 2.1.1 数据库 数据库(Database)是一个数据容器,它包含了表、索引、视图、过程、函数、包等对象,并对其进行统一的管理。,2.1.1 数据库,数据库的内部结构 表空间(TABLESPACE) 表空间是数据库的逻辑划分,一个表空间只属于一个数据库。 下面是Oracle 10g 版本默认创建的主要表空间。 SYSTEM表空间。SYSTEM表空间用于存放Oracle系统内部表和数据字典的数据。 SYSAUX表空间。SYSAUX表空间是Oracle 10g新增加的表空间,主要存放Oracle系统内部的常用样例用户的对象。 UNDO表空间。UNDO表空间是存储撤销信息的表空间。 USERS表空间。 USERS表空间是Oracle系统建议用户使用的表空间。 TEMPORARY表空间。在Oracle数据库中,临时表空间主要供用户临时使用。 除了Oracle系统默认创建的表空间以外,用户可以根据应用系统的规模及其所要存放对象创建多个表空间,以区分用户数据和系统数据。,2.1.1 数据库,数据库的内部结构 (2) 表(TABLE) 表是数据库中存放用户数据的对象。它包含一组固定的列。表中的列描述该表所 跟踪的实体的属性,每个列都有一个名字和若干个属性。表结构的一个样例如图 2.1所示除了Oracle系统默认创建的表空间以外,用户可以根据应用系统的规模 及其所要存放对象创建多个表空间,以区分用户数据和系统数据,2.1.1 数据库,1. 数据库的内部结构 (3) 约束条件(CONSTRAINT) 可以为一个表列创建约束条件,此时,表中的每一行都必须满足约束条件定义 所规定的条件。约束条件有以下5种。 主键(Primary Key):主键是表中的一列或多个列。 缺省(DEFAULT) 约束条件:在表中插入一行数据但没有为列指定值时生成一个在定义表时预先指定的值。 检查(CHECK) 约束条件:该约束条件确保指定列中的值符合一定的条件。 惟一性(UNIQUE)约束条件:用于保证应具有惟一性而又不是主键的一部分的那些列的惟一性。 外键(Foreign Key)约束条件:该约束条件规定表间的关系性质。,2.1.1 数据库,1. 数据库的内部结构 (4) 分区(PARTITION) 在非常大的数据库中,可以通过把一个大表的数据分成多个小表来简化数据库的 管理,这些小表称作分区。 (5) 索引(INDEX) 索引是帮助用户在表中快速地找到记录的数据库结构,它既可以提高数据库性能, 又能够保证列值的惟一性。 (6) 用户(USER) 用户帐号虽然不是数据库中的一个物理结构,但它与数据库中的对象有着重要的关 系,这是因为用户拥有数据库的对象。 (7) 方案(SCHEMA) 用户帐号拥有的对象集称为用户的方案(SCHEMA)。 (8) 同义词 为了给不同的用户使用数据库对象时提供一个简单的、惟一标识数据库对 象的名称,可以为数据库对象创建同义词。 (9) 权限及角色(ROLE) 为了访问其他帐号所有的对象,必须首先被授予访问这个对象的权限。,2.1.1 数据库,1. 数据库的内部结构 (10) 段(SEGMENT)、盘区(EXTENT)和数据块(DATA BLOCK) 依照不同的数据处理性质,可能需要在数据表空间内划分出不同区域,以存放不 同数据,将这些区域称之为“段”(SEGMENT)。 图2.2说明了段、盘区和数据块之间的关系。,图2.2 段、盘区和数据块之间的关系,2.1.1 数据库,数据库外部结构 (1) 数据文件(DATAFILE) 每一个Oracle 10g数据库有一个或多个数据文件,而一个数据文件只能属于一 个表空间。数据库、表空间和数据文件之间的关系如图2.3所示。,图2.3 数据库、表空间和数据文件之间的关系,2.1.1 数据库,(2) 重做日志文件(REDO LOG FILES) 除了数据文件外,最重要的Oracle 10g数据库实体档案就是重做日志文件。 (redo log files)。Oracle保存所有数据库事务的志。这些事务被记录在联机重 做日志文件(Online Redo Log File)中。当数据库中的数据遭到破坏时,可以用 这些日志来恢复数据库。 (3) 控制文件(CONTROL FILES) 每个 Oracle 10g 数据库都有一个控制文件,用以记录与描述数据库的外部结 构。它们包括: Oracle 10g数据库名称与建立时间。 数据文件与重置日志文件名称及其所在位置。 日志记录序列码(log sequence number)。,2.1.2 表,表是用来存储和操作数据的一种逻辑结构。表由行和列组成,因此也称之为二 维表。 1. 表结构 表是在日常工作和生活中经常使用的一种表示数据及其关系的形式。关系数据 库使用表(即关系)来表示实体及其联系。表包含下列概念: 表结构:每个数据库包含了若干个表。每个表包含一组固定的列,而列 由数据类型(DATATYPE)和长度(LENGTH)两部分组成,以描述该表所跟 踪的实体的属性。 记录:每个表包含了若干行数据,它们是表的“值”,表中的一行称为一 个记录(Record),因此,表是记录的有限集合。 字段:每个记录由若干个数据项构成,将构成记录的每个数据项称为字 段(Field)。 关键字:关键字可以将表中的不同记录区分开来。,2.1.2 表,2. 关系 表与表之间有下列关系: (1) 一对一关系 有两张表A表和B表, A表中的一条记录在B表中有一条记录与之对应。反过来, B表中的一条记录在A表中仅有一条记录与之对应。具有这种关系的两张表存在一 对一的关系。 (2)一对多关系 有两张表A表和B表, A表中的一条记录在B表中有多条记录与之对应,反过来,B 表中的一条记录在A表中仅有一条记录与之对应。具有这种关系的两张表存在一对 多的关系。 (3)多对多关系 有两张表A表和B表, A表中的一条记录在B表中有多条记录与之对应。反过来,B 表中的一条记录在A表中也有多条记录与之对应。但是A表和B表之间的这种多对多 关系必须通过中间表C表来连接方可实现。,2.1.2 表,3. 表示实体的表和表示实体联系的表 关系数据库用表来反映数据本身的内容以及反映数据之间的联系。所以在关 系数据库中,包含了反映实体信息的表和反映实体之间联系的表。 例如,在学生成绩数据库中,用学生情况表反映了学生这一实体的信息,如表 2.1所示。,2.1.2 表,3. 表示实体的表和表示实体联系的表 课程情况表反映学校开设课程这一实体的信息,如表2.2所示。此外,还要一个表示学生 实体与课程实体联系的表学生课程成绩表来表达学生学习课程的情况,如表2.3所示。,2.1.3 实例,数据库实例(instance)也称作服务器(server),是指用来访问数据库文件集的存 储结构(统称为System Global Area,即SGA)及后台进程的集合。实例与数据库 之间的关系如图2.4所示。,图2.4 实例与数据库之间的关系,2.1.3 实例,1. 系统全局区 当激活Oracle 10g数据库时,系统会先在内存内规划一个固定区域,用来存储 每位使用者所需存取的数据以及Oracle 10g运作时必备的系统信息。这个区域称 为系统全局区(System Global Area),俗称SGA 。 图2.5给出了SGA各重要区域之间的关系。,图2.5 SGA之间的关系,2.1.3 实例,1. 系统全局区 (1) 数据块缓存区。 数据快取缓冲区为SGA 的主要成员,用来存放 读取自数据文件的数据块复本,或是使用者曾经处理过的数据。 (2) 字典缓存区。数据库对象的信息存储在数据字典中,这些信息 包括用户帐号、数据文件名、盘区位置、表说明和权限等。 (3) 重做日志缓冲区:前面已介绍过,联机重做日志文件用于记录 数据库的更改,以便在数据库恢复过程中用于向前滚动。 (4) SQL共享池:SQL共享池存储数据字典缓存区及库缓存区 (library cache),即对数据库进行操作的语句信息。,2.1.3 实例,2. 后台进程 数据库的物理结构和存储结构之间的关系是由后台进程来维持。主要的背景处理程序 如下。 (1) DBWR(数据库写入程序):负责将数据块缓存区内变动过的数据块回写至硬盘内 的数据文件。 (2) LGWR(日志写入程序):负责将重做日志缓冲区内的数据变动记录循序写入重做 日志文件。 (3) SMON(系统监控程序):如果是因为停电或是其它因素导致Oracle数据库不正常 被关闭,下一次激活数据库时将由SMON进行必要的数据库修复动作。 (4) PMON(进程监控程序):当某个使用者处理程序异常终止时,PMON清除数据块 缓存区内不再使用的空间,并释放该程序之前使用的系统资源。 (5) CKPT(检查点进程):在适当时候产生一个checkpoint事件,确保缓冲区内经常 被变动的数据也要定期被写入数据文件。 (6) RECO(恢复进程):在Oracle 10g分布式数据库环境中,RECO处理程序会自动 处理分布式操作失败时产生的问题。 (7)ARCH(归档进程):LGWR后台进程以循环方式向联机重做日志文件写入。 数据库拥有多个后台进程,其数量取决于数据库的配置。这些进程由数据库管理,它 们只需要进行很少的管理。图2.6显示了后台进程在数据库外部结构,SGA中作用和地 位。,图2.6 后台进程与数据库外部结构、SGA的关系,2.2界面创建数据库和表,2.2.1 数据库创建和删除 1. 通过界面创建数据库 创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用 户。创建数据库必须要确定全局数据库名、SID、所有者(即创建数据库的用户)、数据 库大小(数据文件最初的大小、最大的大小、是否允许增长及增长方式)、重做日志文件 和控制文件等。 【例2.1】使用DBCA创建XSCJ数据库。 (1) 启动DBCA,DBCA激活并初始化,如图2.7所示。DBCA初始化完成后自动进入“欢 迎”窗口,如图2.8所示。,图2.7 DBCA初始化窗口,图2.8 欢迎窗口,2.2.1 数据库创建和删除,【例2.1】使用DBCA创建XSCJ数据库。 (2) 单击“下一步”按钮,进入“数据库创建”窗口,如图2.9 所示。 (3)选择创建数据库选项,单击“下一步”按钮,进入“数据库模板”窗口,如图 2.10所示。,图2.9 操作窗口图,图2.10 数据库模板窗口,2.2.1 数据库创建和删除,【例2.1】使用DBCA创建XSCJ数据库。 (4) 选择一般用途选项,单击“下一步”按钮,进入“数据库标识”窗口,如图2.11 所示。 (5)单击“下一步”按钮,进入“管理选项”窗口,如图2.12所示。,图2.11 数据库标识窗口,图2.12 管理选项窗口,2.2.1 数据库创建和删除,【例2.1】使用DBCA创建XSCJ数据库。 (6) 单击“下一步”按钮,进入“数据库身份证明”窗口,如图2.13所示。 (7) 单击“下一步”按钮,进入“存储选项”窗口,如图2.14所示。,图 2.13 数据库身份证明窗口,图2.14存储选项窗口,2.2.1 数据库创建和删除,【例2.1】使用DBCA创建XSCJ数据库。 (8)单击“下一步”按钮,进入“数据库文件位置”窗口,如图2.15所示。 (9)单击“下一步”按钮,进入“恢复配置”窗口,如图2.16所示。,图2.15 数据库文件位置窗口,图2.16 恢复配置窗口,2.2.1 数据库创建和删除,【例2.1】使用DBCA创建XSCJ数据库。 (10)单击“下一步”按钮,进入“数据库内容”窗口,如图2.17所示。 (11)单击“下一步”按钮,进入“初始化参数”窗口,如图2.18所示。,图2.17 数据库内容窗口,图2.18初始化参数窗口内存选项卡,2.2.1 数据库创建和删除,【例2.1】使用DBCA创建XSCJ数据库。 初始化参数的设定共分成四个选项卡,分别是内存、调整大小、字符集和连接模式的置。 “内存”选项卡。DBCA就提供了下列设定方式: 典型: SGA大小以“物理内存的百分比”来设定,只要决定这个新数据库能够占用多少内存 即可,DBCA会适当的分配给SGA各区域。 自定义:可以自行决定SGA各区域的内存配置情况。 “调整大小”选项卡。如图2.19所示,在该窗口配置数据库块大小和连接此数据库的操作 系统用户的最大数量。,图2.19初始化参数窗口调整大小选项卡,2.2.1 数据库创建和删除, “字符集”选项卡。如图2.20所示,在该窗口配置字符集。它是在计算机屏幕 上显示字符时所使用的编码方案。 “连接模式”选项卡。如图2.21所示,在该窗口设置将要创建的数据库的运作 模式。,图2.20初始化参数窗口字符集选项卡,图2.21初始化参数窗口连接模式选项卡,2.2.1 数据库创建和删除,到这里为止,较重要的数据库设定工作已大致完成,单击“所有初始化参数”按 钮可检查所有起始参数设定值。如图2.22所示。,图2.22所以初始化参数窗口,2.2.1 数据库创建和删除,【例2.1】使用DBCA创建XSCJ数据库。 (12) 单击“下一步”按钮,进入“数据库存储”窗口,如图2.23所示。 如图2.24所示,选择要修改的控制文件,在右边的子窗口中会显示相应的信息。,图2.23控制文件的一般信息窗口,图2.24数据文件的存储窗口,2.2.1 数据库创建和删除,【例2.1】使用DBCA创建XSCJ数据库。 在如图2.25所示的窗口中可以进行如下设置:最大数据文件数、最大重做日志 文件数和最大日志成员数。 (13)单击“下一步”按钮,进入“创建选项”窗口,如图2.26所示,图2.25 控制文件的选项窗口,图2.26 创建选项窗口,2.2.1 数据库创建和删除,【例2.1】使用DBCA创建XSCJ数据库。 (14)按下“完成”按钮,进入“确认”窗口,如图2.27 所示。 (15) 单击“确定”按钮,之后就可以把剩下的工作交给DBCA了!它会先创建起 始参数文件,然后在激活Oracle Instance之后进行一连串的工作,如图2.28 所 示。,图2.27 确认窗口图,2.28 创建数据库进度窗口,2.2.1 数据库创建和删除,【例2.1】使用DBCA创建XSCJ数据库。 出现如图2.29所示窗口,说明安装已完成。可以单击下方的“口令管理”进行调整。如图 2.30所示,电子表格中列出了所有系统初始用户。选择某个用户,鼠标单击“是否锁定用 户”栏,锁定该用户或解除锁定。若要在此时修改口令,则在“新口令”和“确认口令”项目栏 中输入相同的口令。设置完毕后,单击“确定”按钮。至此,完成了创建数据库的全部操作。,图2.29 数据库信息窗口,图2.30 口令管理窗口,2.2.1 数据库创建和删除,2. 修改数据库 在数据库创建后,数据文件和日志文件名一般就不再改变了。对 已存在的数据库可以进行的修改主要有: 增加或删除数据文件。 改变数据文件的大小和增长方式。 改变日志文件的大小和增长方式。,2.2.1 数据库创建和删除,2. 修改数据库 下面以对数据库XSCJ的修改为例,说明在OEM中对数据库某些定义进行修改 的操作方法。使用IE浏览器,在地址栏输入http:/zhouym.lan:1158/em打开OEM, 显示如图2.31所示的界面。,图2.31 OEM主目录界面,2.2.1 数据库创建和删除,2. 修改数据库 使用Oracle企业管理器,可以执行以下操作: 通过查看几种类型的度量来确定数据库的当前状态。 启动或停止数据库。 通过3个选项页面 (划分为3页,每页各显示一个子部分) 访问 数据库环境的性能、管理和维护。,2.2.1 数据库创建和删除,2. 修改数据库 (1) 改变数据文件的大小和增长方式。在图2.31所示的界面中,单击“管理”选 项页面,出现如图2.32所示的管理界面,在“存储”类别选择“数据文件”,进入如 图2.33所示的“数据文件搜索”界面,直接选择或通过搜索功能查找要修改的数据 文件。,图2.33 数据文件搜速界面,图2.32 OEM管理界面,2.2.1 数据库创建和删除,【例2.2】将XSCJ数据库的users01.dbf的最大大小改为无限制。 修改users01数据文件的步骤如下: 在图2.33所示的界面中,选中“USERS01.dbf”的“选择”单选框”,单击“编辑” 按钮,进入如图2.34所示的界面。在“存储”类别中选择“无限制”单选按钮,将 USERS01数据文件最大容量改为无限制,然后单击“应用”按钮,保存设置。,图2.34 USERS01数据文件编辑界面,2.2.1 数据库创建和删除,2. 修改数据库 (2) 增加数据文件。当原有数据库的存储空间不够,除了可以采用扩大原有数据文件的 存储量的方法之外,还可以增加新的数据文件。 【例2.3】在XSCJ数据库增加数据文件users02,其属性均取系统默认值。 在“数据库文件”项中增加数据文件。如图2.33 所示,单击“创建”按钮,进入“创建数 据文件”界面,如图2.35所示。,图2.35 创建数据文件界面,2.2.1 数据库创建和删除,2. 修改数据库 首先在“文件名”文本框输入数据文件名称users02,然后为表新增的数据文件 选择表空间。单击“手电筒”形状的图标,出现表空间选择界面,如图2.36所示, 选择“USERS”单选按钮,单击“选择”按钮,返回到图2.35所示界面。,图2.36 选择表空间界面,2.2.1 数据库创建和删除,2. 修改数据库 在相应的表空间中增加数据文件。在图2.32所示界面中,单击“表空间”, 进入“表空间搜索”界面,如图2.37所示。 (3) 删除数据文件。当数据库中的某些数据文件不再需要时,应及时将其删除。,图2.37 表空间搜索界面,2.2.1 数据库创建和删除,3.删除数据库 删除数据库是在DBCA中完成。进入DBCA后,选择“删除数据库”选项,单击“下一步”, 进入选择要删除数据库的窗口,如图2.38所示。选择要删除的数据库,单击“下一步”,激 活“概要”提示框。单击“确定”,系统会再一次弹出提示框要你确认,单击“是”,出现数据库 删除进度窗口,如图2.39所示。,图 2.38 选择要删除的数据库,图2.39 删除进度窗口,2.2.1 数据库创建和删除,4. 配置数据库连接 进行配置数据库的步骤如下: (1) 选择开始程序Oracle-OraDb10g_home1配置和移植工具Net Configuration Assistant,启动欢迎窗口,如图2.40所示。,图2.40 Net Configuration Assistant欢迎窗口,2.2.1 数据库创建和删除,4. 配置数据库连接 网络配置助手是Oracle 10g提供的用于配置基本网络组件的工具,可 以进行监听程序配置、命名方法配置、本地网络服务名配置和目录使用 配置。 监听程序配置。创建、修改、删除或重命名监听程序。 命名方法配置。当终端用户连接数据库服务时,要通过“连接标识 符”(简称标识服务)来完成。 本地网络服务名配置。创建、修改、删除、重命名或测试存储在本地tnsnames.ora文件中的连接描述符的连接。 目录服务使用配置。如果要使用集中管理连接标识符的目录命名 与Oracle高级安全一起使用的企业用户安全性功能,则选择此选项来配 置对符合轻型目录访问协议(Lightweight Directory Access Protocol,简 称LDAP)的目录服务器的访问。,2.2.1 数据库创建和删除,4. 配置数据库连接 (2) 选择“本地Net服务名配置”进行配置,单击“下一步”,进入“Net服务名配 置”窗口,如图2.41所示。 (3) 选择“添加”以添加新的服务名,单击“下一步”,进入“服务名”窗口,如图 2.42所示。,图2.41 Net服务名配置窗口,图2.42服务名窗口,2.2.1 数据库创建和删除,4. 配置数据库连接 (4) 在“服务名”文本框输入数据库服务名XSCJ,单击“下一步”,进入“选择协 议”窗口,如图2.43所示。选择的协议包括:TCP、TCPS、IPC和NMP。,图2.43 选择协议窗口,2.2.1 数据库创建和删除,4. 配置数据库连接 (5) 选择“TCP”协议,单击“下一步”,进入“TCP/IP协议”窗口,如图2.44所示。 在该窗口需要进行如下设置: 主机名。监听程序驻留的计算机主机名。 端口号。确定监听程序的端口号。,图2.44 TCP/IP协议窗口,2.2.1 数据库创建和删除,4. 配置数据库连接 在“主机名”文本框输入数据库所在计算机的主机名选择TCP/IP协议的标准端口 号,单击“下一步”,进入“测试网络服务名”配置窗口,如图2.45所示。 (7) 不进行测试,单击“下一步”,进入“Net服务名”窗口,如图2.46所示。,图2.45网络服务名测试窗口,图2.46 网络服务名窗口,2.2.1 数据库创建和删除,4. 配置数据库连接 (8) 单击“下一步”,进入“是否配置另一个网络服务名”窗口,如图2.47所示。 (9) 选择“否”,单击“下一步”,网络服务名配置完毕。,图2.47 是否配置另一个网络服务名窗口,2.2.2 表创建、修改和删除,1. 创建和管理表空间 既可以在Oracle企业管理器(Oracle Enterprise Manager)中创建表空间,也可以使用 CREATE TABLESPACE命令创建表空间。 创建表空间 【例2.4】使用OEM创建永久性表空间MYTS。 在图2.37所示的界面中,单击“创建”按钮,出现如图2.48所示的界面。该界面包括3个选 项页面:一般信息、存储和阈值。,图2.48 创建表空间一般信息选项页面,2.2.2 表创建、修改和删除,1. 创建和管理表空间 单击“添加”按钮,按照例2.3为MYTS表空间创建数据文件MYTS01.DBF。创建完成后,返 回到图2.49所示的界面。 单击“存储”选项页面,则出现如图2.50所示的界面。在该选项卡中进行区分配、段空间管 理和启用事件记录设置。 在此选择本地管理,采用默认值。单击“确定”按钮。系统开始执行表空间的创建任务,完 成后返回到如图2.37所示界面,此时在该界面出现了MYTS表空间。,图2.49 创建表空间添加数据文件后的界面,图2.50 本地管理存储选项卡,2.2.2 表创建、修改和删除,1. 创建和管理表空间 管理表空间 管理表空间包括修改表空间参数、添加数据文件和改变表空间的状态 等。在图2.37所示的界面中,单击选择要修改的表空间,打开如图2.38 所示的相应表空间的编辑界面。 在“一般信息”选项页面中可以对表空间的状态进行修改,可以增删数 据文件;而在“存储”选项页面中可以对表空间存储区的大小进行修改。 在如图2.38所示的界面中,可以添加、删除数据文件。 注意:不能删除设置为默认永久性属性的表空间。,2.2.2 表创建、修改和删除,1. 创建和管理表空间 (2) 利用CREATE TABLESPACE命令创建和管理表空间 利用CREATE TABLESPACE创建表空间。创建表空间的用户必须拥有 CREATE TABLESPACE系统权限。在创建表空间前,必须先创建包含表空间的 数据库。 语法格式: CREATE TABLESPACE tablespace_name DATAFILE path/filename SIZE integer KM REUSE AUTOEXTEND OFF ON NEXT integer KM MAXSIZE UMLIMITEDinteger KM MINMUM EXTENT integer K | M DEFAULT STORAGE storage_clause ONLINEOFFLINE LOGGINGNOLOGGING PERMANENTTEMPORARY EXTENT MANAGEMENT DICTIONARY LOCAL AUTOALLOCATEUNIFORM SIZE integer KM ,2.2.2 表创建、修改和删除,语法格式: 其中: tablespace_name:将要创建的表空间的名称,该名称在数据库中是 惟一的,并且命名必须符合命名规则。 path/filename:一个或多个数据文件的存放路径与名称。 OFF/ON:禁止或允许自动扩展数据文件。 NEXT:指定当需要更多盘区时分配给数据文件的磁盘空间,以K或M 为单位。 MAXSIZE UMLIMITEDinteger KM :指定允许分配给数据文件 的最大磁盘空间。 MINMUM EXTENT:指定最小的长度,默认为操作系统和数据库块确 定。 ONLINE:在创建表空间之后使该表空间立即对授权访问该表空间的 用户可用。 OFFLINE:在创建表空间之后使该表空间不可用。,2.2.2 表创建、修改和删除,语法格式: LOGGING/NOLOGGING:指定日志属性,它表示将来的表、索引等 是否需要进行日志处理。默认值为LOGGING。 PERMANENT:指定表空间将用于保存永久对象,这是默认设置。TEMPORARY:指定表空间将用于保存临时对象。 EXTENT MANAGEMENT:指定如何管理表空间的盘区。 DICTIONARY:指定使用字典表来管理表空间,这是缺省设置。 LOCAL:指定本地管理表空间。 AUTOALLOCATE:指定表空间由系统管理,用户不能指定盘区尺寸。 UNIFORM:指定使用SIZE字节的统一盘区来管理表空间。缺省的SIZE 为1M。如果既没指定AUTOALLOCATE又没指定UNIFORM,那么 AUTOALLOCATE就是缺省设置。,2.2.2 表创建、修改和删除,语法格式: 注意:如果指定了LOCAL,就不能指定DEFAULT STORAGE storage_clause 和TEMPORARY。 DEFAULT STORAGE storage_clause:为在该表空间创建的全部对象指定 缺省的存储参数。storage_clause的语法格式如下: STORAGE ( INITIAL integer KM NEXT integer KM MINEXTENTS integerUNLIMITED MAXEXTENTS integer PCTINCREASE integer FREELISTS integer FREELIST GROUPS integer OPTIMAL integer KM NULL ),2.2.2 表创建、修改和删除,1. 创建和管理表空间 【例2.5】创建大小为50M的表空间TEST,禁止自动扩展数据文件。 CREATE TABLESPACE “TEST” LOGGING DATAFILE D:oradataXSCJTEST101.DBF SIZE 50M REUSE AUTOEXTEND OFF; 【例2.6】创建表空间DATA,允许自动扩展数据文件。 CREATE TABLESPACE DATA LOGGING DATAFILE D: oradataXSCJDATA01.DBF SIZE 50M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE 200M DEFAULT STROAGE(INITIAL 32K NEXT 32K MINEXTENTS 1 MAXEXTENTS 249 PCTINCREASE 50) EXTENT MANAGEMENT LOCAL;,2.2.2 表创建、修改和删除,(2) 利用CREATE TABLESPACE命令创建和管理表空间 利用命令管理表空间。利用ALTER TABLESPACE命令可以修改现有的表空间或它 的一个或多个数据文件。 语法格式: ALTER TABLESPACE tablespace_name ADD DATAFILETEMPFILE path/filename SIZE integer KM REUSE AUTOEXTEND OFF ON NEXT integer KM MAXSIZE UNLIMITEDinteger KM RENAME DATAFILE pathfilename,n TO pathre_filename,n DEFAULT STORAGE storage_clause ONLINEOFFLINE NORMALTEMPORARYIMMEDIATE LOGGINGNOLOGGING READ ONLYWRITE PERMANENT TEMPORARY ,2.2.2 表创建、修改和删除,语法格式: 其中: ADD DATAFILETEMPFILE:向表空间添加指定的数据文件或临时文件。 RENAME DATAFILE:对一个或多个表空间的数据文件重命名。 READ ONLY:表明表空间上不允许进一步写操作。 READ WRITE:表明在先前只读表空间上允许写操作。 【例2.7】通过ALTER TABLESPACE命令把一个新的数据文件添加到 DATA表空间,并指定了AUTOEXTEND ON和 MAXSIZE 300M。 ALTER TABLESPACE DATA ADD DATAFILE D: ORACLEORADATAXSCJDATA02.DBF SIZE 50M REUSE AUTOEXTEND ON NEXT 50M MAXSIZE 500M; 注意:尽管可以设置MAXSIZE UNLIMITED,但应总是规定一个文件的最大尺 寸值。否则,使用磁盘设备上全部可用空间的事务将造成数据库故障。 修改表空间DATA属性,命令如下: ALTER TABLESPACE DATA OFFLINE;,2.2.2 表创建、修改和删除,2. 数据类型 表是真正存储各种各样数据的对象,由行和列组成。行有时也称为记 录,列有时也称为字段或域。设计数据库时,要决定它包括哪些表,每 个表中包含哪些列,每列的数据类型等。 在表中创建列时,必须为其指定数据类型,列的数据类型决定了数据 的取值、范围和存储格式。列的数据类型可以是Oracle提供的系统数据 类型,将其列于表2.4中。,表2.4 Oracle数据类型,2.2.2 表创建、修改和删除,3. 创建表 创建表的实质就是定义表结构及约束条件等属性。 【例2.8】通过Oracle企业管理器(OEM)在XSCJ数据库中创建学生情况表。学 生情况表的表名为XS,表结构如表2.5所示。,2.2.2 表创建、修改和删除,3. 创建表 通过Oracle企业管理器(OEM)创建表XS的操作步骤: (1) 使用ADMIN帐号(创建用户将在7.1节中介绍)登录OEM,在如图2.32所 示,在“方案”类别中选择“表”,鼠标左键单击进入“表搜索”界面,如图2.51所示。,图2.51 表搜索界面,2.2.2 表创建、修改和删除,3. 创建表 (2) 单击“创建”按钮,进入“创建表:表的组织形式”界面,如图2.52所示,指定表的存储类型及是否为临时表。,图2.52 表创建:表的组织形式界面,2.2.2 表创建、修改和删除,3. 创建表 (3) 单击“继续”按钮,进入“创建表”界面,如图2.53所示。该界面有5个选项页 面,可以完成对表的定义。,图2.53 一般信息界面,2.2.2 表创建、修改和删除,3. 创建表 (3) 单击“约束条件”选项页面,进入“约束条件”选项界面,如图2.54所示。在 该选项页面可以定义表的完整性约束条件。,图2.54 约束条件界面,2.2.2 表创建、修改和删除,3. 创建表 (4) 选择PRIMARY约束条件,单击“创建”按钮,进入如图2.55所示的添加约 束条件界面。,图2.55 添加约束条件界面,2.2.2 表创建、修改和删除,3. 创建表 (5) 单击“确定”按钮,返回到2.55所示界面,这时在该界面能看到刚才添加的主键约束 条件。 (6) 在图2.55所示的界面中,单击“存储”选项页面,进入“存储”选项界面,如图2.56所 示。,图2.56 存储选项界面,2.2.2 表创建、修改和删除,3. 创建表 单击“选项”选项页面,进入“选项”选项界面,如图2.57所示。 (8) 单击“分区”选项页面,进入“分区”选项界面,如图2.58所示。,图2.57 选项选项界面,图2.58 分区选项界面,2.2.2 表创建、修改和删除,4. 修改表 对一个已存在的表可以进行的修改操作包括: .增加列 .删除列 .修改已有列的属性(列名、数据类型、是否为空值) .修改存储方式等信息,2.2.2 表创建、修改和删除,4. 修改表 (1) 增加列 当原来所创建的表中需要增加项目时,就要向表中增加列。 【例2.9】表XS中添加一个“奖学金等级”,名称JXJ,NUMBER类型,允许为空值。 在如图2.51所示界面,选择表XS,单击“编辑”按钮,进入如图2.59所示界面。,图2.59 修改表XS,2.2.2 表创建、修改和删除,4. 修改表 (2) 删除列 选择要删除的列,选中要删除列的“选择”单选按钮,单击“删除”按钮;然后单 击“应用”保存修改后的表。 (3) 修改列的属性 在表中尚未有记录值时,可以修改表结构,如更改列名、列的数据类型、长度 和是否允许空值等属性。 (4) 修改存储情况 在“存储”选项卡中可以修改表的存储方式;在“选项”选项卡中修改表的并发操 作和事务处理等特性。 5. 表的删除 删除一个表时,表的定义、表中的所有数据以及表的索引、触发器、约束等均 被删除。 注意:不能删除系统表和有外键约束所参照的表。,2.3命令方式创建数据库和表,除了可以通过DBCA和OEM图形用户界面创建数据库及表外,还可以用PL/SQL 语句(称之为命令方式)来创建数据库和表。与界面方式创建表相比,命令方式较为 灵活。 2.3.1 创建数据库 不管原因为何,当准备自行建立Oracle数据库时,都必须事先做好妥善准备。 在开始建立新的Oracle 10g 数据库之前,建议先做好下列准备工作: (1) 评估数据表与索引的存放位置,如果可能的话预估其所需空间。 (2) 规划操作系统下数据库实体文件的存放方式,因为良好的文件配置将大幅改 善数据存取效率。 (3) 确定全局数据库名称。 (4) 熟悉init.ora文件内较重要的参数,甚至服务器参数文件(server parameter file)的使用时机及其作用。 (5) 选定适当的数据库字符集。 (6) 选定数据块大小。 (7) 熟悉Oracle 10g 数据库的激活/关闭方式和与其搭配的各种选项。 (8) 确认物理内存是否足以激活Oracle 10g Instance。 (9)确认Oracle 10g 服务器的磁盘空间足以创建新数据库。,2.3.1 创建数据库,下面以创建名为mydb的数据库来介绍手动创建数据库的步骤。 1. 设定实例标识符 在一般情况下,每个Oracle 10g 数据库都必须对应一个数据库实例。所以在建立数据库 之前,必须先指定数据库实例的系统标识符,此系统标识符就是俗称的Oracle SID。 在如图2.60所示的命令提示符操作界面中,使用如下命令设定SID: C:SET ORACLE_SID=mydb,图2.60 命令提示符操作界面,2.3.1 创建数据库,2. 设定数据库管理员的验证方法 为了创建数据库,必须经过数据库的验证手续,且被赋予适当系统权限后才 可以建立Oracle 10g 数据库。可以使用密码文件或操作系统的验证方法。下面给 出的是密码文件验证方法: D:orapwd file=D:oracleoradataDATABASEPWDmydb.ora Password=ORACLE entries=5 3. 创建初始化参数 对于任何一个Oracle数据库,实例(系统全局区SGA和后台进程)都是使用初 始化参数文件开始的。 以下是创建新数据库之前必须新增或编辑的初始化参数: 全局数据库名称。 控制文件名称与路径。 数据块大小。 影响SGA容量的初始化参数。 设定处理程序最大数目。 设定空间撤消(Undo)管理方法。,2.3.1 创建数据库,3. 创建初始化参数 (1) 设定全局数据库名称 Oracle 10g的全局数据库名称由数据库名称与网域名称所组成,数据库名称 和网域名称分别由DB_NAME与DB_DOMAIN参数设定的。 (2) 设置控制文件 控制文件是Oracle 10g数据库中相当重要的文件。因此必须在新的初始化参数文 件内加入CONTROL_FILE参数以设定控制文件的名称以及路径。 (3) 设定数据块大小 Oracle 10g 数据库存放数据的最小单位为数据块(data block)。数据库标准数 据块大小是设定在初始化参数文件的DB_BLOCK_SIZE参数。 非标准数据块大小设定值可为2K、4K、8K、16K或32K。需注意的是这种的 类型数据块将受到操作系统环境限制,不是所有操作系统都可以设定上述所有区 块大小。若要使用非标准数据块时,还必须适当配置SGA内数据库缓冲区的子缓 冲区,方式是由DB_nK_CACHE_SIZE参数来设定。 数据块大小设置如下: DB_BLOCK_SIZE=8192,2.3.1 创建数据库,3. 创建初始化参数 (4) 配置影响SAG容量的初始化参数 这种类型的初始化参数将控制系统全局区(System Global Area,简称SGA)的 大小。 设定数据库缓冲区大小 Oracle 10g数据库缓冲区(DataBase Buffer Cache)大小是由初始化参数文件 DB_CACHE_SIZE参数决定。数据库缓冲区以标准数据块作为数据存取单位。 如果设定一组DB_BLOCK_SIZE与DB_nK_CACHE_SIZE参数,则可在Oracle 10g数据库中实现使用多重数据块大小。如果上述两项参数在初始化参数文件中 没有明确设定,则Oracle 10g会自动设定适当的DB_CACHE_SIZE值,且将 DB_nK_CACHE_SIZE设定为0。 例如,缓冲区大小设置如下: DB_CACHE_SIZE=20M DB_2K_CACHE_SIZE=10M DB_8K_CACHE_SIZE=8M 注意:DB_nK_CACHE_SIZE参数不能设定为标准数据块的缓冲区大小,也 就是说,如果DB_BLOCK_SIZE设定为4k,就不能再设定DB_4K_CACHE_SIZE 参数。,2.3.1 创建数据库,(4) 配置影响SAG容量的初始化参数 设定共享池和大型池容量 SGA内的共享池(Shared Pool)与大型池(Large Pool)分别由 SHARED_POOL_SIZE与LARGE_POOL_SIZE所设定。这两个参数都 属于动态参数。如果初始化参数文件未设定这两个参数,则Oracke9i将 自动决定其适当大小。 在设定SGA时需注意,SGA最大容量由SGA_MAX_SIZE控制。可动 态地改变该参数值,但是需注意SGA_MAX_SIZE是数据库缓冲区、共享 池、大型池以及其它SGA组件的容量总和。各区域之大小不能超过 SGA_MAX_SIZE。如果SGA_MAX_SIZE未设定,则Oracle 10g会自动 将SGA_MAX_SIZE设定为所有SGA组件大小的总和。,2.3.1 创建数据库,3. 创建初始化参数 (5) 设定处理进程最大数量 初始化参数PROCESSESS可决定同时连接Oracle 10g的操作系统程序最大 数量。 (6) 设定空间撤消管理方法 Oracle 10g 就某种特殊机制来确保数据一致性和完整性,以便必要时回滚 (rollback)失败的数据,或是撤消(undo)某个数据处理动作。 针对撤消项目的管理,初始化参数文件的UNDO_MANAGEMENT可设定由下 列方式之一激活Oracle 10g 实例: AUTO:以“自动撤消管理模式”激活Oracle 10g 实例,其撤消项目将储存于撤 消表空间。 MANUAL:以“手动模式”激活Oracle 10g 实例,其撤消项目将储存于回滚 段。为了向前兼容,UNDO_MANAGEMENT的默认值为MANUAL。 当实例以“自动管理模式”激活时,将尝试寻找第一个可用的撤消表空间以存 放撤消项目。如果执行CREATE DATABASE指令,且UNDO_MANAGEMENT 设定为AUTO时,Oracle 10g就会自动建立一个撤消表空间。此表空间将是“自动 管理模式”下预设的撤消表空间。,3. 创建初始化参数 【例2.10】创建数据库mydb的初始化参数文件initmydb.ora。 初始化参数文件内容如下所示: # Copyright (c) 1991, 2001, 2002 by Oracle Corporation job_queue_processes=10 # Job Queues # Shared Server dispatchers=“(PROTOCOL=TCP) (SERVICE=mydbXDB)“ # Miscellaneous compatible=.0 # Security and Auditing remote_login_passwordfile=EXCLUSIVE # Sort, Hash Joins, Bitmap Indexes pga_aggregate_target=25165824 sort_area_size=65536 # Database Identification db_domain=“ db_name=mydb # File Configuration control_files=(“D:oracleoradatamydbcontrol01.ctl“, “D: oracleora
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保育员个人发言稿
- 春节生产安全培训
- 食品卫生安全培训
- 2025版医疗机构药品研发保密协议范本
- 二零二五年度智慧社区建设项目内部承包施工合同
- 二零二五年度个人网络直播合作协议
- 2025版建筑工程施工安全教育培训合同
- 二零二五年度网络安全风险评估与检测协议
- 2025版离婚协议书:无子女财产分配与分割
- 二零二五版劳动合同法修订后企业应对策略合同
- 顶管施工事故应急预案Z
- JJF 2145-2024场所监测用固定式X、γ辐射剂量率监测仪校准规范
- 智研咨询发布:2025年中国脑机接口行业市场现状、发展概况、未来前景分析报告
- 2025年上半年广西北海市随军家属定向安置招考25人重点基础提升(共500题)附带答案详解-1
- 2025年标准房产中介服务合同范例
- 记背手册02:北京高考古诗文背诵与默写篇目(打印版)-备战2025年高考语文一轮复习考点帮(北京专用)
- 2025年中医推拿人员劳动合同范文
- 2025年人力资源咨询服务合作协议书模板
- 医院感染知识岗前培训
- 《钳工基础培训》课件
- 高标准农田建设项目验收技术方案
评论
0/150
提交评论