oracle日志文件的维护

oracle日志文件的维护

作者:zero_plus

 

 

1、刷新重做日志缓存的时机

     a.commit

     b.缓存满了

     c.checkpointcheckpoint的触发有两种机制:

           定时触发,由log_checkpoint_interval[1]参数决定间隔的时间,单位秒;0表示禁用

           定量触发,由log_checkpoint_timeout[2]参数决定,表示故障恢复所需要的时间,单位秒;0表示禁用。

2、切换日志的归档方式

   a.archive log list (查看日志的日志的归档方式)

   b.startup mount

   c.alter database archivelog/noarchivelog

   d.shutdown immediate ;顺便进行脱机全备份

   e.startup

   f.archive log start 启用自动归档(当前有效)

     alter system set log_archive_start=true scope=spifle;重启后生效

   g.修改log_archive_dest_n,指定归档路径

3、日志切换和检查点

   日志切换触发检查点,检查点会做一下操作:更新数据文件头、更新控制文件头、刷新数据缓存、刷新日志缓存。【另外dbwn会定时或定量刷新数据缓存,定量:fast_start_io_target(脏数据块的数量),定时:fast_sart_mttr_target(单位秒),数据库能够在该时间内open

   切换日志的命令:alter system switch logfie;

   强制检查点(也会导致日志的切换):alter system checkpoint local;对当前实例

               alter system checkpoint global;对全局有效

               alter tablespace XXX begin backup;  --对表空间做检查点

               alter tablespace XXX offline;  

4、日志归档的时机

   当启用日志自动归档时,日志切换会自动归档日志。

   当没有启用日志自动归档时,日志切换到最后一个日志时,会造成等待,等待手动归档日志。

 

5、新增、删除日志组和日志成员

   增加日志成员:

   Alter database add logfile member ‘filename’ to group groupnumber;

   增加日志组:

   Alter database add logfile group ‘filename’;

   删除日志成员:

   Alter database drop logfile member ‘filename’;

   删除日志组:

   Alter database drop logfile group groupnumber;

 

5、修改归档日志文件目录

Alter  system set log_archive_dest_1=’location=d:/log/’;

Alter  system set log_archive_dest_1=’service=tnsname’;

 

6、重命名重做日志

Alter database clear logfile group n

Shutdown immediate

Copy 日志文件到另一个目录

Alter database rename file “XXXXXX” to “XXXXXX”

Startup

备份控制文件

 

 

 



[1] 需要进一步探讨

[2] 需要进一步探讨

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle日志管理攻略    ORACLE数据库日志文件$ORACLE_BASE/admin/orasid/bdump/alert_orasid.log记录了重作日志的转换,数据库启动和关闭,数据库结构的改变,回退段的修改,死锁,内部错误等信息.   数据库管理员需要检查这个文件有无ORA-错误并定期地对这个日志文件进行存档整理。   在UNIX下可以用grep命令把alert_orasid.log里出现的错误保存到另一个文件。然后去找原因。   $grep ORA- alert_orasid.log > error.log   大家都知道,文件越大,其打开和读写的开销越大。如果日志文件太大了(超过5M), 需要对它截断处理。   直接删除它,让ORACLE重新生成不是好的方法。因为ORACLE是通过一个指向文件的指针进行写操作。   在数据库运行时删除了这个文件, ORACLE仍然用原来的文件指针进行写操作,有可能写一个不存在的文件导致硬盘空间占用。   我们要采用以下的方法:   $tail -100 $ORACLE_BASE/admin/orasid/bdump/alert_orasid.log > /tmp/oracle_temp.log   $cp /tmp/oracle_temp.log $ORACLE_BASE/admin/orasid/bdump/alert_orasid.log   $rm /tmp/oracle_temp.log   对日志文件进行截断处理。   listener的日志文件$ORACLE_HOME/network/log/listener.log记录了通过listener处理的网络请求信息,它包含客户端请求的时间,连接方式(专用或共享),连接程序,网络协议,主机名,网络端口号等信息。   我们也需要周期地截断它,方法是先停止listener记日志的工作:   $lsnrctl set log_status off   然后进行文件处理( 把原来的日志保存到备份文件夹, 使原来的listener.log置空 )   $cp $ORACLE_HOME/network/log/listener.log $ORACLE_BACKUP/network/log/listener_1.log   $cp /dev/null $ORACLE_HOME/network/log/listener.log   文件操作完成后,打开listener记日志的工作:   $lsnrctl set log_status on   如果你会写简单的shell程序,可以把上面的步骤固化成一个脚本,定一个时间表, 让操作系统去做。   下面是我写的一个按天分割保存listener.log的文件auto_listener.sh

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值