oracle数据库课件第5章数据库和表的创建.ppt_第1页
oracle数据库课件第5章数据库和表的创建.ppt_第2页
oracle数据库课件第5章数据库和表的创建.ppt_第3页
oracle数据库课件第5章数据库和表的创建.ppt_第4页
oracle数据库课件第5章数据库和表的创建.ppt_第5页
已阅读5页,还剩150页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

郑 第2章数据库和表的创建 创建数据库和表是Oracle10g最基本的工作 数据库和表是Oracle用于组织和管理数据的对象 本章将讲述数据库 表的基本概念 以及创建数据库和表的两种方式 2 1基本概念Oracle是一种关系数据库管理系统 RDBMS 关系数据库是按照二维表结构方式组织的数据集合 每个表体现了集合理论中定义的数学概念 关系 2 1 1数据库数据库 Database 是一个数据容器 它包含了表 索引 视图 过程 函数 包等对象 并对其进行统一的管理 2 1 1数据库 数据库结构是指它存储数据的方式 Oracle数据库结构分为逻辑存储结构 或称之为逻辑数据库 与物理存储结构 或称之为物理数据库 逻辑存储结构用于描述在0racle内部组织和管理数据的方式 物理存储结构定义了Oracle外部 即操作系统中组织和管理数据的方式 2 1 1数据库 数据库的逻辑结构表空间 TABLESPACE 表空间是数据库的逻辑划分 一个表空间只属于一个数据库 下面是Oracle10g版本默认创建的主要表空间 SYSTEM表空间 SYSTEM表空间用于存放Oracle系统内部表和数据字典的数据 SYSAUX表空间 SYSAUX表空间是Oracle10g新增加的表空间 主要存放Oracle系统内部的常用样例用户的对象 UNDO表空间 UNDO表空间是存储撤销信息的表空间 USERS表空间 USERS表空间是Oracle系统建议用户使用的表空间 TEMPORARY表空间 在Oracle数据库中 临时表空间主要供用户临时使用 除了Oracle系统默认创建的表空间以外 用户可以根据应用系统的规模及其所要存放对象创建多个表空间 以区分用户数据和系统数据 2 1 1数据库 数据库的逻辑结构 2 表 TABLE 表是数据库中存放用户数据的对象 它包含一组固定的列 表中的列描述该表所跟踪的实体的属性 每个列都有一个名字和若干个属性 表结构的一个样例如图2 1所示除了Oracle系统默认创建的表空间以外 用户可以根据应用系统的规模及其所要存放对象创建多个表空间 以区分用户数据和系统数据 2 1 1数据库 1 数据库的逻辑结构 3 约束条件 CONSTRAINT 可以为一个表列创建约束条件 此时 表中的每一行都必须满足约束条件定义所规定的条件 约束条件有以下5种 主键 PrimaryKey 主键是表中的一列或多个列 缺省 DEFAULT 约束条件 在表中插入一行数据但没有为列指定值时生成一个在定义表时预先指定的值 检查 CHECK 约束条件 该约束条件确保指定列中的值符合一定的条件 惟一性 UNIQUE 约束条件 用于保证应具有惟一性而又不是主键的一部分的那些列的惟一性 外键 ForeignKey 约束条件 该约束条件规定表间的关系性质 2 1 1数据库 1 数据库的逻辑结构 4 分区 PARTITION 在非常大的数据库中 可以通过把一个大表的数据分成多个小表来简化数据库的管理 这些小表称作分区 5 索引 INDEX 索引是帮助用户在表中快速地找到记录的数据库结构 它既可以提高数据库性能 又能够保证列值的惟一性 6 用户 USER 用户帐号虽然不是数据库中的一个物理结构 但它与数据库中的对象有着重要的关系 这是因为用户拥有数据库的对象 7 方案 SCHEMA 用户帐号拥有的对象集称为用户的方案 SCHEMA 8 同义词为了给不同的用户使用数据库对象时提供一个简单的 惟一标识数据库对象的名称 可以为数据库对象创建同义词 9 权限及角色 ROLE 为了访问其他帐号所有的对象 必须首先被授予访问这个对象的权限 2 1 1数据库 1 数据库的逻辑结构 10 段 SEGMENT 盘区 EXTENT 和数据块 DATABLOCK 依照不同的数据处理性质 可能需要在数据表空间内划分出不同区域 以存放不同数据 将这些区域称之为 段 SEGMENT 图2 2说明了段 盘区和数据块之间的关系 逻辑数据库是由若干表空间组成 每个表空间由若干个段组成 每个段由若干区组成 每个区是由若干个连续的数据块组成 每个块是由若干字节组成 图2 2段 盘区和数据块之间的关系 回滚段 在逻辑上 Oracle数据库是由一个或多个表空间组成的 表空间被划分为一个个独立的段 数据库中创建的所有对象都必须保存在指定的表空间中 在物理上 一个表空间对应于操作系统中的一个或多个数据文件 一个对象的数据存储在表空间的任意一个数据文件中 也可将同一个对象的数据分布在表空间的多个数据文件中 还可以将同一个对象分布在多个表空间中 如对表进行分区后的分区表 2 1 1数据库 数据库物理结构 1 数据文件 DATAFILE 每一个Oracle10g数据库有一个或多个数据文件 而一个数据文件只能属于一个表空间 数据库 表空间和数据文件之间的关系如图2 3所示 图2 3数据库 表空间和数据文件之间的关系 2 1 1数据库 2 重做日志文件 REDOLOGFILES 除了数据文件外 最重要的Oracle10g数据库实体档案就是重做日志文件 redologfiles Oracle保存所有数据库事务的日志 这些事务被记录在联机重做日志文件 OnlineRedoLogFile 中 当数据库中的数据遭到破坏时 可以用这些日志来恢复数据库 写入 LGWR循环方式来使用联机重做日志 提交事务 生成系统变更号SCN SCN与重做记录一起保存在重做日志文件中 归档重做日志文件 数据库在归档模式 LGWR进程在写入下一个重做日志文件之前 必须等待该联机重做日志文件完成归档 否则LGWR进程将被挂起 数据库也停止运行 在归档重做日志文件中 记录了自从数据库置于归档模式后 用户对数据库所进行的所有修改操作 优点 可以进行介质恢复 可以进行部分备份 保证备份数据库与目标库的一致性 3 控制文件 CONTROLFILES 控制文件是一个记录数据库结构的二进制文件 在其中如下重要信息 数据库名 数据库建立的时间 数据文件名称 位置 联机 脱机状态信息重做日志文件的名称和路径 表空间名称等信息 当前日志序列号 日志历史记录 归档日志信息 最近检查点信息 恢复管理器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 是指用来访问数据库文件集的存储结构 统称为SystemGlobalArea 即SGA 及后台进程的集合 实例与数据库之间的关系如图2 4所示 图2 4实例与数据库之间的关系 2 1 3实例 1 系统全局区当激活Oracle10g数据库时 系统会先在内存内规划一个固定区域 用来存储每位使用者所需存取的数据以及Oracle10g运作时必备的系统信息 这个区域称为系统全局区 SystemGlobalArea 俗称SGA 图2 5给出了SGA各重要区域之间的关系 图2 5SGA之间的关系 一个数据库至少有一个与之对应的实例 启动数据库时先创建一个实例 然后由实例加载 即将数据库与实例联系起来 并打开数据库 用户连接连接到实例中 然后由实例负责与数据库通信 将处理结果返回给用户 内存结构主要记录如下数据 解析后的SQL或PL SQL程序代码 用户连接会话信息 缓存的数据 程序运行时所需的各种信息 SGA SystemGlobalArea 和PGA ProgramGlobalArea SGA是由所有服务进程和后台进程所共享的内存段 PGA区是存放每个服务进程和后台进程所私有的数据和控制信息 Oracle中每个进程都拥有自己的PGA区 2 1 3实例 1 系统全局区 1 数据块缓存区 数据块缓冲区为SGA的主要成员 用来保存的是最近从数据文件中读取的数据 脏缓存块 空闲块 命中块 2 重做日志缓冲区 它是存储对数据库所做修改信息的缓存区 重做记录形式存储 3 共享池 SQL共享池存储数据字典缓存区及库缓存区 librarycache 即对数据库进行操作的语句信息 字典缓存区 数据库对象的信息存储在数据字典中 这些信息包括用户帐号 数据文件名 盘区位置 表说明和权限等 4 JAVA池 专门为所有JAVA代码或JVM中的数据而分配的内存 主要存储每个会话中每个类的共享部分 会话的状态信息等 2 1 3实例 2 后台进程数据库的物理结构和存储结构之间的关系是由后台进程来维持 主要的背景处理程序如下 1 DBWR 数据库写入程序 负责将数据块缓存区内变动过的数据块回写至硬盘内的数据文件 2 LGWR 日志写入程序 负责将重做日志缓冲区内的数据变动记录循序写入重做日志文件 3 SMON 系统监控程序 如果是因为停电或是其它因素导致Oracle数据库不正常被关闭 下一次激活数据库时将由SMON进行必要的数据库修复动作 4 PMON 进程监控程序 当某个使用者处理程序异常终止时 PMON清除数据块缓存区内不再使用的空间 并释放该程序之前使用的系统资源 5 CKPT 检查点进程 在适当时候产生一个checkpoint事件 确保缓冲区内经常被变动的数据也要定期被写入数据文件 6 RECO 恢复进程 在Oracle10g分布式数据库环境中 RECO处理程序会自动处理分布式操作失败时产生的问题 7 ARCH 归档进程 LGWR后台进程以循环方式向联机重做日志文件写入 数据库拥有多个后台进程 其数量取决于数据库的配置 这些进程由数据库管理 它们只需要进行很少的管理 图2 6显示了后台进程在数据库外部结构 SGA中作用和地位 图2 6后台进程与数据库外部结构 SGA的关系 建立数据库完成的操作 安装所需的Oracle软件 数据库时需要管理员权限 足够的内存和磁盘空间 建立数据库完成的操作建立数据库的信息结构 如数据字典等 建立并初始化控制文件 重做日志文件建立数据文件并删除同名文件中的数据 手工时 建立用户 表空间等 6 3建立数据库的方法 创建数据库通常有以下方法 数据库配置助手DBCA手工脚本 CREATEDATABASE数据库中移植并升级数据库启动DBCA 开始 程序 Oracle OracleHome ConfigurationAndMigrationTools DatabaseConfigurationAssistant 2 2界面创建数据库和表 2 2 1数据库创建和删除1 通过界面创建数据库创建数据库的用户必须是系统管理员 或是被授权使用CREATEDATABASE语句的用户 创建数据库必须要确定全局数据库名 SID 所有者 即创建数据库的用户 数据库大小 数据文件最初的大小 最大的大小 是否允许增长及增长方式 重做日志文件和控制文件等 例2 1 使用DBCA创建XSCJ数据库 1 启动DBCA DBCA激活并初始化 如图2 7所示 DBCA初始化完成后自动进入 欢迎 窗口 如图2 8所示 图2 7DBCA初始化窗口 图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了 它会先创建起始参数文件 然后在激活OracleInstance之后进行一连串的工作 如图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 31OEM主目录界面 2 2 1数据库创建和删除 2 修改数据库使用Oracle企业管理器 可以执行以下操作 通过查看几种类型的度量来确定数据库的当前状态 启动或停止数据库 通过3个选项页面 划分为3页 每页各显示一个子部分 访问数据库环境的性能 管理和维护 2 2 1数据库创建和删除 2 修改数据库 1 改变数据文件的大小和增长方式 在图2 31所示的界面中 单击 管理 选项页面 出现如图2 32所示的管理界面 在 存储 类别选择 数据文件 进入如图2 33所示的 数据文件搜索 界面 直接选择或通过搜索功能查找要修改的数据文件 图2 33数据文件搜速界面 图2 32OEM管理界面 2 2 1数据库创建和删除 例2 2 将XSCJ数据库的users01 dbf的最大大小改为无限制 修改users01数据文件的步骤如下 在图2 33所示的界面中 选中 USERS01 dbf 的 选择 单选框 单击 编辑 按钮 进入如图2 34所示的界面 在 存储 类别中选择 无限制 单选按钮 将USERS01数据文件最大容量改为无限制 然后单击 应用 按钮 保存设置 图2 34USERS01数据文件编辑界面 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 配置和移植工具 NetConfigurationAssistant 启动欢迎窗口 如图2 40所示 图2 40NetConfigurationAssistant欢迎窗口 2 2 1数据库创建和删除 4 配置数据库连接网络配置助手是Oracle10g提供的用于配置基本网络组件的工具 可以进行监听程序配置 命名方法配置 本地网络服务名配置和目录使用配置 监听程序配置 创建 修改 删除或重命名监听程序 命名方法配置 当终端用户连接数据库服务时 要通过 连接标识符 简称标识服务 来完成 本地网络服务名配置 创建 修改 删除 重命名或测试存储在本地tnsnames ora文件中的连接描述符的连接 目录服务使用配置 如果要使用集中管理连接标识符的目录命名与Oracle高级安全一起使用的企业用户安全性功能 则选择此选项来配置对符合轻型目录访问协议 LightweightDirectoryAccessProtocol 简称LDAP 的目录服务器的访问 2 2 1数据库创建和删除 4 配置数据库连接 2 选择 本地Net服务名配置 进行配置 单击 下一步 进入 Net服务名配置 窗口 如图2 41所示 3 选择 添加 以添加新的服务名 单击 下一步 进入 服务名 窗口 如图2 42所示 图2 41Net服务名配置窗口 图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 44TCP 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用户才可以启动数据库实例 启动数据库有下面三种方式 使用SQLPlus中的STARTUP命令 使用OEM数据库配置中图形化界面 使用RMAN中的STARTUP命令 启动数据库过程 创建实例但不加载数据库 启动数据库的实例 即创建后台进程 服务进程 SGA等 启动中只用到初始化参数文件 只有在创建数据库或重建控制文件等时用该模式 C SQLPLUS NOLOGSQL CONNECTSYS change on installASSYSDBA SQL STARTUPNOMOUNT 只能访问V PARAMETER V SGA V OPTION V PROCESS等 启动实例并加载数据库 CONTROL FILES指定的控制文件并将其打开 Oracle读控制文件以获取数据库名称 数据文件的位置和名称 重做日志文件等数据库物理结构的信息 在加载时实例并不打开数据库的物理文件 数据库仍然是关闭并只有管理员能访问 在数据库关闭状态下 启动实例并加载 SQL STARTUPMOUNT 启动实例并打开数据库 启动实例并将数据库置为打开状态时 将打开所有处于联机状态的数据文件和重做日志文件 如果在控制文件中列出的任何一个数据文件或重做日志文件无法正常打开 数据库将返回错误信息 这时需要进行数据库恢复 只有处于打开状态下的数据库才可以让合法用户访问 启动数据库到打开状态的命令 SQL STARTUPOPEN 或STARTUP命令 数据库启动模式之间的转换 从NOMOUNT状态到MOUNT状态 SQL ALTERDATABASEMOUNT 从MOUNT状态到OPEN状态 SQL ALTERDATABASEOPEN 只读模式SQL ALTERDATABASEOPENREADONLY 读写模式SQL ALTERDATABASEOPENREADWRITE 关闭数据库 正常关闭数据库 SQL SHUTDOWNNORMAL 正常方式关闭数据库时 Oracle将阻止任何用户建立新的连接 并等待当前所有正在连接的用户主动断开连接 而连接的用户能够继续他们当前的工作 一旦所有的用户都断开连接 立刻关闭数据库 卸载数据库 并终止实例 由于要求用户主动断开连接 可能需要较长时间 立即关闭数据库 SQL SHUTDOWNIMMEDIATE Oracle将阻止任何用户建立新的连接 同时阻止当前连接的用户开始任何新的事务 任何未提交的事务均被回滚 Oracle不再等待用户主动断开连接 而是直接关闭 卸载数据库并终止实例 SQL SHUTDOWNTRANSACTIONAL Oracle将阻止任何用户建立新的连接 同时阻止当前连接的用户开始任何新的事务 等待所有未提交的活动事务提交完毕 然后立即断开连接 关闭 卸载 并终止实例 SQL SHUTDOWNABORT 数据库 实例或应用程序出现故障 或要马上关机等情况 立即终止当前正在执行的SQL语句 任何未提交的事务均不被回滚 事务关闭数据库 删除数据库 1 启动DBCA 选择删除数据库 单击 下一步 将显示所有可以被删除的数据库例程 删除数据库 2 2 2表创建 修改和删除 1 创建和管理表空间既可以在Oracle企业管理器 OracleEnterpriseManager 中创建表空间 也可以使用CREATETABLESPACE命令创建表空间 创建表空间 例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限制 创建者必须具有CREATETABLESPACE系统权限 并且数据库要处于打开状态 CREATETABLESPACE表空间名称DATAFILEfilespec 数据文件 BLOCKSIZE整数 K 块大小 LOGGING NOLOGGING DDL日志 DEFAULTSTORAGE 存储参数表 ONLINE OFFLINE 状态 PERMANENT TEMPORARY 永久或临时 EXTENTMANAGEMENTDICTIONARY EXTENTMANAGEMENTLOCAL AUTOALLOCATE UNIFORMSIZEnK 建立表空间命令 DATAFILEfilespec是用来定义数据文件的位置 大小和个数的子句 格式为 文件名 SIZE整数 K M REUSE AUTOEXTENDOFF AUTOEXECTON NEXT整数 K M MAXSIZEUNLIMITED 整数 K M AUTOEXTENDOFF文件的大小不自动增加 AUTOEXTENDON大小自动增加 自动增加的大小由NEXT选项规定 最大值由MAXSIZE决定 MAXSIZEUNLIMITED 文件大小没有限制 例 SQL CREATETABLESPACEtbs 12DATAFILE e oracle oradata student tbs file1 dat SIZE25M3DEFAULTSTORAGE INITIAL10K4NEXT50KPCTINCREASE205MINEXTENTS1MAXEXTENTS999 6ONLINE 创建带存储参数的表空间TBS 1 建立后自动联机可用 例 创建由两个数据文件组成的表空间 每个数据文件都自动增加大小 数据文件最大到5M SQL CREATETABLESPACEtbs 22DATAFILE e oracle oradata student tb1 dat SIZE5MREUSE3AUTOEXTENDONNEXT50KMAXSIZE5M 4 e oracle oradata student tb2 dat SIZE500KREUSE5AUTOEXTENDONNEXT50KMAXSIZE4M 表空间管理方式 缺省时将创建本地管理方式表空间 存储管理方式在表空间创建之后 不能被改变 在字典管理方式下 表空间使用数据字典来管理存储空间的分配 当在表空间中分配新的区或回收已分配的区时 Oracle将对数据字典中的相关基础表进行更新 EXTENTMANAGEMENTDICTIONARY在本地管理方式下 区的分配与管理信息都存储在表空间的数据文件中 EXTENTMANAGEMENTLOCAL 例 创建本地管理的表空间 自动分配区的大小 SQL CREATETABLESPACEtbs 32DATAFILE e oracle oradata student tb3 dat 3SIZE5MREUSE4AUTOEXTENDONNEXT50KMAXSIZE5M5EXTENTMANAGEMENTLOCAL6AUTOALLOCATE 删除表空间 删除表空间必须具有DROPTABLESPACE系统权限 Oracle只是从控制文件和数据字典中删除与表空间和数据文件有关的信息 并不真正删除相应的操作系统文件 DROPTABLESPACE表空间名 INCLUDINGCONTENTS ANDDATAFILES CASCADECONSTRAINTS 如果表空间中有对象 INCLUDINGCONTENTS子句 如果在指定INCLUDINGCONTENTSANDDATAFILES 删除数据文件 CASCADECONSTRAINTS删除一致性引用 例 删除表空间 表空间内容及其对表的一致性引用 SQL DROPTABLESPACEtbs 1INCLUDINGCONTENTSCASCADECONSTRAINTS 例 删除表空间及其所有操作系统文件 SQL DROPTABLESPACEtbs 22INCLUDINGCONTENTS3ANDDATAFILES 删除表空间 修改表空间 在数据库打开的状态下改变表空间联机状态或脱机状态 增加表空间的数据文件或者改变数据文件的名称等 使用ALTERTABLESPACE命令的用户必须具有ALTERTABLESPACE或MANAGETABLESPACE的系统权限 命令 ALTERTABLESAPCE表空间名 ONLINE OFFLINE NORMAL TEMPORARY IMMEDIATE BEGINBACKUP ENDBACKUP READONLY READWRITE 数据文件子句 其它与CREATETABLESPACE相同的子句 修改表空间例子 例设置表空间的脱机和联机状态 SQL ALTERTABLESPACEtbs 2OFFLINE SQL ALTERTABLESPACETBS 2ONLINE 例为表空间TBS 2增加数据文件TBS22 DAT 大小为100K 新增数据文件最大可达到100M 自动增加大小 每次增加10K SQL ALTERTABLESPACEtbs 22ADDDATAFILE3 e oracle oradata student tbs22 dat SIZE100K4AUTOEXTENDONNEXT10K5MAXSIZE100M 例 移动表空间TBS 2的数据文件TBS22 DAT 并将其名称改为TBS22 DBF 具体步骤如下 A SQL ALTERTABLESPACETBS 2OFFLINENORMAL b 用操作系统命令将TBS22 DAT移动到新位置并重新命名 MOVEe oracle oradata student tbs22 datd oracle tbs22 dbfc 在ORACLE中改变数据文件的名称 SQL ALTERTABLESPACEtbs 2RENAMEDATAFILE1 e oracle oradata student tbs22 dat 2TO d oracle tbs22 dbf d 将表空间设置为联机状态 SQL ALTERTABLESPACEtbs 2ONLINE 移动和重命名数据文件 例设置表空间为只读方式或读写方式 SQL ALTERTABLESPACETBS 2READONLY SQL ALTERTABLESPACEtbs 2READWRITE 查询表空间信息SQL SELECT FROMv tablespace DBA TABLESPACES视图 它包含数据库中所有表空间的描述信息 只有管理员身份的用户才可以访问该数据字典视图 USER TABLESPACES视图 当前用户有配额的所有表空间信息 内容与DBA TABLESPACES一样 2 2 2表创建 修改和删除 1 创建和管理表空间 例2 5 创建大小为50M的表空间TEST 禁止自动扩展数据文件 CREATETABLESPACETESTLOGGINGDATAFILE D oradata XSCJ TEST101 DBF SIZE50MREUSEAUTOEXTENDOFF 例2 6 创建表空间DATA 允许自动扩展数据文件 CREATETABLESPACEDATALOGGINGDATAFILE D oradata XSCJ DATA01 DBF SIZE50MREUSEAUTOEXTENDONNEXT10MMAXSIZE200MDEFAULTSTROAGE INITIAL32KNEXT32KMINEXTENTS1MAXEXTENTS249PCTINCREASE50 EXTENTMANAGEMENTLOCAL 2 2 2表创建 修改和删除 2 利用CREATETABLESPACE命令创建和管理表空间 利用命令管理表空间 利用ALTERTABLESPACE命令可以修改现有的表空间或它的一个或多个数据文件 语法格式 ALTERTABLESPACEtablespace name ADDDATAFILE TEMPFILE path filename SIZEinteger K M REUSE AUTOEXTEND OFF ON NEXTinteger K M MAXSIZE UNLIMITED integer K M RENAMEDATAFILE path filename nTO path re filename n DEFAULTSTORAGEstorage clause ONLINE OFFLINE NORMAL TEMPORARY IMMEDIATE LOGGING NOLOGGING READONLY WRITE PERMANENT TEMPORARY 2 2 2表创建 修改和删除 语法格式 其中 ADDDATAFILE TEMPFILE 向表空间添加指定的数据文件或临时文件 RENAMEDATAFILE 对一个或多个表空间的数据文件重命名 READONLY 表明表空间上不允许进一步写操作 READWRITE 表明在先前只读表空间上允许写操作 例2 7 通过ALTERTABLESPACE命令把一个新的数据文件添加到DATA表空间 并指定了AUTOEXTENDON和MAXSIZE300M ALTERTABLESPACEDATAADDDATAFILE D ORACLE ORADATA XSCJ DATA02 DBF SIZE50MREUSEAUTOEXTENDONNEXT50MMAXSIZE500M 注意 尽管可以设置MAXSIZEUNLIMITED 但应总是规定一个文件的最大尺寸值 否则 使用磁盘设备上全部可用空间的事务将造成数据库故障 修改表空间DATA属性 命令如下 ALTERTABLESPACEDATAOFFLINE 2 2 2表创建 修改和删除 2 数据类型表是真正存储各种各样数据的对象 由行和列组成 行有时也称为记录 列有时也称为字段或域 设计数据库时 要决定它包括哪些表 每个表中包含哪些列 每列的数据类型等 在表中创建列时 必须为其指定数据类型 列的数据类型决定了数据的取值 范围和存储格式 列的数据类型可以是Oracle提供的系统数据类型 将其列于表2 4中 表2 4Oracle数据类型 SQL语言的数据类型 一 字符类型字符类型是指单引号括起来的若干字符组成CHAR N 长度为N的字符串 N 1 2000字节VARCHAR2 n 变长字符串 1 4000字节LONG n 变长字符串 n 1B 2GB LONG可以在SELECT中 UPDATE的SET中或INSERT的VALUES中 LONG的限制 表中只一个LONG 不能在WHERE条件中 不能索引 不能在GROUPBY ORDERBY子句中 函数中不能返回LONG类型的值 SQL语言的数据类型 二 数字类型 10 130 9 9 9 10 125 NUMBER p s p 总位数 s 小数点后NUMBER n 等价于NUMBER n 0 NUMBER是指最大值到最小值如果值超出P 出错 如果精度超出S 截断 负精度S 表示取整后面S个整 去掉小数部分 SQL语言的数据类型 实际数类型存储7456123 89NUMBER7456123 897456123 89NUMBER 9 74561247456123 89NUMBER 9 2 7456123 897456123 89NUMBER 9 1 7456123 97456123 89NUMBER 6 整数超界7456123 89NUMBER 7 2 74561007456123 89NUMBER 7 2 整数超界 SQL语言的数据类型 三 日期数据类型日期类型分域 YEAR 4712 9999 月日时分秒 日期类型存储有日期和时间 默认 DD MON YYSQL selectdate 1999 12 10 fromdual DATE 1999 10 12月 99 NLS DATE FORMAT来限定日期格式SQL altersessionsetNLS DATE FORMAT YYYY MON DDHH24 MI SS 会话已更改 SQL selectsysdatefromdual SYSDATE 2012 10月 0608 38 42 SQL语言的数据类型 SQL语言的数据类型 Oracle中的LOB用来存储大的非结构化的数据 如格式文本 图像 视频 音频 空间数据等 这些数据类型的最大值可达4GB 1 BLOB类型无字符集的二进制位流 SQL语句可以对它进行修改 支持事务提交和回滚 不能出现在SELECT命令中 4GB2 CLOB类型存放单字节和多字节字符数据 支持定长或变长字符集 提交与回滚 用SQL命令修改 4GB SQL语言的数据类型 3 BFILE数据类型是访问存储在数据库之外的文件 只能查询或读 不能写 BFILE字段存文件的位置 4GB BFILE的文件名和目录名用BFILENAME改变 BFILE不参入事务处理 也不可恢复 4 LOB时注意在ORDERBY或GROUPBY子句中不能用LOB列 不能将LOB存储在自动管理表空间 LOB不能作为主键 不能作索引 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 单击 约束条件 选项页面 进入 约束条件 选项界面 如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论