




已阅读5页,还剩150页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(郑)第2章 数据库和表的创建,创建数据库和表是Oracle 10g最基本的工作,数据库和表是Oracle用于组织和管理数据的对象。本章将讲述数据库、表的基本概念,以及创建数据库和表的两种方式。 2.1 基本概念 Oracle是一种关系数据库管理系统(RDBMS)。关系数据库是按照二维表结构方式组织的数据集合,每个表体现了集合理论中定义的数学概念 关系。 2.1.1 数据库 数据库(Database)是一个数据容器,它包含了表、索引、视图、过程、函数、包等对象,并对其进行统一的管理。,2.1.1 数据库,数据库结构是指它存储数据的方式。Oracle数据库结构分为逻辑存储结构(或称之为逻辑数据库)与物理存储结构(或称之为物理数据库)。 逻辑存储结构用于描述在0racle内部组织和管理数据的方式。 物理存储结构定义了Oracle外部,即操作系统中组织和管理数据的方式。,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 段、盘区和数据块之间的关系,回滚段,在逻辑上,Oracle数据库是由一个或多个表空间组成的,表空间被划分为一个个独立的段,数据库中创建的所有对象都必须保存在指定的表空间中。 在物理上,一个表空间对应于操作系统中的一个或多个数据文件。一个对象的数据存储在表空间的任意一个数据文件中,也可将同一个对象的数据分布在表空间的多个数据文件中,还可以将同一个对象分布在多个表空间中(如对表进行分区后的分区表)。,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)中。当数据库中的数据遭到破坏时,可以用这些日志来恢复数据库。,写入:LGWR循环方式来使用联机重做日志。 提交事务,生成系统变更号SCN。SCN与重做记录一起保存在重做日志文件中。,归档重做日志文件,数据库在归档模式,LGWR进程在写入下一个重做日志文件之前,必须等待该联机重做日志文件完成归档,否则LGWR进程将被挂起,数据库也停止运行。在归档重做日志文件中,记录了自从数据库置于归档模式后,用户对数据库所进行的所有修改操作。优点: 可以进行介质恢复,可以进行部分备份, 保证备份数据库与目标库的一致性。,(3) 控制文件(CONTROL FILES) 控制文件是一个记录数据库结构的二进制文件,在其中如下重要信息: 数据库名,数据库建立的时间。 数据文件名称、位置、联机/脱机状态信息 重做日志文件的名称和路径。 表空间名称等信息。 当前日志序列号,日志历史记录。 归档日志信息。最近检查点信息。 恢复管理器RMAN的备份信息等。,实例在加载数据库时读取控制文件,以找到自己所需的操作系统文件。 控制文件必须在整个数据库打开期间始终保持可用状态。 控制文件中的内容只能够由 Oracle本身来修改。 每个数据库必须至少拥有一个控制文件。一个数据库也可同时拥有多个相同的控制文件,但是一个控制文件只能属于一个数据库。,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之间的关系,一个数据库至少有一个与之对应的实例。启动数据库时先创建一个实例,然后由实例加载(即将数据库与实例联系起来)并打开数据库。用户连接连接到实例中,然后由实例负责与数据库通信,将处理结果返回给用户,内存结构主要记录如下数据: 解析后的SQL或PL/SQL程序代码。 用户连接会话信息。 缓存的数据。 程序运行时所需的各种信息。,SGA(System Global Area)和PGA(Program Global Area)。SGA是由所有服务进程和后台进程所共享的内存段。PGA区是存放每个服务进程和后台进程所私有的数据和控制信息。Oracle中每个进程都拥有自己的PGA区。,2.1.3 实例,1. 系统全局区 (1) 数据块缓存区。 数据块缓冲区为SGA 的主要成员,用来保存的是最近从数据文件中读取的数据(脏缓存块、空闲块、命中块)。 (2) 重做日志缓冲区:它是存储对数据库所做修改信息的缓存区。重做记录形式存储。 (3)共享池:SQL共享池存储数据字典缓存区及库缓存区(library cache),即对数据库进行操作的语句信息。字典缓存区。数据库对象的信息存储在数据字典中,这些信息包括用户帐号、数据文件名、盘区位置、表说明和权限等。 (4)JAVA池:专门为所有JAVA代码 或JVM 中的数据而分配的 内存,主要存储每个会话中每个类的共享部分、会话的状态信息等。,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的关系,建立数据库完成的操作,安装所需的Oracle软件、数据库时需要管理 员权限、足够的内存和磁盘空间。 建立数据库完成的操作 建立数据库的信息结构(如数据字典等) 建立并初始化控制文件、重做日志文件 建立数据文件并删除同名文件中的数据。 手工时,建立用户,表空间等.,6.3 建立数据库的方法,创建数据库通常有以下方法: 数据库配置助手DBCA 手工脚本,CREATE DATABASE 数据库中移植并升级数据库 启动DBCA: 开始、程序、Oracle-OracleHome、 Configuration And Migration Tools、 Database Configuration Assistant,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 是否配置另一个网络服务名窗口,数据库的操作,1 启动数据库,启动数据库就是在内存建立一个数据库实例并将数据库设置为某种状态。只有具有SYSDBA权限的DBA用户才可以启动数据库实例。 启动数据库有下面三种方式: 使用SQL Plus中的STARTUP命令。 使用OEM数据库配置中图形化界面。 使用RMAN中的STARTUP命令。,启动数据库过程,创建实例但不加载数据库,启动数据库的实例,即创建后台进程、服务进程、SGA等。启动中只用到初始化参数文件.只有在创建数据库或重建控制文件等时用该模式。 C:SQLPLUS /NOLOG SQLCONNECT SYS/change_on_install AS SYSDBA; SQLSTARTUP NOMOUNT; 只能访问V$PARAMETER、V$SGA、V$OPTION、V$PROCESS等。,启动实例并加载数据库,CONTROL_FILES指定的控制文件并将其打开。Oracle读控制文件以获取数据库名称、数据文件的位置和名称、重做日志文件等数据库物理结构的信息。在加载时实例并不打开数据库的物理文件,数据库仍然是关闭并只有管理员能访问。 在数据库关闭状态下,启动实例并加载: SQLSTARTUP MOUNT;,启动实例并打开数据库,启动实例并将数据库置为打开状态时,将打开所有处于联机状态的数据文件和重做日志文件。如果在控制文件中列出的任何一个数据文件或重做日志文件无法正常打开,数据库将返回错误信息,这时需要进行数据库恢复。 只有处于打开状态下的数据库才可以让合法用户访问。启动数据库到打开状态的命令: SQLSTARTUP OPEN;-或STARTUP命令,数据库启动模式之间的转换,从NOMOUNT状态到MOUNT状态: SQLALTER DATABASE MOUNT; 从MOUNT状态到OPEN状态: SQLALTER DATABASE OPEN; 只读模式 SQLALTER DATABASE OPEN READ ONLY; 读写模式 SQLALTER DATABASE OPEN READ WRITE;,关闭数据库,正常关闭数据库,SQLSHUTDOWN NORMAL; 正常方式关闭数据库时,Oracle将阻止任何用户建立新的连接,并等待当前所有正在连接的用户主动断开连接,而连接的用户能够继续他们当前的工作。 一旦所有的用户都断开连接,立刻关闭数据库、卸载数据库,并终止实例。由于要求用户主动断开连接,可能需要较长时间。,立即关闭数据库,SQLSHUTDOWN IMMEDIATE; Oracle将阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务,任何未提交的事务均被回滚,Oracle不再等待用户主动断开连接,而是直接关闭、卸载数据库并终止实例。,SQLSHUTDOWN TRANSACTIONAL; Oracle将阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务,等待所有未提交的活动事务提交完毕,然后立即断开连接;关闭、卸载,并终止实例。 SQLSHUTDOWN ABORT; 数据库、实例或应用程序出现故障;或要马上关机等情况。立即终止当前正在执行的 SQL语句;任何未提交的事务均不被回滚,事务关闭数据库,删除数据库,1. 启动DBCA,选择删除数据库。单击“下一步”,将显示所有可以被删除的数据库例程。,删除数据库,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 表创建、修改和删除(创建表空间),创建数据库时,自动建立SYSTEM表空间。 多个表空间,可存放不同应用,也可将数据存放在不同磁盘上,可改变表空间状态。 建立表空间就是指定表空间的名称、相应的数据文件的大小、个数、位置、表空间管理的方式、默认存储参数等设置。 创建时,将在数据字典和控制文件中记录下新建立的表空间,并创建数据文件.,ORACLE 本身不限制表空间数目。但所有表空间的数据文件总数不能超过初始化参数MAXDATAFILES 限制。创建者必须具有CREATE TABLESPACE系统权限,并且数据库要处于打开状态。,CREATE TABLESPACE 表空间名称 DATAFILE filespec -数据文件 BLOCKSIZE 整数K -块大小 LOGGING|NOLOGGING -DDL日志 DEFAULT STORAGE (存储参数表) ONLINE|OFFLINE -状态 PERMANENT|TEMPORARY -永久或临时 EXTENT MANAGEMENT DICTIONARY EXTENT MANAGEMENT LOCAL AUTOALLOCATE | UNIFORM SIZE n K,建立表空间命令,DATAFILE filespec是用来定义数据文件的位置、大小和个数的子句。 格式为: 文件名 SIZE 整数K|MREUSE AUTOEXTEND OFF| AUTOEXECT ON NEXT 整数K|M MAXSIZE UNLIMITED|整数 K|M AUTOEXTEND OFF 文件的大小不自动增加。 AUTOEXTEND ON 大小自动增加,自动增加的大小由NEXT选项规定。最大值由MAXSIZE决定。MAXSIZE UNLIMITED,文件大小没有限制,例: SQL CREATE TABLESPACE tbs_1 2 DATAFILE e:oracleoradatastudenttbs_file1.dat SIZE 25M 3 DEFAULT STORAGE (INITIAL 10K 4 NEXT 50K PCTINCREASE 20 5 MINEXTENTS 1 MAXEXTENTS 999) 6 ONLINE; 创建带存储参数的表空间TBS_1,建立后自动联机可用。,例:创建由两个数据文件组成的表空间,每个数据文件都自动增加大小,数据文件最大到5M。 SQL CREATE TABLESPACE tbs_2 2 DATAFILE e:oracleoradatastudenttb1.dat SIZE 5M REUSE 3 AUTOEXTEND ON NEXT 50K MAXSIZE 5M , 4 e:oracleoradatastudenttb2.dat SIZE 500K REUSE 5 AUTOEXTEND ON NEXT 50K MAXSIZE 4M;,表空间管理方式,缺省时将创建本地管理方式表空间。存储管理方式在表空间创建之后,不能被改变。 在字典管理方式下,表空间使用数据字典来管理存储空间的分配。当在表空间中分配新的区或回收已分配的区时,Oracle将对数据字典中的相关基础表进行更新。EXTENT MANAGEMENT DICTIONARY 在本地管理方式下,区的分配与管理信息都存储在表空间的数据文件中。 EXTENT MANAGEMENT LOCAL,例:创建本地管理的表空间,自动分配区的大小。 SQL CREATE TABLESPACE tbs_3 2 DATAFILE e:oracleoradatastudenttb3.dat 3 SIZE 5M REUSE 4 AUTOEXTEND ON NEXT 50K MAXSIZE 5M 5 EXTENT MANAGEMENT LOCAL 6 AUTOALLOCATE;,删除表空间,删除表空间必须具有DROP TABLESPACE系统权限。 Oracle只是从控制文件和数据字典中删除与表空间和数据文件有关的信息,并不真正删除相应的操作系统文件。 DROP TABLESPACE 表空间名 INCLUDING CONTENTS AND DATAFILES| CASCADE CONSTRAINTS 如果表空间中有对象,INCLUDING CONTENTS子句。如果在指定INCLUDING CONTENTS AND DATAFILES,删除数据文件。CASCADE CONSTRAINTS删除一致性引用,例:删除表空间、表空间内容及其对表的一致性引用。 SQL DROP TABLESPACE tbs_1 INCLUDING CONTENTS CASCADE CONSTRAINTS; 例:删除表空间及其所有操作系统文件。 SQLDROP TABLESPACE tbs_2 2 INCLUDING CONTENTS 3 AND DATAFILES;,删除表空间,修改表空间,在数据库打开的状态下改变表空间联机状态或脱机状态、增加表空间的数据文件或者改变数据文件的名称等。使用ALTER TABLESPACE命令的用户必须具有ALTER TABLESPACE或MANAGE TABLESPACE的系统权限。命令: ALTER TABLESAPCE 表空间名 ONLINE |OFFLINE NORMAL|TEMPORARY|IMMEDIATE BEGIN BACKUP |END BACKUP READ ONLY|READ WRITE 数据文件子句 其它与CREATE TABLESPACE相同的子句,修改表空间例子,例 设置表空间的脱机和联机状态。 SQL ALTER TABLESPACE tbs_2 OFFLINE; SQL ALTER TABLESPACE TBS_2 ONLINE;例 为表空间TBS_2增加数据文件TBS22.DAT,大小为100K。新增数据文件最大可达到100M,自动增加大小,每次增加10K。 SQL ALTER TABLESPACE tbs_2 2 ADD DATAFILE 3 e:oracleoradatastudenttbs22.dat SIZE 100K 4 AUTOEXTEND ON NEXT 10K 5 MAXSIZE 100M,例:移动表空间TBS_2的数据文件TBS22.DAT,并将其名称改为TBS22.DBF。具体步骤如下: A. SQLALTER TABLESPACE TBS_2 OFFLINE NORMAL; b.用操作系统命令将TBS22.DAT移动到新位置并重新命名。 MOVE e:oracleoradatastudenttbs22.dat d:oracletbs22.dbf c. 在ORACLE中改变数据文件的名称。 SQLALTER TABLESPACE tbs_2 RENAME DATAFILE 1 e:oracleoradatastudenttbs22.dat 2 TO d:oracletbs22.dbf ; d. 将表空间设置为联机状态。 SQLALTER TABLESPACE tbs_2 ONLINE;,移动和重命名数据文件,例 设置表空间为只读方式或读写方式。 SQLALTER TABLESPACE TBS_2 READ ONLY; SQL ALTER TABLESPACE tbs_2 READ WRITE; 查询表空间信息 SQL SELECT * FROM v$tablespace; DBA_TABLESPACES视图:它包含数据库中所有表空间的描述信息。只有管理员身份的用户才可以访问该数据字典视图。 USER_TABLESPACES视图:当前用户有配额的所有表空间信息,内容与DBA_TABLESPACES一样。,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数据类型,SQL语言的数据类型,一、字符类型 字符类型是指单引号括起来的若干字符组成 CHAR(N) 长度为N的字符串,N=12000字节 VARCHAR2(n) 变长字符串,14000字节 LONG(n) 变长字符串,n=1B2GB。 LONG可以在SELECT中、UPDATE的SET中或INSERT的VALUES中。 LONG的限制:表中只一个LONG,不能在WHERE条件中,不能索引,不能在GROUP BY、ORDER BY子句中,函数中不能返回LONG类型的值。,SQL语言的数据类型,二、 数字类型(10(-130) 9.99 * 10(125) ) NUMBER(p,s) p-总位数,s-小数点后 NUMBER(n) 等价于NUMBER(n,0) NUMBER 是指最
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保险产品竞争力分析
- 2025年公务员招聘考试公共基础知识模拟试题及答案(共十套)
- 胰岛素注射安全管理流程
- 焦虑症病人袭击管理的护理查房
- 连续血糖监测的安全护理实践
- 气道管理操作的安全护理规范
- 住院患者支持治疗的护理查房
- 公安部保安员考试题库及答案大全
- 市政工程培训课件
- 工程防水课件
- 医院食堂餐饮服务承包
- SC-21-002亿航EH216-S型无人驾驶航空器系统专用条件
- 2024【高中英语】必背3500词汇
- TB-T 3356-2021铁路隧道锚杆-PDF解密
- 螺旋测微器读数练习(含答案)-文档
- 热射病患者的护理个案
- JJG 635-2011二氧化碳红外气体分析器
- 《铬污染土壤异位修复技术指南》(T-CAEPI 37-2021)
- 四年级【语文(统编版)】牛和鹅(第二课时)课件
- 物理 八年级上校本作业
- 角膜板层裂伤查房
评论
0/150
提交评论