Oracle 日志文件管理基础

时间:2021-11-07 08:11:36

归档日志文件的操作

1. 将数据库日志模式由非归档改为归档模式

Startup mount

Alter database archivelog;

2. 查看v$log和v$logfile

Desc v$log,desc v$logfile

 Oracle 日志文件管理基础

Group#表示组别,members表示成员多少,arc表示是否归档保存了,status中current表示当前正在使用的日志文件,不能删除,INACTIVE表示已经归档出去了的日志,可以删除,要想删除当前日志,必须先切换日志(alter system switch logfile),让其归档出去,然后status变成ACTIVE,然后利用检查点来删除(alter system checkpoint,alter database drop logfile member ‘’,或者alter database drop logfile group 1)

3. 增加一个日志文件组4,组中放入一个成员(redo04.log

Alter database add logfile group 4

(‘I:\oracle\product\ 10.2.0 \oradata\orcl\redo04.log’) size 10M ;

 

4.向日志文件组4再增加一个成员(redo 04a .log

Alter database add logfile member ‘…\redo 04a .log’ to group 4;

5. 将redo01.log移动到一个新的地方

(日志文件的移动重命名

  1. 关闭数据库
  2. 使用操作系统命令拷贝,移动或重命名重做日志文件
  3. 启动
  4. 使用alter database rename file ‘original name’ to ‘new name’ 命令更新控制文件
  5. 打开数据库)

Sql>Shutdown immediate

手动移走redo01.log文件

Sql>startup

报错说找不到redo01.log文件

Sql>alter database rename file ‘原路径’ to ‘新路径’

Alter database open;

6.删除日志成员和日志文件组

Alter database drop logfile member ‘路径’;

Alter database drop logfile group 4;

7.设置归档目的地并测试文档

Alter system set log_archive_dest_1=’location:d:\arch’;

每当进行日志切换的时候,日志文件就被备份到归档日志里;

8.日志文件修复

当status为INACTIVE时

SQL>alter database clear logfile group 4;

SQL>alter database clear unarchived logfile group 4;

SQL>shutdown immediate;

SQL>startup mount;

SQL>recover database until cancel;

SQL>alter database open resetlogs;

SQL>archive log list;