TP5-1 日志文件管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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. 备份控制文件。
第五章 日志文件管理
日志文件用于记录数据库改变的信息。 在 SGA 区中重做日志缓冲区的数据由 LGWR 进程 来写到日志文件中。 一般在数据库建立后,至少有两个或三个日志 文件。 正常下有三个日志文件都在工作。工作的顺序 是:LGWR首先将数据到第一个,当第一个写满 后接着写第二个,第二个写满后,开始写第三 个。当第三个写满后,重新开始写第一个。
日志文件的切换_日志查询
查日志文件大小
SQL> select group#,bytes from v$log;
查看日志检查点数目
SQL> show log_checkpoint_interval
parameter
5.2 建立多个日志文件
可以在Oracle内建立多个组,每个组包括一个 或多个日志文件(每个日志文件由Oracle给出 一个组编号)
5.2 建立多个日志文件——创建日 志
5.2 建立多个日志文件—创建日志
例 4 :在一个组内加新成员,不用给出大小, 系统自动按照组内的大小分配: ALTER DATABASE ADD LOGFILE MEMBER
'/ora04/oradata/mydb01/redo0403.log' TO GROUP 2 ;
5.1 日志切换
当一个当前的日志完全填满且下一个必须写时, 日志切换总是必须出现。 强行的日志切换
Hale Waihona Puke Baidu
Alter system switch logfile;
5.1 日志切换__检查点
Oracle为了在出现故障后能退回去重演原来的 信息,就需要一个叫开始点。在这个开始点时 刻,数据和事务是已知的。 在Oracle里,只要检查点一到(出现)。 Oracle就强行将当前的SGA中的redo区的改动 过的块写入重做日志文件中。
5.4 删除重做日志文件——删除 条件
1. 2. 3.
删除一个日志组后,系统中至少还有两个其 它的日志组; 被删除的日志组必须是不需要存档; 不是正在使用的日志组。
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;
每个组太多的日志文件会影响系统性能。
5.2 建立多个日志文件——建立日 志
建立组内多个日志文件的语法: ALTER DATABASE [database_name] ADD LOGFILE [ GROUP [group_number] ] ( filename ,filename[,...] ) [SIZE size_integer[K | M ] ] [ REUSE ]
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.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;
5.2 建立多个日志文件——创建日 志
例2:建立一个新组3,组内有两个成员: ALTER DATABASE ADD LOGFILE GROUP 3 ('/ora02/oradata/mydb01/redo0301.log', '/ora03/oradata/mydb01/redo0402.log') size 10m;
5.4 删除重做日志文件——日志 查询
V$LOGFILE V$LOG V$THREAD V$LOG_HISTORY
5.4 删除重做日志文件
删除一个组3: ALTER DATABASE DROP LOGFILE GROUP 3; 删除一个成员: ALTER DATABASE DROP LOGFILE MEMBER '/orant/oradata'mydb02'redo02.log' ;
例 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;
5.4 删除重做日志文件——替 换日志文件 当一个重做日志组偶而被损坏使数据库不能继
续使用时,不能直接删除它们,而是要用一个 干净的文件或一组成员去替代这个损坏的日志 组。 ALTER DATABASE database_name CLEAR[UNARCHIVED] LOGFILE group_identifier [UNRECOVERABLE DATAFILE] 如果该文件正在等待存档 ( 归档模式 ) ,就需要 UNARCHIVED。 如果需要脱机恢复一个数据文件,就用 UNRECOVERABLE DATAFILE。