资源预览内容
第1页 / 共36页
第2页 / 共36页
第3页 / 共36页
第4页 / 共36页
第5页 / 共36页
第6页 / 共36页
第7页 / 共36页
第8页 / 共36页
第9页 / 共36页
第10页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第四次课数据库管理表空间管理在SQL PLUS中操作实现 2020 4 4 1 数据库管理 创建数据库 使用DBCA 删除数据库 使用DBCA 启动监听程序关闭监听程序启动数据库关闭数据库 2020 4 4 2 启动和关闭数据库 DBA的任务之一是负责启动和关闭数据库深入分析可以知道 数据库的启动和关闭是分步骤实现的 数据库具有几种启动模式 选项和状态 在windows操作系统中 因为oracle将数据库的启动过程写到了服务表中 并将其设置成自动启动方式 当启动windows操作系统时就会随之启动 当关闭操作系统时也会随之关闭 所以一般不需要单独启动数据库 但是 如果在操作系统启动时 数据库没有正常启动 或没有将其设置成自动启动方式 则在启动操作系统后 也可以使用数据库启动命令重新启动数据库 当然还可以人为地关闭数据库 2020 4 4 3 启动数据库的步骤 1 创建并启动例程 例程由一组逻辑内存结构和一系列的后台服务进程组成 当启动例程时 这些内存结构和服务进程得到分配 初始化和启动 但此时的例程还没有与一个确定的数据库相联系 2 装载数据库 装载数据库时 例程将打开数据库的控制文件 根据初始化参数control files的设置找到控制文件 并从中获取数据库名称 数据文件的位置和名称等关于数据库物理结构的信息 但并不会打开数据库的物理文件 处于关闭状态 3 只有将数据库设置为打开状态后 数据库才处于正常运行状态 这时用户才能够与数据库建立连接或会话 2020 4 4 4 改变数据库的状态 装载数据库实例 在执行某些管理操作时 数据库必须启动 装载一个实例 但此时数据库处于关闭状态 ALTERDATABASEMOUNT 打开已关闭的数据库 ALTERDATABASEOPEN 以只读方式打开数据库 ALTERDATABASEOPENREADONLY 数据库有3种启动模式 分别代表启动数据库的3个步骤 当数据库管理员使用STARTUP命令时 可以指定选项来决定将数据库的启动推进至哪个启动模式 在进入某个模式后 可以使用ALTERDATABASE命令来讲数据库提升到更高的启动模式 但不能是数据库降低到前面的启动模式NOMOUNT模式 启动例程 但不装载数据库MOUNT模式 启动例程 装载数据库但不打开数据库 OPEN模式 启动例程 装载数据库 打开数据库 2020 4 4 6 关闭数据库的步骤 1 关闭数据库 关闭数据库时 oracle将重做日志高速缓存中的内容写入重做日志文件 将数据高速缓存中被改动过的数据写入数据文件 然后再关闭所有的数据文件和重做日志文件 这时数据库的控制文件仍然处于打开状态 但是由于数据库已经处于关闭状态 所以用户将无法访问数据库 2 卸载数据库 关闭数据库后 例程才能卸载数据库 数据库的控制文件在这个时候被关闭 但是例程仍然存在 3 终止例程 例程所拥有的所有后台进程和服务进程都将被终止 分配给例程的内存SGA区被回收 2020 4 4 7 关闭选项 SHUTDOWNNORMAL TRANSACTIONAL IMMEDIATE ABORTNORMAL按NORMAL选项关闭数据库时 oracle将执行如下操作 阻止任何用户建立新的连接等待当前所有正在连接的用户主动断开连接 正在连接的用户能够继续他们当前的工作 甚至能提交新的事务 一旦所有的用户都断开连接 才进行关闭 卸载数据库 并终止例程 TRANSACTIONAL按TRANSACTIONAL选项关闭数据库时 oracle将执行如下操作 阻止任何用户建立新的连接 同时阻止当前连接的用户开始任何新的事务等待所有当前未提交的活动事务提交完毕 然后立即断开用户的连接 一旦所有的用户都断开连接 立即进行关闭 卸载数据库 并终止例程 2020 4 4 8 IMMEDIATE按IMMEDIATE选项关闭数据库时 oracle将执行如下操作 阻止任何用户建立新的连接 同时阻止当前连接的用户开始任何新的事务任何当前未提交的事务均被回退 Oracle不再等待用户主动断开连接 而是直接关闭 卸载数据库 并终止例程 通常在如下情况下需要使用该选项来关闭数据库 即将启动自动数据备份操作即将发生电力供应中断数据库本身或某个数据库应用程序发生异常 并且当时无法通知用户主动断开连接 下次启动时 不需要进行任何回复操作 2020 4 4 9 ABORT按ABORT选项关闭数据库时 oracle将执行如下操作 阻止任何用户建立新的连接 同时阻止当前连接的用户开始任何新的事务立即结束当前正在执行的SQL语句任何当前未提交的事务均不被回退 立即断开所有用户的连接 关闭 卸载数据库 并终止例程 在下面的几种特殊情况中 可以考虑按ABORT选项来关闭数据库 数据库本身或某个数据库应用程序发生异常 并且使用其他选项均无效出现紧急情况 需要立刻关闭数据库在启动数据库例程的过程中产生错误 2020 4 4 10 表空间管理 查看表空间信息创建表空间段和区管理方式设置和修改表空间属性删除表空间 2020 4 4 11 表空间是Oracle数据库中最大的逻辑结构 它提供了一套有效地组织数据的方法 它是组织数据和进行空间分配的逻辑结构 2020 4 4 12 表空间具有如下作用 控制数据库所占用的磁盘空间控制用户所占用的表空间配额 因此也就控制了用户所占用的空间配额 通过将不同表的数据放置到不同的表空间中 可以提高数据库的I O性能 并有利于进行部分备份和恢复等管理工作能够将一个表的数据和表的索引数据分别放置到不同的表空间中 同样提高数据库的I O性能表空间提供了一个备份和恢复的单位 Oracle提供了按表空间备份和恢复的功能 2020 4 4 13 表空间类型 一个数据库通常有SYSTEM SYSAUX TEMP三个默认表空间 一个或多个临时表空间 而且还有一个撤消表空间和几个应用程序专用的应用表空间 系统表空间 SYSTEM SYSAUX 是自动创建的 一般存放ORACLE的数据字典及其数据永久性表空间 用于保存永久性的数据 如系统表空间和USERS用户表空间临时表空间 仅用于存放临时对象 任何永久性对象都不能驻留于临时表空间中 在建立用户时 如果不指定表空间 默认的临时表空间是temp撤消表空间 存储 管理撤消数据 由例程自动处理撤消段可以减轻DBA的负担 2020 4 4 14 表空间的状态 读写状态 默认情况下所有的表空间都是读写状态 任何具有表空间配额并且具有适当权限的用户都可以读写该表空间中的数据 只读状态 设置为只读的目的是避免对数据库中的静态进行修改 脱机状态 DBA可以通过将某个表空间设置为脱机状态 以使该表空间暂时不让用户访问 2020 4 4 15 表空间的区 段管理方式 表空间是按区和段空间进行管理的区管理方式字典管理方式 ORACLE9i之前 传统的 本地管理方式 ORACLE强烈建议 可以指定表空间的区的分配方式统一 UNIFORM 统一分配 指定表空间中所有的区的大小都相同自动 AUTOALLOCATE或SYSTEM 自动分配 指定由ORACLE系统来自动管理区的大小 这是默认的配置 区的大小随表的大小自动动态改变 是最佳的选择 2020 4 4 16 段空间管理方式 MANUAL 手动 为了与以前的版本兼容而保留的AUTO 自动 能够提供更好的利用率 并且简化用户的操作 2020 4 4 17 例 通过dba tablespaces数据字典视图 查询当前数据库中各个表空间的区 段管理方式 COLUMNtablespace nameFORMATA16COLUMNextent managementFORMATA18COLUMNallocation typeFORMATA16COLUMNsegment managementFORMATA18SELECTtablespace name extent management allocation type segment space managementsegment management contentsFROMdba tablespaces 2020 4 4 18 查看表空间信息 与表空间相关的视图 查看表空间信息 例 通过视图DBA TABLESPACES查看所有表空间的信息 代码及执行结果如下 SQL SELECTTABLESPACE NAME CONTENTS STATUSFROMDBA TABLESPACES TABLESPACE NAMECONTENTSSTATUS SYSTEMPERMANENTONLINEUNDOTBS1UNDOONLINESYSAUXPERMANENTONLINETEMPTEMPORARYONLINEUSERSPERMANENTONLINEEXAMPLEPERMANENTONLINE已选择8行 查看表空间信息 表空间管理 页面 创建表空间 1 本地管理表空间 例 在CREATETABLESPACE语句中使用EXTENTMANAGEMENTLOCAL子句 可以创建一个本地管理表空间 代码如下 CREATETABLESPACEloc tbs01DATAFILE e loc tbs01 1 dbf SIZE5MEXTENTMANAGEMENTLOCAL 表空间已创建 创建表空间 例 在创建表空间OrclTBS02时 指定其最小区间为128KB 代码如下 CREATETABLESPACEmytbs02DATAFILE e mytbs02 1 dbf SIZE1M e mytbs02 2 dbf SIZE2MUNIFORMSIZE128K 表空间已创建 2020 4 4 23 在本地管理方式下 可以用两个关键字来指定表空间的区分配方式 UNIFORM 统一分配 指定表空间中所有区的大小都相同 AUTOALLOCATE 自动分配 指定由ORACLE来自动管理区的大小 这是默认设置 AUTOALLOCATE的分配方式下 区的大小随表的大小自动地动态改变 对应如下 表大小区大小64K64K1M1M64M8M1000M64M小表取小参数 大表取大参数 2020 4 4 24 SEGMENTSPACEMANAGEMENT子句可定义段空间管理方式 例 创建自动段管理方式的表空间MyTBS01 SQL CREATETABLESPACEOrclTBS01DATAFILE C oracle product 10 2 0 oradata orcl OrclTBS01 dbf SIZE30MEXTENTMANAGEMENTLOCALAUTOALLOCATESEGMENTSPACEMANAGEMENTAUTO 例 创建手动段管理方式的表空间MyTBS01 SQL CREATETABLESPACEOrclTBS01DATAFILE C oracle product 10 2 0 oradata orcl OrclTBS01 dbf SIZE30MEXTENTMANAGEMENTLOCALAUTOALLOCATESEGMENTSPACEMANAGEMENTMANUAL 创建表空间 3 临时表空间 例 创建临时表空间tmptbs 代码如下 SQL CREATETEMPORARYTABLESPACEtmptbsTEMPFILE e mytmptbs01 1 dbf SIZE4MEXTENTMANAGEMENTLOCALUNIFORMSIZE1M 表空间已创建 2020 4 4 26 创建表空间 创建表空间页面 设置和修改表空间属性 1 重命名表空间 例 将表空间myspace02修改为myspace03 可以使用下面的语句 SQL ALTERTABLESPACEmyspace02RENAMETOmyspace03 表空间已更改 设置和修改表空间属性 2 本地管理表空间 例 在ALTERTABLESPACE语句中使用ADDDATAFILE子句 可以在本地管理表空间中增加数据文件 代码如下 SQL ALTERTABLESPACE
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号