Chinaunix首页 | 论坛 | 博客
  • 博客访问: 311900
  • 博文数量: 66
  • 博客积分: 2369
  • 博客等级: 大尉
  • 技术积分: 635
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-20 17:10
文章分类

全部博文(66)

文章存档

2020年(2)

2017年(3)

2016年(1)

2015年(1)

2013年(5)

2012年(12)

2011年(20)

2010年(1)

2009年(5)

2008年(15)

2007年(1)

分类: Oracle

2011-08-22 16:45:47

Oracle备份与恢复 定时switch logfile?    
 
--------------------------------------------------------------------------------
 question:
-----------------------------------------------------------
我想每天半夜对数据库做一个logswitch,想把它添加成计划任务。
我的BAT文件为:
sqlplus
alter system switch logfile;
时间一到,该任务执行,可只运行了第一句,登陆进了sqlplus窗口,但没做logswitch。
BAT文件这么写对么?
-----------------------------------------------------------
answer:

conn as sysdba;
alter system switch logfile;
写成sql脚本文件c:aa.sql
然后bat文件这样写:
sqlplus  /nolog @c:\aa.sql

首先明确一个概念,LOG SWITCH 不是把脏数据写到归档中,而是把LOG BUFEE 中的更改的内容写进ARCH中,写脏数据的进程是DBWN,触发条件很多,建议楼主好好看看DBA1这门书,其中触发DBWN写脏数据需要如下条件:
出现检查点
灰数据缓冲区达到阈值
没有空闲缓冲区
出现超时
执行了 RAC ping 请求
表空间处于 OFFLINE 状态
表空间处于 READ ONLY 状态
对表执行 DROP 或 TRUNCATE 操作
对表空间执行 BEGIN BACKUP 操作
LOG SWITCH的作用如下:
记录对数据库数据块所做的全部更改
主要用于恢复
其中记录的更改称作重做条目
重做条目包含用于重新构造或重做更改的信息
大小由 LOG_BUFFER 定义
我理解的三个状态是:
ARCHIVE 是还没有写到ARCH中的
INACTIVE 是已经完成的,写入到了ARCH中的
CURRENT 是正在使用的,当前还没有写满的
阅读(785) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~