计算机必学oracle数据库第05章ppt课件_第1页
计算机必学oracle数据库第05章ppt课件_第2页
计算机必学oracle数据库第05章ppt课件_第3页
计算机必学oracle数据库第05章ppt课件_第4页
计算机必学oracle数据库第05章ppt课件_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

1、Oracle 10g数据库运用教程 授课教师:职务:第5章 数据库存储管理 课程描画引见Oracle数据库的存储单元和物理文件管理。Oracle数据库的存储单元包括表空间、段、区间和数据块等。Oracle 10g的一个新增特性自动存储管理ASM。 本章知识点 表空间管理 控制文件管理 重做日志管理 归档日志管理 5.1表空间管理 查看表空间信息 创建表空间 设置和修正表空间属性 删除表空间 段和数据块管理 撤销表空间 查看表空间信息 与表空间相关的视图段 类 型说 明V$TABLESPACE控制文件中保存的所有表空间的名称和数量DBA_TABLESPACES所有表空间的描述信息USER_TAB

2、LESPACES所有用户可访问表空间的描述信息DBA_TABLESPACE_GROUPS所有表空间组及其所属的表空间信息DBA_SEGMENTS所有表空间中的区间信息USER_SEGMENTS所有用户表空间中的区间信息DBA_FREE_SPACE所有表空间中的空闲区间信息USER_FREE_SPACE所有用户表空间中的空闲区间信息V$DATAFILE所有数据文件信息V$TEMPFILE所有临时文件信息DBA_DATA_FILES显示所有属于表空间的数据文件信息DBA_TEMP_FILES显示所有属于临时表空间的临时文件信息查看表空间信息【例】查看视图V$TABLESPACE中表空间的内容和数量

3、,代码及执行结果如下:SQL SELECT * FROM V$TABLESPACE; TS# NAMEINCBIGFLA ENC - - - - 0 SYSTEM YES NO YES 1 UNDOTBS1YES NO YES 2 SYSAUXYES NO YES 4 USERSYES NOYES 3 TEMPNONOYES 6 EXAMPLEYESNOYES 7 ORCLTBS01YES NO YES 8 ORCLTBS02YES NOYES已选择8行。查看表空间信息【例】经过视图DBA_TABLESPACES查看一切表空间的信息,代码及执行结果如下:SQLSELECT TABLESPACE

4、_NAME,CONTENTS, STATUS FROM DBA_TABLESPACES;TABLESPACE_NAMECONTENTS STATUS- -SYSTEMPERMANENT ONLINEUNDOTBS1UNDO ONLINESYSAUX PERMANENT ONLINETEMPTEMPORARY ONLINEUSERSPERMANENT ONLINEEXAMPLEPERMANENT ONLINEORCLTBS01PERMANENT ONLINEORCLTBS02PERMANENT ONLINE已选择8行。查看表空间信息“表空间管理页面 操作按钮创建表空间 1本地管理表空间 【例】在

5、CREATE TABLESPACE语句中运用EXTENT MANAGEMENT LOCAL子句,可以创建一个本地管理表空间,代码如下:SQL CREATE TABLESPACE OrclTBS01 DATAFILE C:oracleproduct10.2.0oradataorclOrclTBS01.dbf SIZE 50M EXTENT MANAGEMENT LOCAL AUTOALLOCATE; 表空间已创建。创建表空间 【例】在创建表空间OrclTBS02时,指定其最小区间为128KB,代码如下:SQL CREATE TABLESPACE OrclTBS02 DATAFILE C:orac

6、leproduct10.2.0oradataorclOrclTBS02.dbf SIZE 30M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;表空间已创建。创建表空间 2大文件表空间【例】在CREATE TABLESPACE语句中运用BIGFILE关键词可以创建大文件表空间,代码如下:SQL CREATE BIGFILE TABLESPACE bigtbs DATAFILE C:oracleproduct10.2.0oradataorclbigtbs.dbf SIZE 10G;表空间已创建。创建表空间3暂时表空间【例】创建暂时表空间tmptbs,代码如下

7、:SQL CREATE TEMPORARY TABLESPACE tmptbs TEMPFILE C:oracleproduct10.2.0oradataorcltmptbs.dbf SIZE 20M REUSE EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M;表空间已创建。创建表空间创建表空间页面 单击此按钮保管输入称号创建大文件表空间设置和修正表空间属性 1重命名表空间【例】将表空间OrclTBS02修正为OrclTBS03,可以运用下面的语句:SQL ALTER TABLESPACE OrclTBS02 RENAME TO OrclTBS03;表空间已更

8、改。 设置和修正表空间属性2本地管理表空间 【例】在ALTER TABLESPACE语句中运用ADD DATAFILE子句,可以在本地管理表空间中添加数据文件,代码如下:SQL ALTER TABLESPACE OrclTBS01 ADD DATAFILE C:oracleproduct10.2.0oradataorclOrclTBS011.dbf SIZE 10M;表空间已更改。 设置和修正表空间属性3大文件表空间【例】修正大文件表空间bigtbs的数据文件大小为4GB,代码如下:SQL ALTER TABLESPACE bigtbs RESIZE 4G;表空间已更改。 设置和修正表空间属性

9、4暂时表空间【例】在暂时表空间tmptbs中添加暂时文件,tmptbs01.dbf,文件大小为20MB,代码如下:SQL ALTER TABLESPACE tmptbs ADD TEMPFILE F:oracleproduct10.2.0oradataorcltmptbs01.dbf SIZE 20M;表空间已更改。 设置和修正表空间属性5设置联机和脱机将数据库的一部分设置为不可访问,而其他部分可以访问。执行脱机表空间备份。在晋级或维护运用程序时,将运用程序及其运用的表暂时设置为不可访问。重命名或重新分配表空间。设置和修正表空间属性ALTER TABLESPACEOFFLINE语句设置表空间为

10、脱机形状 【例】将表空间OrclTBS01设置为脱机形状:SQL ALTER TABLESPACE OrclTBS01 OFFLINE;DBA_TABLESPACES视图查看表空间的形状 SQLSELECT TABLESPACE_NAME,CONTENTS,STATUS FROM DBA_TABLESPACES;ALTER TABLESPACEONLINE语句设置表空间为联机形状。【例】将表空间OrclTBS01设置为联机形状:SQL ALTER TABLESPACE OrclTBS01 ONLINE;设置和修正表空间属性 6设置只读表空间ALTER TABLESPACEREAD ONLY语句

11、设置只读表空间【例】将表空间OrclTBS01设置为只读表空间:SQL ALTER TABLESPACE OrclTBS01 READ ONLY;ALTER TABLESPACEREAD WRITE语句可以将只读表空间设置为可读写形状。【例】将表空间OrclTBS01设置为可读写形状:SQL ALTER TABLESPACE OrclTBS01 READ WRITE;设置和修正表空间属性编辑表空间页面 单击此按钮保管添加、编辑和移去数据文件删除表空间 DROP TABLESPACE语句删除表空间。【例】删除表空间OrclTBS01:SQL DROP TABLESPACE OrclTBS01;表

12、空间已删除。INCLUDING CONTENTS子句可以在删除表空间的同时删除其中的段,例如:SQL DROP TABLESPACE OrclTBS01 INCLUDING CONTENTS;INCLUDING CONTENTS AND DATAFILE子句可以在删除表空间的同时,删除包含的段和数据文件:SQL DROP TABLESPACE OrclTBS03 INCLUDING CONTENTS AND DATAFILES;段和数据块管理 SEGMENT SPACE MANAGEMENT子句可定义段空间管理方式【例】创建自动段管理方式的表空间MyTBS01:SQL CREATE TABLE

13、SPACE OrclTBS01 DATAFILE C:oracleproduct10.2.0oradataorclOrclTBS01.dbf SIZE 30M EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO;【例】创建手动段管理方式的表空间MyTBS01:SQL CREATE TABLESPACE OrclTBS01 DATAFILE C:oracleproduct10.2.0oradataorclOrclTBS01.dbf SIZE 30M EXTENT MANAGEMENT LOCAL AUTOALLOC

14、ATE SEGMENT SPACE MANAGEMENT MANUAL; 段和数据块管理 数据块是Oracle数据库的最小存储单元,在初始化参数DB_BLOCK_SIZE中定义了规范数据块的大小。在创建表空间时,假设不特殊指定,将运用DB_BLOCK_SIZE中定义的数据作为数据块的大小。【例】可以在CREATE TABLESPACE语句中运用BLOCKSIZE子句指定非规范数据块的大小:SQL CREATE TABLESPACE OrclTBS01 DATAFILE F:oracleproduct10.2.0oradataorclOrclTBS01.dbf SIZE 30M EXTENT M

15、ANAGEMENT LOCAL AUTOALLOCATE BLOCKSIZE 8K;新创建的表空间数据块大小为8K。撤销表空间 撤销记录可以用于完成如下功能:当执行ROLLBACK命令时,完成回滚操作。恢复数据库。运用闪回查询分析以前时间点的数据。运用闪回技术从逻辑破坏中恢复数据。初始化参数UNDO_TABLESPACE设置默许的撤销表空间。【例】运用CREATE UNDO TABLESPACE语句创建撤销表空间:SQL CREATE UNDO TABLESPACE undotbs01 DATAFILE C:oracleproduct10.2.0oradataorclundotbs02.dbf

16、 SIZE 2M REUSE;表空间已创建。5.2控制文件管理 创建控制文件 恢复控制文件 删除控制文件 查看控制文件信息 创建控制文件创建初始控制文件创建控制文件 创建控制文件副本1封锁数据库。 2将当前的控制文件复制到其他目录下。3修正初始化参数CONTROL_FILES,添加新的控制文件或者修正原有的控制文件。4重新启动数据库。创建控制文件 创建新的控制文件数据库的控制文件被永久破坏,而且没有对控制文件进展备份。需求修正数据库名。【例】运用CREATE CONTROLFILE语句创建控件:CREATE CONTROLFILE SET DATABASE db_name LOGFILE GR

17、OUP 1 (c:oracleproduct10.2.0oradata db_name redo01_01. log, c:oracleproduct10.2.0oradata db_name redo01 _02.log), RESETLOGS DATAFILEc:oracleproduct10.2.0oradata db_namesystem01.dbf SIZE 3M, c:oracleproduct10.2.0oradata db_namerbs01.dbs SIZE 5M, c:oracleproduct10.2.0oradata db_nameusers01.dbs SIZE 5M

18、, c:oracleproduct10.2.0oradata db_nametemp01.dbs SIZE 5M MAXLOGFILES 50 MAXLOGMEMBERS 3 MAXLOGHISTORY 400 MAXDATAFILES 200 MAXINSTANCES 6 ARCHIVELOG;创建控制文件创建新的控制文件1获取数据库的数据文件和重做日志文件列表。 【例】从视图V$DATAFILE中获取数据文件的信息:SQL SELECT NAME FROM V$DATAFILE;NAME-F:ORACLEPRODUCT10.2.0ORADATAORCLSYSTEM01.DBFF:ORACL

19、EPRODUCT10.2.0ORADATAORCLUNDOTBS01.DBFF:ORACLEPRODUCT10.2.0ORADATAORCLSYSAUX01.DBFF:ORACLEPRODUCT10.2.0ORADATAORCLUSERS01.DBFF:ORACLEPRODUCT10.2.0ORADATAORCLEXAMPLE01.DBF【例】从视图V$LOGFILE中获取日志文件的信息:SQL SELECT MEMBER FROM V$LOGFILE;MEMBER-F:ORACLEPRODUCT10.2.0ORADATAORCLREDO03.LOGF:ORACLEPRODUCT10.2.0O

20、RADATAORCLREDO02.LOGF:ORACLEPRODUCT10.2.0ORADATAORCLREDO01.LOG 创建控制文件2封锁数据库。3备份一切的数据文件和重做日志文件。4运用STARTUP NOMOUNT启动数据库实例。5运用CREATE CONTROLFILE语句创建控制文件。假设需求重命名数据库,那么运用RESETLOGS子句,否那么运用NORESETLOGS子句。6将新的控制文件备份到其他不在线的存储介质中,如U盘、挪动硬盘或磁带等。7根据实践情况修正CONTROL_FILE参数;假设修正了数据库称号,那么还需求修正DB_NAME参数。8假设需求的话,那么恢复数据库。

21、9假设在第8步中进展了恢复数据库的操作,那么需求执行ALTER DATABASE OPEN语句翻开数据库。假设在创建控制文件时运用了RESETLOGS子句,那么需求运用ALTER DATABASE OPEN RESETLOGS语句。恢复控制文件 假设控制文件被破坏,但存储控制文件的目录依然是可访问:封锁数据库实例;运用操作系统命令将控制文件副本复制到控制文件目录下;运用STARTUP命令翻开数据库实例。假设存储介质被破坏,导致存储控制文件的目录无法访问:封锁数据库实例;运用操作系统命令将控制文件副本复制到一个新的可以访问的目录下;修正CONTROL_FILES参数,将无效的控制文件目录修正为新

22、的目录;运用STARTUP命令翻开数据库实例。删除控制文件 1封锁数据库。2编辑CONTROL_FILES参数的值,删除指定的控制文件信息。3重新启动数据库。查看控制文件信息 与控制文件相关的视图 视 图 名说 明V$DATABASE显示控制文件中描述的数据库信息V$CONTROLFILE显示控制文件的名称列表V$CONTROLFILE_RECORD_SECTION显示控制文件的记录信息V$PARAMETER显示初始化参数CONTROL_FILES中定义的控制文件名称查看控制文件信息【例】从视图V$DATABASE中查询数据库编号、数据库称号和日志方式等信息:SQL SELECT DBID,

23、NAME, LOG_MODE FROM V$DATABASE; DBID NAME LOG_MODE - - - 1140083184ORCLNOARCHIVELOG【例】从视图V$CONTROLFILE_RECORD_SECTION中查询到控制文件的记录类型、记录大小、记录总数量、运用记录数量等信息:SQL SELECT TYPE,RECORD_SIZE,RECORDS_TOTAL,RECORDS_USED FROM V$CONTROLFILE_ RECORD_SECTION;TYPE RECORD_SIZE RECORDS_TOTALRECORDS_USED- - -DATABASE 31

24、6 11CKPT PROGRESS 8180 110REDO THREAD 256 81REDO LOG 72 163DATAFILE 42810055.3重做日志管理 重做日志的根本概念 查看重做日志信息 创建重做日志组和成员 重命名重做日志成员 删除重做日志组和成员 清空重做日志文件 重做日志的根本概念 LGWR写入重做日志的过程 重做日志的根本概念重做日志的多元性 重做日志的根本概念LGWR对重做日志文件无效的呼应 情 况LGWR的动作LGWR可以写入组中的至少一个成员文件正常完成写操作。LGWR写入组中可访问的成员文件,忽略不可访问的成员文件在日志切换时,LGWR无法访问下一个组,因为

25、该组需要被归档临时停止数据库操作,等待该组可以被访问或该组已经被归档在日志切换时,由于介质被破坏,下一组的所有成员都无法被访问Oracle数据库返回错误,数据库实例被关闭。此时,需要从有效的重做日志文件中执行介质恢复操作。数据库恢复操作请参照第8章理解。如果数据库的检查点已经超出了丢失的重做日志,则不需要进行介质恢复了,因为重做日志中记录的数据写入到数据文件中。现在只需要删除无效的重做日志组。如果数据库还没有对失效的日志进行归档操作,则执行ALTER DATABASE CLEAR UNARCHIVED LOG禁止归档操作,这样就可以删除日志文件了当LGWR写入时,所有组中的成员文件都突然无法访

26、问Oracle数据库返回错误,数据库实例被关闭。此时,需要从有效的重做日志文件中执行介质恢复操作。如果介质没有被破坏,只是不小心掉线了,则不需要执行介质恢复,只要将介质恢复在线,然后让数据库执行自动实例恢复即可查看重做日志信息 重做日志组管理页面 单击此按钮创建重做日志组查看重做日志信息 查看重做日志组页面 查看重做日志信息【例】查询视图V$LOG,显示控制文件中重做日志文件的信息:SQL SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG; GROUP# ARC STATUS- - - 1 NO INACTIVE 2 NO CURRENT 3 NO INAC

27、TIVE 4 NO INACTIVE 10 NO INACTIVE【例】查询视图V$LOGFILE,显示重做日志组及其成员的根本信息:SQL SELECT GROUP#,STATUS,MEMBER FROM V$LOGFILE;GROUP# STATUS MEMBER- - -3 STALE F:ORACLEPRODUCT10.2.0ORADATAORCLREDO03.LOG2 F:ORACLEPRODUCT10.2.0ORADATAORCLREDO02.LOG1 F:ORACLEPRODUCT10.2.0ORADATAORCLREDO01.LOG4 STALE F:ORACLEPRODUCT

28、10.2.0DB_2DATABASELOG1C.RDO4 STALE F:ORACLEPRODUCT10.2.0DB_2DATABASELOG2C.RDO2 F:ORACLEPRODUCT10.2.0DB_2DATABASELOG3A.ODO已选择6行。创建重做日志组和成员 创建重做日志组 单击此按钮保管添加、编辑和移去重做日志成员编辑组号和文件大小创建重做日志组和成员 ALTER DATABASE语句创建重做日志组 【例】在ALTER DATABASE语句中运用ADD LOGFILE子句也可以创建重做日志组:ALTER DATABASE ADD LOGFILE (log1c.rdo, log

29、2c.rdo) SIZE 5000k;【例】在运用ALTER DATABASE语句创建重做日志组时,可以运用GROUP子句定义组编号:ALTER DATABASE ADD LOGFILE GROUP 10 (log1a.rdo, log2a.rdo) SIZE 5000k;创建重做日志组和成员 创建重做日志成员 【例】在ALTER DATABASE语句中运用ADD LOGFILE MEMBER关键字,可以向已存在的重做日志组中添加成员:ALTER DATABASE ADD LOGFILE MEMBER log3a.odo TO GROUP 10;重命名重做日志成员 用户必需拥有如下权限:ALT

30、ER DATABASE系统权限。复制文件到指定位置的操作系统权限。翻开和备份数据库的权限。1运用SHUTDOWN命令封锁数据库。2将重做日志文件复制到新的位置。3运用STARTUP MOUNT命令装载数据库。4运用带RENAME FILE子句的ALTER DATABASE语句重命名数据库的重做日志文件,例如:ALTER DATABASE RENAME FILE /diska/logs/log1a.rdo, /diska/logs/log2a.rdoTO /diskc/logs/log1c.rdo, /diskc/logs/log2c.rdo;5运用ALTER DATABASE OPEN命令翻开

31、数据库。删除重做日志组和成员 1删除重做日志组 DROP LOGFILE子句也可以删除指定的重做日志组。【例】删除编号为10的重做日志组:SQL ALTER DATABASE DROP LOGFILE GROUP 10;数据库已更改。删除重做日志组和成员2删除重做日志成员 DROP LOGFILE MEMBER子句也可以删除指定的重做日志组。 【例】删除重做日志组log1a.rdo:SQL ALTER DATABASE DROP LOGFILE MEMBER log1a.rdo;数据库已更改。清空重做日志文件 ALTER DATABASE CLEAR LOGFILE命令初始化此日志文件。执行此命令时,不需求封锁数据库。【例】清空编号为10的重做日志组:ALTER DATABASE CLEAR LOGFILE GR

温馨提示

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

评论

0/150

提交评论