oracle数据库之联机日志文件管理

2023年 9月 25日 15.7k 0

联机日志文件管理
作用:

主要用来记录对数据库的改变,防止数据丢失。

为了数据库操作快速反应。

维护数据一致性。

1、查看当前数据库的日志
select * from v$log;

2、查看当前书库库日志文件位置
Select * from v$logfile;

日志状态:
unused:表示从未对联机重做日志文件组进行写入,这是刚添加联机重做日志组状态。
current:表示当前正在使用的联机重做日志文件组。

active:表示联机重做日志文件组是活动的,但不是当前正在使用的。崩溃恢复需要该状态,可能归档,也可能没有归档。

clearing:表示执行alter database clear logfile后正在将该日志重建一个空日志,日志清除后,状态为unused。

3、添加日志成员
Alter database add logfie member ‘/ora/oracle.oradata/orcl/redo1.log’ to group 1;

SQL> select * from v$logfile where group#=1;

4、删除日志成员
SQL> alter database drop logfile member ‘/ora/oracle/oradata/orcl/redo1.log’;

5、日志切换
alter system switch logfile;

6.日志的重定位及重命名
SQL> ho cp /ora/oracle/oradata/orcl/redo01.log /ora/oracle/oradata/redo01.rdo

SQL> alter database rename file ‘/ora/oracle/oradata/orcl/redo01.log’

2 TO ‘/ora/oracle/oradata/redo01.rdo’;

Database altered.

SQL> select * from v$logfile where group#=1;

7.清空日志文件组
SQL> alter database clear logfile group 3;

SQL> select * from v$log;

8.联机重做日志异常(日志不一致、丢失、损坏)处理
1. *日志文件不一致*:清空不一致日志组,oracle数据库一致性关闭的可以在启动时清空日志文件。

SQL> alter database clear logfile group n; —>inactive可清空

SQL> alter database clear unarchived logfile group n; ---->active可清空

2. *日志文件丢失*:

方法一:数据库一致性关闭的,如果日志文件丢失可以通过清空日志文件的办法恢复,步骤同上。

方法二:数据库非一致性关闭

a. 加隐藏参数:同control_file里的_allow_resetlog_corruption隐藏参数解决问题。

b. 如果归档模式可以通过recover指令恢复:欺骗的手段

sql>recover database using backup controlfile;

sql>alter database open resetlogs;

b. 如果归档模式可以通过recover指令恢复:欺骗的手段

sql>recover database using backup controlfile;

sql>alter database open resetlogs;

c. 非归档模式下,加隐藏参数忽略数据库一致性,可以起到很大的作用,但不支持使用。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论