预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

oracle归档日志管理在Oracle中数据一般是存放在数据文件中不过数据库与Oracle最大的区别之一就是数据库可以在数据出错的时候进行恢复。这个也就是我们常见的Oracle中的重做日志(REDOFILE)的功能了。在重做日志分成2部分一个是在线重做日志文件另外一个就是归档日志文件。这里不详细说明在线重做日志而是说一下归档日志(ArchiveLog)。在线重做日志大小毕竟是有限的当都写满了的时候就面临着2个选择第一个就是把以前在线重做日志从头擦除开始继续写第二种就是把以前的在线重做日志先进行备份然后对被备份的日志擦除开始写新的在线RedoFile。这种备份的在线重做日志就是归档日志。而数据库如果采用这种生成归档日志的模式的话就是归档日志模式(ARCHIVELOG模式)反之如果不生成归档日志就是非归档日志模式(NOARCHIVELOG模式)。有了归档日志有什么好处了。比如在这个月1号的时候备份了一次数据然后过了10天这10天生成了成百上千个在线重做日志突然发现其中有一个数据磁盘出问题了不能用了那我该如何是好呢。如果没有采用归档日志那么实际上磁盘中只会有几个最新的在线重做日志。那么我只能要不然把出问题的数据磁盘上所占据的表空间都删除掉。但是如果是SYSTEM表空间所涉及的磁盘出错就没办法这么做了只能用第二种方法。那第二种方法就是把1号备份的数据拿出来恢复。那么1号到10号之间的10天的数据都丢了如果是关键系统比如证券金融什么的系统就要让你赔钱赔死掉。但是如果有了归档日志那么你这10天的重做日志都会存放起来那么DBA首先把1号的备份数据恢复然后再拿这10天的REDO日志来进行一次数据操作重放那么就可以完全恢复最新的数据库不会有什么后果了。在软件开发的时候由于测试服务器的配置有限特别是磁盘空间有限所以有可能要限制REDO文件的大小有可能就把系统设置为NOARCHIVELOG模式了。但是在实际的生产运行环境下基本上一定要使用ARCHIVELOG模式否则万一出了问题真是哭都来不及了。有人可能会怕归档日志造成性能损失。其实这个完全是杞人忧天的归档日志只是做一个备份其实也就是多耗一些磁盘空间而已。在当前的软件系统中硬盘的存储容量成本已经属于低到可以忽略的地步而最重要的是数据库的安全。DBA的任务本来就是确保数据的安全如果连安全都保证不了那点微乎其微的性能提高又有什么用呢。归档日志(ArchiveLog)是非活动的重做日志备份.通过使用归档日志可以保留所有重做历史记录当数据库处于ARCHIVELOG模式并进行日志切换式后台进程ARCH会将重做日志的内容保存到归档日志中.当数据库出现介质失败时使用数据文件备份归档日志和重做日志可以完全恢复数据库.日志操作模式:ARCHIVELOGNOARCHIVELOG1改变日志操作模式:检查当前日志操作模式SELECTlog_modefromv$database;关闭数据库然后装载数据库SHUTDOWNIMMEDIATESTARTUPMOUNT改变日志操作模式然后打开数据库ALTERDATABASEARCHIVELOG;ALTERDATABASEOPEN;2执行手工归档从oracledatabase10g开始当将日志操作模式转变未ARCHIVELOG模式时oracle会自动启动ARCH进程.如果要使用手工归档.那么在改变日志操作模式时必须使用命令ALTERDATABASEARCHIVELOGMANUAL.需要注意使用手工归档方式数据库管理员必须手工执行归档命令.如果没有执行手工归档命令日志组的原有内容将不能被覆盖.ALTERDATABASEARCHIVELOGMANUAL命令是为了与先前的版本兼容而保留的.将来的oracle版本会淘汰该命令使用手工归档方式是数据库管理员可以执行以下命令归档重做日志:SLTERSYSTEMARCHIVELOGALL;3配置归档进程初始化参数LOG_ARCHIVE_MAX_PROCESSES用于指定例程初始启动的最大归档进程个数当将数据库转变为ARCHIVELOG模式时默认情况下oracle会自动启动两个归档进程.通过改变初始化参数LOG_ARCHIVE_MAX_PROCESS的值可以动态地增加或降低归档进程的个数:ALTERSYSTEMSETLOG_ARCHIVE_MAX_PROCESSES=3;配置归档位置和文件格式当数据库处于ARCHIVELOG模式时如果进行日志切换后台进程将自动生成归档日志归档日志的默认位置为%oracle_home%rdbms在oracledatabase10g中归档日志的默认文件格式为ARC%S_%R.%T.为了改变归档日志的位置和名称格式必须改变相应的初始化参数1初始化参数LOG_ARC