oracle10g经典实战第2章数据库和表的创建.ppt

上传人:sh****n 文档编号:6393538 上传时间:2020-02-24 格式:PPT 页数:100 大小:4.70MB
返回 下载 相关 举报
oracle10g经典实战第2章数据库和表的创建.ppt_第1页
第1页 / 共100页
oracle10g经典实战第2章数据库和表的创建.ppt_第2页
第2页 / 共100页
oracle10g经典实战第2章数据库和表的创建.ppt_第3页
第3页 / 共100页
点击查看更多>>
资源描述
第2章数据库和表的创建 创建数据库和表是Oracle10g最基本的工作 数据库和表是Oracle用于组织和管理数据的对象 本章将讲述数据库 表的基本概念 以及创建数据库和表的两种方式 2 1基本概念Oracle是一种关系数据库管理系统 RDBMS 关系数据库是按照二维表结构方式组织的数据集合 每个表体现了集合理论中定义的数学概念 关系 2 1 1数据库数据库 Database 是一个数据容器 它包含了表 索引 视图 过程 函数 包等对象 并对其进行统一的管理 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段 盘区和数据块之间的关系 2 1 1数据库 数据库外部结构 1 数据文件 DATAFILE 每一个Oracle10g数据库有一个或多个数据文件 而一个数据文件只能属于一个表空间 数据库 表空间和数据文件之间的关系如图2 3所示 图2 3数据库 表空间和数据文件之间的关系 2 1 1数据库 2 重做日志文件 REDOLOGFILES 除了数据文件外 最重要的Oracle10g数据库实体档案就是重做日志文件 redologfiles Oracle保存所有数据库事务的志 这些事务被记录在联机重做日志文件 OnlineRedoLogFile 中 当数据库中的数据遭到破坏时 可以用这些日志来恢复数据库 3 控制文件 CONTROLFILES 每个Oracle10g数据库都有一个控制文件 用以记录与描述数据库的外部结构 它们包括 Oracle10g数据库名称与建立时间 数据文件与重置日志文件名称及其所在位置 日志记录序列码 logsequencenumber 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之间的关系 2 1 3实例 1 系统全局区 1 数据块缓存区 数据快取缓冲区为SGA的主要成员 用来存放读取自数据文件的数据块复本 或是使用者曾经处理过的数据 2 字典缓存区 数据库对象的信息存储在数据字典中 这些信息包括用户帐号 数据文件名 盘区位置 表说明和权限等 3 重做日志缓冲区 前面已介绍过 联机重做日志文件用于记录数据库的更改 以便在数据库恢复过程中用于向前滚动 4 SQL共享池 SQL共享池存储数据字典缓存区及库缓存区 librarycache 即对数据库进行操作的语句信息 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的关系 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是否配置另一个网络服务名窗口 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表创建 修改和删除 1 创建和管理表空间 2 利用CREATETABLESPACE命令创建和管理表空间 利用CREATETABLESPACE创建表空间 创建表空间的用户必须拥有CREATETABLESPACE系统权限 在创建表空间前 必须先创建包含表空间的数据库 语法格式 CREATETABLESPACEtablespace nameDATAFILE path filename SIZEinteger K M REUSE AUTOEXTEND OFF ON NEXTinteger K M MAXSIZE UMLIMITED integer K M MINMUMEXTENTinteger K M DEFAULTSTORAGEstorage clause ONLINE OFFLINE LOGGING NOLOGGING PERMANENT TEMPORARY EXTENTMANAGEMENT DICTIONARY LOCAL AUTOALLOCATE UNIFORM SIZEinteger K M 2 2 2表创建 修改和删除 语法格式 其中 tablespace name 将要创建的表空间的名称 该名称在数据库中是惟一的 并且命名必须符合命名规则 path filename 一个或多个数据文件的存放路径与名称 OFF ON 禁止或允许自动扩展数据文件 NEXT 指定当需要更多盘区时分配给数据文件的磁盘空间 以K或M为单位 MAXSIZEUMLIMITED integer K M 指定允许分配给数据文件的最大磁盘空间 MINMUMEXTENT 指定最小的长度 默认为操作系统和数据库块确定 ONLINE 在创建表空间之后使该表空间立即对授权访问该表空间的用户可用 OFFLINE 在创建表空间之后使该表空间不可用 2 2 2表创建 修改和删除 语法格式 LOGGING NOLOGGING 指定日志属性 它表示将来的表 索引等是否需要进行日志处理 默认值为LOGGING PERMANENT 指定表空间将用于保存永久对象 这是默认设置 TEMPORARY 指定表空间将用于保存临时对象 EXTENTMANAGEMENT 指定如何管理表空间的盘区 DICTIONARY 指定使用字典表来管理表空间 这是缺省设置 LOCAL 指定本地管理表空间 AUTOALLOCATE 指定表空间由系统管理 用户不能指定盘区尺寸 UNIFORM 指定使用SIZE字节的统一盘区来管理表空间 缺省的SIZE为1M 如果既没指定AUTOALLOCATE又没指定UNIFORM 那么AUTOALLOCATE就是缺省设置 2 2 2表创建 修改和删除 语法格式 注意 如果指定了LOCAL 就不能指定DEFAULTSTORAGEstorage clause和TEMPORARY DEFAULTSTORAGEstorage clause 为在该表空间创建的全部对象指定缺省的存储参数 storage clause的语法格式如下 STORAGE INITIALinteger K M NEXTinteger K M MINEXTENTSinteger UNLIMITEDMAXEXTENTSintegerPCTINCREASEintegerFREELISTSintegerFREELISTGROUPSintegerOPTIMAL integer K M NULL 2 2 2表创建 修改和删除 1 创建和管理表空间 例2 5 创建大小为50M的表空间TEST 禁止自动扩展数据文件 CREATETABLESPACE TEST LOGGINGDATAFILE 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数据类型 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数据库时 都必须事先做好妥善准备 在开始建立新的Oracle10g数据库之前 建议先做好下列准备工作 1 评估数据表与索引的存放位置 如果可能的话预估其所需空间 2 规划操作系统下数据库实体文件的存放方式 因为良好的文件配置将大幅改善数据存取效率 3 确定全局数据库名称 4 熟悉init ora文件内较重要的参数 甚至服务器参数文件 serverparameterfile 的使用时机及其作用 5 选定适当的数据库字符集 6 选定数据块大小 7 熟悉Oracle10g数据库的激活 关闭方式和与其搭配的各种选项 8 确认物理内存是否足以激活Oracle10gInstance 9 确认Oracle10g服务器的磁盘空间足以创建新数据库 2 3 1创建数据库 下面以创建名为mydb的数据库来介绍手动创建数据库的步骤 1 设定实例标识符在一般情况下 每个Oracle10g数据库都必须对应一个数据库实例 所以在建立数据库之前 必须先指定数据库实例的系统标识符 此系统标识符就是俗称的OracleSID 在如图2 60所示的命令提示符操作界面中 使用如下命令设定SID C SETORACLE SID mydb 图2 60命令提示符操作界面 2 3 1创建数据库 2 设定数据库管理员的验证方法为了创建数据库 必须经过数据库的验证手续 且被赋予适当系统权限后才可以建立Oracle10g数据库 可以使用密码文件或操作系统的验证方法 下面给出的是密码文件验证方法 D orapwdfile D oracle oradata DATABASE PWDmydb oraPassword ORACLEentries 53 创建初始化参数对于任何一个Oracle数据库 实例 系统全局区SGA和后台进程 都是使用初始化参数文件开始的 以下是创建新数据库之前必须新增或编辑的初始化参数 全局数据库名称 控制文件名称与路径 数据块大小 影响SGA容量的初始化参数 设定处理程序最大数目 设定空间撤消 Undo 管理方法 2 3 1创建数据库 3 创建初始化参数 1 设定全局数据库名称Oracle10g的全局数据库名称由数据库名称与网域名称所组成 数据库名称和网域名称分别由DB NAME与DB DOMAIN参数设定的 2 设置控制文件控制文件是Oracle10g数据库中相当重要的文件 因此必须在新的初始化参数文件内加入CONTROL FILE参数以设定控制文件的名称以及路径 3 设定数据块大小Oracle10g数据库存放数据的最小单位为数据块 datablock 数据库标准数据块大小是设定在初始化参数文件的DB BLOCK SIZE参数 非标准数据块大小设定值可为2K 4K 8K 16K或32K 需注意的是这种的类型数据块将受到操作系统环境限制 不是所有操作系统都可以设定上述所有区块大小 若要使用非标准数据块时 还必须适当配置SGA内数据库缓冲区的子缓冲区 方式是由DB nK CACHE SIZE参数来设定 数据块大小设置如下 DB BLOCK SIZE 8192 2 3 1创建数据库 3 创建初始化参数 4 配置影响SAG容量的初始化参数这种类型的初始化参数将控制系统全局区 SystemGlobalArea 简称SGA 的大小 设定数据库缓冲区大小Oracle10g数据库缓冲区 DataBaseBufferCache 大小是由初始化参数文件DB CACHE SIZE参数决定 数据库缓冲区以标准数据块作为数据存取单位 如果设定一组DB BLOCK SIZE与DB nK CACHE SIZE参数 则可在Oracle10g数据库中实现使用多重数据块大小 如果上述两项参数在初始化参数文件中没有明确设定 则Oracle10g会自动设定适当的DB CACHE SIZE值 且将DB nK CACHE SIZE设定为0 例如 缓冲区大小设置如下 DB CACHE SIZE 20MDB 2K CACHE SIZE 10MDB 8K CACHE SIZE 8M注意 DB nK CACHE SIZE参数不能设定为标准数据块的缓冲区大小 也就是说 如果DB BLOCK SIZE设定为4k 就不能再设定DB 4K CACHE SIZE参数 2 3 1创建数据库 4 配置影响SAG容量的初始化参数 设定共享池和大型池容量SGA内的共享池 SharedPool 与大型池 LargePool 分别由SHARED POOL SIZE与LARGE POOL SIZE所设定 这两个参数都属于动态参数 如果初始化参数文件未设定这两个参数 则Oracke9i将自动决定其适当大小 在设定SGA时需注意 SGA最大容量由SGA MAX SIZE控制 可动态地改变该参数值 但是需注意SGA MAX SIZE是数据库缓冲区 共享池 大型池以及其它SGA组件的容量总和 各区域之大小不能超过SGA MAX SIZE 如果SGA MAX SIZE未设定 则Oracle10g会自动将SGA MAX SIZE设定为所有SGA组件大小的总和 2 3 1创建数据库 3 创建初始化参数 5 设定处理进程最大数量初始化参数PROCESSESS可决定同时连接Oracle10g的操作系统程序最大数量 6 设定空间撤消管理方法Oracle10g就某种特殊机制来确保数据一致性和完整性 以便必要时回滚 rollback 失败的数据 或是撤消 undo 某个数据处理动作 针对撤消项目的管理 初始化参数文件的UNDO MANAGEMENT可设定由下列方式之一激活Oracle10g实例 AUTO 以 自动撤消管理模式 激活Oracle10g实例 其撤消项目将储存于撤消表空间 MANUAL 以 手动模式 激活Oracle10g实例 其撤消项目将储存于回滚段 为了向前兼容 UNDO MANAGEMENT的默认值为MANUAL 当实例以 自动管理模式 激活时 将尝试寻找第一个可用的撤消表空间以存放撤消项目 如果执行CREATEDATABASE指令 且UNDO MANAGEMENT设定为AUTO时 Oracle10g就会自动建立一个撤消表空间 此表空间将是 自动管理模式 下预设的撤消表空间 3 创建初始化参数 例2 10 创建数据库mydb的初始化参数文件initmydb ora 初始化参数文件内容如下所示 Copyright c 1991 2001 2002byOracleCorporationjob queue processes 10 JobQueues SharedServerdispatchers PROTOCOL TCP SERVICE mydbXDB Miscellaneouscompatible 10 2 0 1 0 SecurityandAuditingremote login passwordfile EXCLUSIVE Sort HashJoins BitmapIndexespga aggregate target 25165824sort area size 65536 DatabaseIdentificationdb domain db name mydb FileConfigurationcontrol files D oracle oradata mydb control01 ctl D oracle oradata mydb control02 ctl D oracle oradata mydb control03 ctl db recovery file dest D flash recovery area1db recovery file dest size 2147483648 Poolsjava pool size 50331648large pool size 8388608shared pool size 83886080 CursorsandLibraryCacheopen cursors 300 SystemManagedUndoandRollbackSegmentsundo management AUTOundo tablespace UNDOTBS1 DiagnosticsandStatisticsbackground dump dest D oracle admin mydb bdumpcore dump dest D oracle admin mydb cdumpuser dump dest D oracle admin mydb udump ProcessesandSessionsprocesses 150 CacheandI Odb block size 8192db cache size 25165824db file multiblock read count 16 2 3 1创建数据库 4 启动SQL Plus并以SYSDBA连接到Oracle实例D sqlplus nologSQL connectassysdba5 启动实例在没有装载数据库情况下启动实例 通常只有在数据库创建期间或在数据库上实施维护操作时才会这么做 使用带有NOMOUNT选项的STARTUP命令即可实现 SQL STARTUPNOMOUNTpfile d admin mydb pfile initmydb ora 2 3 1创建数据库 6 发布CREATEDATABASE语句要创建新的数据库 可以使用CREATEDATABASE 当执行CREATEDATABASE语句时 Oracle依据在CREATEDATABASE语句中指定的子句或者设置的初始化参数来执行其操作 创建数据文件 创建控制文件 创建重做日志文件并建立ARCHIVELOG模式 创建SYSTEM表空间和SYSTEM回滚段 创建数据字典 设置存储数据在数据库中的字符集 设置数据库时区 装载和打开数据库 2 3 1创建数据库 6 发布CREATEDATABASE语句语法格式 CREATEDATABASEdatabase name CONTROLFILEREUSE LOGFILE GROUPinteger path filename SIZEinteger K M REUSE n MAXLOGFILESinteger MAXLOGMEMBERSinteger MAXLOGHISTORYinteger MAXDATAFILESinteger MAXINSTANCESinteger ARCHIVELOG NOARCHIVELOG CHARACTERSETcharset NATIONALCHARACTERSETcharset DATAFILE path filename SIZEinteger K M REUSE AUTOEXTEND OFF ON NEXTinteger K M MAXSIZE UNLIMITED integer K M 2 3 1创建数据库 6 发布CREATEDATABASE语句 例2 11 CREATEDATABASE语句创建数据库mydb CREATEDATABASEmydbMAXINSTANCES1MAXLOGHISTORY1MAXLOGFILES5MAXLOGMEMBERS5MAXDATAFILES100DATAFILE D oracle oradata mydb system01 dbf SIZE500MAUTOEXTENDONNEXT100MMAXSIZEUNLIMITEDUNDOTABLESPACEUNDOTBSDATAFILE D oracle oradata mydb undotbs01 dbf SIZE150MREUSEAUTOEXTENDONNEXT50MMAXSIZEUNLIMITEDDEFAULTTEMPORARYTABLESPACEtemps1CHARACTERSETtZHS16GBKNATIONALCHARACTERSETAL16UTF16LOGFILE D oracle oradata mydb redo01 log SIZE100M D oracle oradata mydb redo02 log SIZE100M D oracle oradata mydb redo03 log SIZE100M 2 3 1创建数据库 上面创建的数据库具有以下主要特点 数据库名称为mydb 全局数据库名称也为mydb 通过初始化参数CONTROL FILES创建了3个控制文件 设置MAXINSTANCES参数只能有一个实例可以装载和打开数据库 DATAFILE子句设定该数据库SYSTEM表空间所对应的操作系统文件为 D oracle oradata mydb system01 dbf 假如该文件已事先存在 将被覆盖 UNDO TABLESPACE子句创建并命名撤消表空间 以便使用它来为数据库存储撤消记录 ZHT16BIG5为数据库存放数据的字符集 它支持中文 新数据库拥有3个重做日志文件 分别设定在LOGFILE子句中 CREATEDATABASE语句没有包含ARCHIVELOG子句 所以该数据库将不进行归档 新数据库的时区与操作系统的时区相同 2 3 1创建数据库 7 创建其他表空间要使数据库具有更多功能 就需要为用户创建另外的数据文件和表空间 按照应用系统实际需求而定 例2 12 创建表空间 1 创建Undo表空间CREATEUNDOTABLESPACERBSDATAFILE D oradata mydb rbs01 dbf SIZE256MAUTOEXTENDONNEXT5120KEXTENTMANAGEMENTLOCAL 2 创建用户表空间CREATETABLESPACEUSERSDATAFILE D oradata mydb users01 dbf SIZE128MREUSEAUTOEXTENDONNEXT1280KEXTENTMANAGEMENTLOCALMINIMUMEXTENT128KDEFAULTSTORAGE INITIAL128KNEXT128KMINEXTENTS1MAXEXTENTS4096PCTINCREASE0 2 3 1创建数据库 例2 12 创建表空间 3 创建临时表空间CREATETEMPORARYTABLESPACETEMPDATAFILE D oradata mydb temp01 dbf SIZE32MREUSEAUTOEXTENDONNEXT640KEXTENTMANAGEMENTLOCALUNIFORMSIZE64KDEFAULTSTORAGE INITIAL64KNEXT64KMINEXTENTS1MAXEXTENTSUNLIMITEDPCTINCREASE0 4 创建工具表空间CREATETABLESPACETOOLSDATAFILE D Oracle oradata mydb tools01 dbf SIZE64MREUSEAUTOEXTENDONNEXT320KMINIMUMEXTENT32KDEFAULTSTORAGE INITIAL32KNEXT32KMINEXTENTS1MAXEXTENTS4096PCTINCREASE0 2 3 1创建数据库 例2 12 创建表空间 5 创建索引表空间CREATETABLESPACEINDXDATAFILE D Oracle oradata test indx01 dbf SIZE32MREUSEAUTOEXTENDONNEXT1280KMINIMUMEXTENT128KEFAULTSTORAGE INITIAL128KNEXT128KMINEXTENTS1MAXEXTENTS4096PCTINCREASE0 8 创建数据字典表除了创建额外的表空间外 还必须在数据库建立之后执行两个重要的指令文件 catalog sql和cataproc s
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!