《数据库存储管理》PPT课件.ppt_第1页
《数据库存储管理》PPT课件.ppt_第2页
《数据库存储管理》PPT课件.ppt_第3页
《数据库存储管理》PPT课件.ppt_第4页
《数据库存储管理》PPT课件.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

第5章 数据库存储管理,对象的管理,图形工具,EM,OEM,命令,查看、创建、修改和删除,查看、创建、修改和删除,Review,第5章 数据库存储管理,Review创建表空间,创建表空间的语法格式如下: CREATE BIGFILE|SMALLFILE|UNDO|TEMPORARY TABLESPACE DATAFILE |TEMPFILE数据文件名称和位置 SIZE REUSE EXTENT MANAGEMENT LOCAL|DICTIONARY AUTOALLOCATE|UNIFORM SIZE SEGMENT SPACE MANAGEMENT AUTO|MANUAL BLOCKSIZE ,第5章 数据库存储管理,Review设置和修改表空间属性,ALTER TABLESPACE RENAME TO |ADD DATAFILE|ADD TEMPFILE |OFFLINE|ONLINE |READ ONLY|READ WRITE |RESIZE ,第5章 数据库存储管理,Review删除表空间,DROP TABLESPACE语句删除表空间。 【例】删除空的表空间OrclTBS01: SQL DROP TABLESPACE OrclTBS01; 表空间已删除。 INCLUDING CONTENTS子句可以在删除表空间的同时删除其中的段,例如: SQL DROP TABLESPACE OrclTBS01 INCLUDING CONTENTS; INCLUDING CONTENTS AND DATAFILES子句可以在删除表空间的同时,删除包含的段和数据文件: SQL DROP TABLESPACE OrclTBS03 INCLUDING CONTENTS AND DATAFILES;,删除非空表空间,删除操作系统级的文件,该语句只会从数据字典中删除表空间信息,相关的数据文件依然在磁盘上。,第5章 数据库存储管理,本章知识点,5.1 表空间管理 5.2 控制文件管理 5.3 重做日志管理 5.4 归档日志管理,第5章 数据库存储管理,5.2 控制文件管理,查看控制文件信息 创建控制文件 恢复控制文件 删除控制文件,第5章 数据库存储管理,查看控制文件信息,与控制文件相关的视图,第5章 数据库存储管理,查看控制文件信息,【例】从视图V$DATABASE中查询数据库编号、数据库名称和日志模式、控制文件的创建日期等信息: SQL SELECT DBID, NAME, LOG_MODE,CONTROLFILE_CREATED FROM V$DATABASE; 【例】从视图V$CONTROLFILE_RECORD_SECTION中查询到控制文件的记录类型、记录大小、记录总数量、使用记录数量等信息: SQL SELECT TYPE,RECORD_SIZE,RECORDS_TOTAL,RECORDS_USED FROM V$CONTROLFILE_RECORD_SECTION; TYPE RECORD_SIZE RECORDS_TOTAL RECORDS_USED - - - - DATABASE 316 1 1 CKPT PROGRESS 8180 11 0 REDO THREAD 256 8 1 REDO LOG 72 16 3 DATAFILE 428 100 5,第5章 数据库存储管理,控制文件,控制文件可以包含以下信息: 数据库名称; 相关数据文件和重做日志文件的名称和位置; 数据库创建的时间戳; 当前的日志序列号; 检查点信息;,当数据库打开时,Oracle数据库服务器必须可以写控制文件。没有控制文件,数据库将无法装载,恢复数据库也很困难。,第5章 数据库存储管理,控制文件,第5章 数据库存储管理,创建控制文件查看控制文件名称和位置,查看初始控制文件名称,Select name,value from v$parameter where name=control_files;,第5章 数据库存储管理,创建控制文件副本 (1)关闭数据库。 (2)将当前的控制文件复制到其他目录下。,创建控制文件创建控制文件副本,第5章 数据库存储管理,创建新的控制文件,创建新的控制文件 数据库的控制文件被永久破坏,而且没有对控制文件进行备份。 需要修改数据库名。 【例】使用CREATE CONTROLFILE语句创建控制文件:,第5章 数据库存储管理,CREATE CONTROLFILE reuse DATABASE “test“ LOGFILE GROUP 1 c:oracleproduct10.2.0oradatatestredo01.log size 50M, GROUP 2 c:oracleproduct10.2.0oradatatestredo02.log size 50M, GROUP 3 c:oracleproduct10.2.0oradatatestredo03.log size 50M NORESETLOGS NOARCHIVELOG DATAFILE c:oracleproduct10.2.0oradatatestsystem01.dbf, c:oracleproduct10.2.0oradatatestsysaux01.dbf , c:oracleproduct10.2.0oradatatestundotbs01.dbf, c:oracleproduct10.2.0oradatatestusers01.dbf MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXLOGHISTORY 292 MAXDATAFILES 100 MAXINSTANCES 8 CHARACTER SET ZHS16GBK;,第5章 数据库存储管理,创建新的控制文件,(1)获取数据库的数据文件和重做日志文件列表。 【例】从视图V$DATAFILE中获取数据文件的信息: SQL SELECT NAME FROM V$DATAFILE; NAME - C:ORACLEPRODUCT10.2.0ORADATAORCLSYSTEM01.DBF C:ORACLEPRODUCT10.2.0ORADATAORCLUNDOTBS01.DBF C:ORACLEPRODUCT10.2.0ORADATAORCLSYSAUX01.DBF C:ORACLEPRODUCT10.2.0ORADATAORCLUSERS01.DBF C:ORACLEPRODUCT10.2.0ORADATAORCLEXAMPLE01.DBF 【例】从视图V$LOGFILE中获取日志文件的信息: SQL SELECT MEMBER FROM V$LOGFILE; MEMBER - C:ORACLEPRODUCT10.2.0ORADATAORCLREDO03.LOG C:ORACLEPRODUCT10.2.0ORADATAORCLREDO02.LOG C:ORACLEPRODUCT10.2.0ORADATAORCLREDO01.LOG,第5章 数据库存储管理,创建新的控制文件,(2)关闭数据库。 SHUTDOWN IMMEDIATE (3)备份所有的数据文件、重做日志文件和SPFILE参数文件。 (4)使用STARTUP NOMOUNT启动数据库实例。 (5)使用CREATE CONTROLFILE语句创建控制文件。如果需要重命名数据库,则使用RESETLOGS子句,否则使用NORESETLOGS子句。 (6)将新的控制文件备份到其他不在线的存储介质中,如U盘、移动硬盘或磁带等。 (7)根据实际情况修改CONTROL_FILE参数;如果修改了数据库名称,则还需要修改DB_NAME参数。 (8)如果需要的话,则恢复数据库。 (9)如果在第8步中进行了恢复数据库的操作,则需要执行ALTER DATABASE OPEN语句打开数据库。如果在创建控制文件时使用了RESETLOGS子句,则需要使用ALTER DATABASE OPEN RESETLOGS语句。,演示test数据库控制文件被破坏时,重新建立的例子,第5章 数据库存储管理,恢复控制文件,如果控制文件被破坏,但存储控制文件的目录仍然是可访问: 关闭数据库实例; 使用操作系统命令将控制文件副本复制到控制文件目录下; 使用STARTUP命令打开数据库实例。 如果存储介质被破坏,导致存储控制文件的目录无法访问: 关闭数据库实例; 使用操作系统命令将控制文件副本复制到一个新的可以访问的目录下; 修改CONTROL_FILES参数,将无效的控制文件目录修改为新的目录; 使用STARTUP命令打开数据库实例。,第5章 数据库存储管理,删除控制文件 链接,(1)关闭数据库。 (2)编辑CONTROL_FILES参数的值,删除指定的控制文件信息。 (3)重新启动数据库。,第5章 数据库存储管理,本章知识点,5.1 表空间管理 5.2 控制文件管理 5.3 重做日志管理 5.4 归档日志管理,第5章 数据库存储管理,5.3 重做日志管理,重做日志的基本概念 查看重做日志信息 创建重做日志组和成员 重命名重做日志成员 删除重做日志组和成员 清空重做日志文件,第5章 数据库存储管理,重做日志的基本概念,重做日志文件由重做记录组成,而每个重做记录由一组变化元素组成,变化元素中记录了数据库中每个单独的数据块的变化情况。 可以使用重做记录来恢复数据库的变化,保护回滚数据。当使用重做数据恢复数据库时,数据库将从重做记录中读取变化元素,然后将变化应用到相关的数据块中。,第5章 数据库存储管理,重做日志的基本概念,LGWR写入重做日志的过程,在线重做日 志文件#1,在线重做日 志文件#2,在线重做日 志文件#3,重用,LGWR,如果重做日志文件已经被填满了,则LGWR将变化数据写入下一个重做日志文件; 如果最后一个有效的重做日志文件被填充满了,则LGWR将变化数据写入第一个重做日志文件;,第5章 数据库存储管理,重做日志的基本概念,多路复用重做日志 系统在不同的位置上自动维护重做日志的两个或更多副本。从安全角度出发,这些副本的保存位置应该在不同的磁盘上。,A_LOG1,A_LOG2,B_LOG1,B_LOG2,磁盘A,磁盘B,LGWR,1,3,5,2,4,6,组1,组2,第5章 数据库存储管理,重做日志的基本概念,LGWR对重做日志文件无效时的响应,第5章 数据库存储管理,查看重做日志信息,重做日志组管理页面,第5章 数据库存储管理,查看重做日志信息,查看重做日志组页面,第5章 数据库存储管理,查看重做日志信息,【例】查询视图V$LOG,显示控制文件中重做日志文件的信息: SQL SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG; GROUP# ARC STATUS - - - 1 NO INACTIVE 2 NO CURRENT 3 NO INACTIVE 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.LOG 2 F:ORACLEPRODUCT10.2.0ORADATAORCLREDO02.LOG 1 F:ORACLEPRODUCT10.2.0ORADATAORCLREDO01.LOG 4 STALE F:ORACLEPRODUCT10.2.0DB_2DATABASELOG1C.RDO 4 STALE F:ORACLEPRODUCT10.2.0DB_2DATABASELOG2C.RDO 2 F:ORACLEPRODUCT10.2.0DB_2DATABASELOG3A.ODO 已选择6行。,第5章 数据库存储管理,创建重做日志组和成员,创建重做日志组,第5章 数据库存储管理,创建重做日志组和成员,ALTER DATABASE语句创建重做日志组 【例】在ALTER DATABASE语句中使用ADD LOGFILE子句也可以创建重做日志组: ALTER DATABASE ADD LOGFILE (log1c.log, log2c.log) SIZE 5000k; 【例】在使用ALTER DATABASE语句创建重做日志组时,可以使用GROUP子句定义组编号: ALTER DATABASE ADD LOGFILE GROUP 10 (C:oracleproduct10.2.0oradatastudblog1a.log, C:oracleproduct10.2.0oradatastudblog2a.log) SIZE 5000k;,自动生成一日志组,并添加该日志文件,未指定目录时,会在DB_1database目录下创建日志文件,第5章 数据库存储管理,创建重做日志组和成员,创建重做日志成员 【例】在ALTER DATABASE语句中使用ADD LOGFILE MEMBER关键字,可以向已存在的重做日志组中添加成员: ALTER DATABASE ADD LOGFILE MEMBER C:oracleproduct10.2.0oradatastudblog3a.log TO GROUP 10;,注意:最好在添加日志文件时注明其位置,第5章 数据库存储管理,重命名重做日志成员,用户必须拥有如下权限: ALTER DATABASE系统权限。 复制文件到指定位置的操作系统权限。 打开和备份数据库的权限。 (1)使用SHUTDOWN命令关闭数据库。 (2)将重做日志文件复制到新的位置。 (3)使用STARTUP MOUNT命令装载数据库。 (4)使用带RENAME FILE子句的ALTER DATABASE语句重命名数据库的重做日志文件,例如: ALTER DATABASE RENAME FILE /diska/logs/log1a.log, /diska/logs/log2a.log TO /diskc/logs/log1c.log, /diskc/logs/log2c.log; (5)使用ALTER DATABASE OPEN命令打开数据库。,第5章 数据库存储管理,删除重做日志组和成员,(1)删除重做日志组 DROP LOGFILE子句也可以删除指定的重做日志组。 【例】删除编号为10的重做日志组: SQL ALTER DATABASE DROP LOGFILE GROUP 10; 数据库已更改。,只是逻辑删除,还需手动删除磁盘上的文件,第5章 数据库存储管理,删除重做日志组和成员,(2)删除重做日志成员 DROP LOGFILE MEMBER子句也可以删除指定的重做日志组。 【例】删除重做日志组log1a.log: SQL ALTER DATABASE DROP LOGFILE MEMBER C:ORACLEPRODUCT10.2.0DB_1DATABASElog2c.log; 数据库已更改。,注意:注明日志文件的位置,第5章 数据库存储管理,清空重做日志文件,ALTER DATABASE CLEAR LOGFILE命令初始化此日志文件。执行此命令时,不需要关闭数据库。 【例】清空编号为10的重做日志组: ALTER DATABASE CLEAR LOGFILE GROUP 10; 如果要删除未归档的重做日志组,则可以在语句中使用UNARCHIVED关键字: ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 10;,第5章 数据库存储管理,本章知识点,5.1 表空间管理 5.2 控制文件管理 5.3 重做日志管理 5.4 归档日志管理,第5章 数据库存储管理,5.4 归档日志管理,归档日志文件和归档模式 管理归档模式 指定归档目的地 查看归档日志信息,第5章 数据库存储管理,归档日志文件和归档模式,Oracle数据库允许将被填充满的重做日志文件组保存到一个或多个离线的位置,这叫做归档重做日志,简称归档日志。 将重做日志文件转换为归档重做日志文件的过程叫做归档,此过程只能在ARCHIVELOG模式下数据库中进行。 如果设置了自动归档模式,则后台进程ARCn将自动地执行归档操作。数据库会启动多个归档进程,确保一旦日志文件被填满马上就会被归档。,第5章 数据库存储管理,归档日志文件和归档模式,自动归档日志的过程,第5章 数据库存储管理,管理归档模式,1. 设置数据库的初始归档模式。 2. 改变数据库的归档模式。 3. 执行手动归档。 4. 调整归档进程的数量。,第5章 数据库存储管理,指定归档目的地,(1)使用SHUTDOWN命令关闭数据库。 (2)设置初始化参数LOG_ARCHIVE_DEST_n,使用LOCATION关键词设置位置信息,如果要将归档目的地指定到备用数据库,则可以使用SERVICE设置有效的网络服务名。 (3)可以编辑初始化参数LOG_ARCHIVE_FORMAT,设置归档文件的初始化模式。,第5章 数据库存储管理,查看归档日志信息,归档日志管理页面,第5章 数据库存储管理,查看归档日志信息,查看归档日志页面,第5章 数据库存储管理,查看归档日志信息,与归档日志相关的视图,第5章 数据库存储管理,查看归档日志信息,【例】使用SQL语句查看到归档日志进程的信息: SQL SELECT * FROM V$ARCHIVE_PROCESSES; SQL select * from v$archive_processes; PROCESS STATUS

温馨提示

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

最新文档

评论

0/150

提交评论