1 / 17

第五章 日志文件管理

第五章 日志文件管理. 日志文件用于记录数据库改变的信息。 在 SGA 区中重做日志缓冲区的数据由 LGWR 进程来写到日志文件中。 一般在数据库建立后,至少有两个或三个日志文件。 正常下有三个日志文件都在工作。工作的顺序是: LGWR 首先将数据到第一个,当第一个写满后接着写第二个,第二个写满后,开始写第三个。当第三个写满后,重新开始写第一个。. 5.1 日志切换. 当一个当前的日志完全填满且下一个必须写时,日志切换总是必须出现。 强行的日志切换 Alter system switch logfile;. 5.1 日志切换 __ 检查点.

ashby
Download Presentation

第五章 日志文件管理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第五章 日志文件管理 • 日志文件用于记录数据库改变的信息。 • 在SGA区中重做日志缓冲区的数据由LGWR进程来写到日志文件中。 • 一般在数据库建立后,至少有两个或三个日志文件。 • 正常下有三个日志文件都在工作。工作的顺序是:LGWR首先将数据到第一个,当第一个写满后接着写第二个,第二个写满后,开始写第三个。当第三个写满后,重新开始写第一个。 辽宁工程技术大学 软件工程系

  2. 5.1 日志切换 • 当一个当前的日志完全填满且下一个必须写时,日志切换总是必须出现。 • 强行的日志切换 • Alter system switch logfile; 辽宁工程技术大学 软件工程系

  3. 5.1 日志切换__检查点 • Oracle为了在出现故障后能退回去重演原来的信息,就需要一个叫开始点。在这个开始点时刻,数据和事务是已知的。 • 在Oracle里,只要检查点一到(出现)。Oracle就强行将当前的SGA中的redo区的改动过的块写入重做日志文件中。 辽宁工程技术大学 软件工程系

  4. 5.1 日志切换__检查点 • Oracle在INITsid.ORA文件中给出LOG_CHECKPOINT_INTERVAL参数可以设置检测点的数目 • 日志文件大小为1000块,而设置检查点间隔LOG_CHECKPOINT_INTERVAL为250,则文件写达到 1/4、2/4、3/4及4/4时产生检测点(250块、500块、750块和1000块处)。 辽宁工程技术大学 软件工程系

  5. 日志文件的切换_日志查询 • 查日志文件大小 • SQL> select group#,bytes from v$log; • 查看日志检查点数目 • SQL> show parameter log_checkpoint_interval 辽宁工程技术大学 软件工程系

  6. 5.2 建立多个日志文件 • 可以在Oracle内建立多个组,每个组包括一个或多个日志文件(每个日志文件由Oracle给出一个组编号) • 每个组太多的日志文件会影响系统性能。 辽宁工程技术大学 软件工程系

  7. 5.2 建立多个日志文件——建立日志 • 建立组内多个日志文件的语法: • ALTER DATABASE [database_name] • ADD LOGFILE [ GROUP [group_number] ] • (filename ,filename[,...] ) • [SIZE size_integer[K | M ] ] [ REUSE ] 辽宁工程技术大学 软件工程系

  8. 5.2 建立多个日志文件——创建日志 • ALTER DATABASE ADD LOGFILE GROUP 6 • (E:\DATABASE\log6a.ora,F:\DATABASE\log6b.ora) size 10m; • ALTER DATABASE ADD LOGFILE GROUP 5 • (E:\DATABASE\log5a.ora,F:\DATABASE\log5b.ora) REUSE; 辽宁工程技术大学 软件工程系

  9. 5.2 建立多个日志文件——创建日志 • 例2:建立一个新组3,组内有两个成员: • ALTER DATABASE ADD LOGFILE • GROUP 3 • ('/ora02/oradata/mydb01/redo0301.log', '/ora03/oradata/mydb01/redo0402.log') • size 10m; 辽宁工程技术大学 软件工程系

  10. 5.2 建立多个日志文件——创建日志 • 例3:建立一个新组,如果省去GROUP 3 , Oracle就自动分配一新的有效的组号: • ALTER DATABASE ADD LOGFILE • ('/ora02/oradata/mydb01/redo0301.log', '/ora03/oradata/mydb01/redo0402.log') size 10m; • ALTER DATABASE ADD LOGFILE • ('D:\ORACLE\ORADATA\ORA816\REDO41.log', 'D:\ORACLE\ORADATA\ORA816\REDO42.log') size 1m; 辽宁工程技术大学 软件工程系

  11. 5.2 建立多个日志文件——创建日志 • 例4:在一个组内加新成员,不用给出大小,系统自动按照组内的大小分配: • ALTER DATABASE ADD LOGFILE MEMBER • '/ora04/oradata/mydb01/redo0403.log' TO GROUP 2 ; 辽宁工程技术大学 软件工程系

  12. 5.3 重新命名日志成员名字 • 1. 关闭数据库,并进行完全备份; • 2. 使用操作系统命令拷贝原来的日志文件到新的地方; • 3. 用startup mount 启动数据库; • 4.用ALTER DATABASE RENAME FILE '<old_redo_file_name>' TO '<new_redo_file_name>'; • 5. 用ALTER DATABASE OPEN 打开数据库; • 6. 备份控制文件。 辽宁工程技术大学 软件工程系

  13. 5.4 删除重做日志文件——删除条件 • 删除一个日志组后,系统中至少还有两个其它的日志组; • 被删除的日志组必须是不需要存档; • 不是正在使用的日志组。 辽宁工程技术大学 软件工程系

  14. 5.4 删除重做日志文件 • 删除日志文件的语法: • ALTER DATABASE database_name • DROP LOGFILE • GROUP group_number | file_name | (file_name,file_name(,...) ) • 删除日志成员的语法: • ALTER DATABASE database_name • DROP LOGFILE MEMBER file_name; 辽宁工程技术大学 软件工程系

  15. 5.4 删除重做日志文件——替换日志文件 • 当一个重做日志组偶而被损坏使数据库不能继续使用时,不能直接删除它们,而是要用一个干净的文件或一组成员去替代这个损坏的日志组。 • ALTER DATABASE database_name • CLEAR[UNARCHIVED] LOGFILE group_identifier • [UNRECOVERABLE DATAFILE] • 如果该文件正在等待存档(归档模式),就需要UNARCHIVED。 • 如果需要脱机恢复一个数据文件,就用UNRECOVERABLE DATAFILE。 辽宁工程技术大学 软件工程系

  16. 5.4 删除重做日志文件——日志查询 • V$LOGFILE • V$LOG • V$THREAD • V$LOG_HISTORY 辽宁工程技术大学 软件工程系

  17. 5.4 删除重做日志文件 • 删除一个组3: • ALTER DATABASE DROP LOGFILE GROUP 3; • 删除一个成员: • ALTER DATABASE DROP LOGFILE MEMBER • '/orant/oradata'mydb02'redo02.log' ; 辽宁工程技术大学 软件工程系

More Related