什么是oracle 日志文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是oracle 日志文件相关的知识,希望对你有一定的参考价值。

oracle的日志文件是记录数据库变化的一个凭证. oracle的文件可以分为 数据文件、控制文件和重做日志文件(也就是咱们平时说的redo), oracle的日志文件时分组存放的, 一个oracle数据库最少使用3个日志文件存放这些信息, 以防写满之后的溢出, 为了防止数据库的灾难性宕机, 日志文件可以提供一个支持, 可以把数据库恢复到宕机之前的某个时间点, 我们也经常对日志文件做一些操作, 常用的操作如下:
1.查询系统使用的是哪一组日志文件:
select * from v$log;

2.查询正在使用的组所对应的日志文件:
select * from v$logfile;

3.强制日志切换:
alter system switch logfile;

4.查询历史日志:
select * from v$log_history;

5.查询日志的归档模式:
select dbid,name,created,log_mode from v$database;

6.查询归档日志的信息:
select recid,stamp,thread#,sequence#,name from v$archived_log;

7.增加与删除日志文件组
alter database add logfile group 1 ('/home1/oracle/oradata/ora8i/log1a.log'),'/home2/oracle/oradata/ora8i/log1b.log') size 100M;

alter database drop logfile group 1;

8.增加与删除日志成员
alter database add logfile member '/home1/oracle/oradata/ora8i/log1a.log' to group 1,'/home1/oracle/oradata/ora8i/log2a.log' to group 2;

alter database drop logfile member '/home1/oracle/oradata/ora8i/log1a.log' ;

9.日志文件移动
alter database rename file '/home1/oracle/oradata/ora8i/log1a.log' to '/home2/oracle/oradata/ora8i/log1a.log';
执行该命令之前必须保证该日志文件物理上已经移动到新目录

10.清除日志文件
alter database clear logfile '/home1/oracle/oradata/ora8i/log1a.log';
该命令不能用删除组及组成员命令删除日志时使用
参考技术A 就是ORACLE 对于一切数据库的操作的记录 方便以后查找分析错误。有可以恢复数据等作用。
Oracle日志文件
1.查询系统使用的是哪一组日志文件:
select * from v$log;

2.查询正在使用的组所对应的日志文件:
select * from v$logfile;

3.强制日志切换:
alter system switch logfile;

4.查询历史日志:
select * from v$log_history;

5.查询日志的归档模式:
select dbid,name,created,log_mode from v$database;

6.查询归档日志的信息:
select recid,stamp,thread#,sequence#,name from v$archived_log;

7.增加与删除日志文件组
alter database add logfile group 1 ('/home1/oracle/oradata/ora8i/log1a.log'),'/home2/oracle/oradata/ora8i/log1b.log') size 100M;

alter database drop logfile group 1;

8.增加与删除日志成员
alter database add logfile member '/home1/oracle/oradata/ora8i/log1a.log' to group 1,'/home1/oracle/oradata/ora8i/log2a.log' to group 2;

alter database drop logfile member '/home1/oracle/oradata/ora8i/log1a.log' ;

9.日志文件移动
alter database rename file '/home1/oracle/oradata/ora8i/log1a.log' to '/home2/oracle/oradata/ora8i/log1a.log';
执行该命令之前必须保证该日志文件物理上已经移动到新目录

10.清除日志文件
alter database clear logfile '/home1/oracle/oradata/ora8i/log1a.log';
该命令用于不能用删除组及组成员命令删除日志时使用
参考技术B 日志文件按时间记录数据库发生的重大事件,比如新建表空间,新建用户,数据库启动关闭等等。

oracle之归档日志是个什么鬼?

我们的oracle数据库默认采用的是非归档模式,假如说一共有三个重做日志组,当三个日志组全部写满之后将从第一个日志组开始循环记录,并且第一个日志组中的内容将被彻底覆盖,这样,如果数据库崩溃了,想要恢复很早之前的数据,那就坑比了。

怎么办?

你问我啊,我告诉你。切换数据库日志模式为归档模式就OK了,这样写入日志循环的时候,会先把日志组中的数据写入到归档日志中,然后才会被覆盖。你看,问题解决了吧?


有人可能会问:哎,那究竟什么时候应该采用归档模式呢?

这要看数据库对应的应用系统是什么样的要求了,如果数据绝对不允许丢失则必须使用归档模式。

如果只强调系统的运行效率,至于数据丢失没有那么重要的话,可以采取非归档模式。但是还是建议管理员经常定时的进行数据库完整备份。

切换日志模式:

① 查看日志模式

技术分享


② 关闭数据库,重新启动并加载数据库但不打开数据库

技术分享


③ 改变日志模式

技术分享


④ 打开数据库

技术分享


OK,可以在PLSQL developer工具里通过select log_mode from v$database;语句查看归档模式,也可以通过在SQL*plus里输入archive log list进行查看。

a.

技术分享


b.

技术分享


如果你还想知道点别的,请自行百度吧!

本文出自 “康哥的IT世界” 博客,请务必保留此出处http://zhengkangkang.blog.51cto.com/12015643/1953567

以上是关于什么是oracle 日志文件的主要内容,如果未能解决你的问题,请参考以下文章

oracle日志是明文查看还是密文

深入分析Oracle数据库日志文件(2)

深入分析Oracle数据库日志文件(1)

ORACLE的Job是不是有日志文件,如果有如何查看ORACLE 的Job的日志?

oracle audit,如何审计ORACLE日志

如何查看数据库alert日志文件