Oracle数据库体系结构(6)数据库归档重做日志文件管理
归档重做日志文件的概念和选择
Oracle数据库能够把已经写满了的重做日志文件保存到一个或多个指定的离线位置,这种保存的文件为归档重做日志文件。通常情况下一个归档重做日志时一个被LGWR写满的重做日志文件组的一个成员的拷贝,
包含所有的重做记录及日志序列号等信息。
如果一个数据库应用系统不能承受任何的数据丢失,即使是介质损坏,也需要数据完全恢复,那么必须将数据库运行在归档模式。
1.非归档模式
此时数据库系统不会对被LGWR进程写满了的重做日志文件进行归档操作,所有的历史重做日志信息都将被覆盖而不复存在。因此,非归档模式下日志切换的前提条件是已写满的重做日志文件在被覆盖之前,其所有的重做记录所对应的
事务的操作结果全部写入数据库的数据文件中与归档无关。
在非归档模式下,数据库只能从市里崩溃中恢复,而无法进行介质的恢复。
2.归档模式
归档模式下切换日志的前提条件是已写满的重做日志文件在被覆盖之前。其所有重做记录所对应的事务操作结果全部写入数据文件中,而且归档进程要完成对该重做日志文件的归档操作。
主要具有的优点有:
(1)由于在归档模式下,数据库中所有的实力重做日志文件全部被保存,因此在数据库出现故障,即使是介质故障的情况下,利用数据库备份、归档重做日志文件盒联机重做日志文件也可以恢复数据库。
(2)在归档模式下,可以在数据运行时进行备份,也可以利用该备份恢复数据库.
(3) 在主数据库与备用数据库配置中,利用归档日志文件信息,可以保证备用数据库与主数据库达到相同的状态。
归档控制
1.改变数据归档模式
可以通过archive log list命令查看当前数据库的归档设置情况
SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 1
下一个存档日志序列 2
当前日志序列 2
将数据库从非归档模式转到归档模式
(1)关闭数据库
shutdown
(2) 备份数据库
(3)设置归档的目的地
(4)将数据库到加载状态
(5)改变数据库的归档模式
(6)打开数据库
3.手动归档
alter database archivelog manual
4.调整归档进程数量。
打开数据库是,启动归档进程的初始化数量的参数LOG_ARCHIVE_MAX_PROCESSES指定,默认为4.通常不需要修改该参数。
该参数为动态参数,可以使用 alter system set LOG_ARCHIVE_MAX_PROCESSES=6;
SQL> show parameter LOG_ARCHIVE_MAX_PROCESSES; NAME TYPE VALUE
------------------------------------ ----------- ----------
log_archive_max_processes integer 4
SQL> alter system set LOG_ARCHIVE_MAX_PROCESSES=6;
系统已更改。
SQL> alter system set LOG_ARCHIVE_MAX_PROCESSES=4;
系统已更改。
设置归档目的地
1.设置初始化参数指定归档目的地
可以通过设置LOG_ARCHIVE_DEST设置一个本地归档目的地,也可以通过初始化参数设置LOG_ARCHIVE_DEST_n设置两个或多个归档目的地。
2.设置LOG_ARCHIVE_DEST_n
(1) 初始化参数LOG_ARCHIVE_DEST_n最多能设置31个归档目的地,即n为1-31,其中1-10可以用来指定本地或远程的归档目的地,11-31只能用于指定远程的归档目的地。
SQL> alter system set LOG_ARCHIVE_DEST_6='LOCATION=d:\DISK4\ARCHIVE'; 系统已更改。
(2)设置初始化参数LOG_ARCHIVE_FORMAT,指定归档文件命名方式
SQL> show parameter log_archive_format NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_format string ARC%S_%R.%T
SQL> alter system set log_archive_format = 'arch_%t_%s_%r.arc' scope=spfile; 系统已更改。
%s 表示日志序列号
%t 表示线程好
%r 表示重做日志的ID
大写的标志不足3为左侧添0
使用LOG_ARCHIVE_DEST_n参数的时候,可以指定OPTIONAL(默认 或者MANDATORY)选项。
下面说明:OPTIONAL选项:该选项是默认选项,表示可选的归档目的地。使用该选项,无论在该归档目的地上是否成功归档,都可以覆盖重做日志文件,数据库正常运行。
MANDATORY:该选项正好相反,重做日志必须归档成功,如果失败,重做日志将不能覆盖,数据库将被挂起。
REOPNE:该属性用于指定重新归档的时间间隔,默认值为300.
3.设置初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST
如果设置主/次两个本地归档目的地,可以使用初始化参数LOG_ARCHIVE_DEST设置主目的地,LOG_ARCHIVE_DUPLEX_DEST设置次目的地。
步骤
(1)查询数据字典视图 V$ARCHIVE_DEST,查看初始化参数LOG_ARCHIVE_DEST_n是否已经设置,如果设置了需要清空
SQL> select dest_name,destination from v$archive_dest; DEST_NAME DESTINATION
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
LOG_ARCHIVE_DEST_1
LOG_ARCHIVE_DEST_2
LOG_ARCHIVE_DEST_3
LOG_ARCHIVE_DEST_4
LOG_ARCHIVE_DEST_5
.......... 31 rows selected
全部清空
alter system set LOG_ARCHIVE_DEST_1 =‘’;
(2)设置初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST.指定两个主次目的地。
(3)设置初始化参数LOG_ARCHIVE_FORMAT
4.归档目的地的状态
SQL> select dest_name,status from v$archive_dest; DEST_NAME STATUS
-------------------------------------------------------------------------------- ---------
LOG_ARCHIVE_DEST_1 INACTIVE
LOG_ARCHIVE_DEST_2 INACTIVE
LOG_ARCHIVE_DEST_3 INACTIVE
LOG_ARCHIVE_DEST_4 INACTIVE
通过参数LOG_ARCHIVE_DEST_STATE_n可以控制指定归档目的地的状态。
该参数取值为ENABLE:b标识归档目的地可以使用
DEFER:该归档目的地暂不能使用
ALTERNATE:为备用目的地。
5.设置备用归档目的地。
如果住归档目的地不可用,可以自动切换到备用归档目的地,以免数据库无法归档而挂起。需要在主目的地使用NOREOPEN或者REOPEN=0属性。
查询归档重做日志文件信息
1.执行archive log list
SQL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 d:\DISK4\ARCHIVE
最早的联机日志序列 1
下一个存档日志序列 2
当前日志序列 2
2.查询动态性能视图
V$ARCHVIED_LOG
V$ARCHVIE_DEST
V$LOG_HISTORY
V$DATABASE
V$ARCHIVE_PROCESSES
Oracle数据库体系结构(6)数据库归档重做日志文件管理的更多相关文章
- Oracle RACDB 增加、删除 在线重做日志组
Oracle RACDB 增加.删除 在线重做日志组 select * from v$log;select * from v$logfile ; ----删除日志组:alter database dr ...
- ORACLE 移动数据文件 控制文件 重做日志文件
ORACLE数据库有时候需要对存储进行调整,增加分区.IO调优等等,此时需要移动数据文件.重做日志文件.控制文件等等,下文结合例子总结一下这方面的知识点. 进行数据文件.重做日志文件.控制文件的迁移前 ...
- oracle 11g 数据库恢复技术 ---01 重做日志
一 redo log Oracle数据库中的三大核心文件分别是数据文件(data file).重做日志(redo log)和控制文件(control file).数据文件保证了数据库的持久性,是保存修 ...
- Oracle学习笔记--第2章 oracle 数据库体系结构
第2章 oracle 数据库体系结构 目录: ————————————— 2.1物理存储结构 2.1.1数据文件 2.2.2控制文件 2.1.3重做日志文件 2.1.4其他文件 2.2逻辑存储结构 2 ...
- oracle数据库体系结构
一.oracle数据库体系结构 基本组成: Oracle server:一般情况下是一个instance和一个database组成 一般:1个instance只能对应一个数据库. 特殊:1个数据库可以 ...
- Oracle数据库——体系结构
一.涉及内容 1.了解数据库的物理存储结构和逻辑存储结构 二.具体操作 1.分别使用SQL 命令和OEM 图形化工具查看本地数据库的物理文件,并使用OEM 工具在现有的users 表空间中添加user ...
- oracle数据库表空间及归档
--表空间(TableSpace)是Oracle的开创性理念.表空间使得数据库管理更加灵活,而且极大地提高了数据库性能. --作用 :1.避免磁盘空间突然耗竭的风险 2.规划数据更灵活 3.提高数据库 ...
- (Les16 执行数据库恢复)-重做日志文件恢复
丢失重做日志文件 丢失了重做日志文件组中的某个成员,并且组中至少还有一个成员: -不会影响实例的正常操作. -预警日志中会收到一条信息, ...
- Oracle数据库体系结构(1)整体概述
oracle数据库的存储结构: 逻辑存储结构:oracle内部的组织和管理数据的方式 物理存储结构:oracle外部(操作系统)组织和管理数据的方式 oracle对逻辑存储结构和物理存储结构的管理是分 ...
随机推荐
- Android RxJava使用介绍(四) RxJava的操作符
本篇文章继续介绍下面类型的操作符 Combining Observables(Observable的组合操作符) Error Handling Operators(Observable的错误处理操作符 ...
- WDCP管理面板忘记ROOT MYSQL密码及重置WDCP后台登录密码方法
不管出于何种原因,应该有不少的朋友在自己的VPS/服务器上采用WDCP管理面板的时候有忘记MYSQL ROOT账户管理密码在寻找解决方法,甚至有忘记WDCP后台管理登录密码的.这些问题都比较简单,只需 ...
- 动态添加ImageView 设置setPadding不起作用问题
imageView = new ImageView(NavigationActivity.this); imageView.setLayoutParams(new LayoutParams(12,12 ...
- 借助Anyproxy实时监控接口调用次数和流量
监控接口调用次数,是为了测试客户端可能会异常频繁的调用服务端接口,出现性能问题. AnyProxy是一个开放式的HTTP代理服务器. github: https://github.com/alibab ...
- 基于java spring框架开发部标1078视频监控平台精华文章索引
部标1078视频监控平台,是一个庞杂的工程,涵盖了多层协议,部标jt808,jt809,jt1078,苏标Adas协议等,多个平台功能标准,部标796标准,部标1077标准和苏标主动安全标准,视频方面 ...
- iOS tableView高度缓存
tableView计算完高度后,把高度缓存起来,避免下次重复计算,以减少不必要的消耗 // declare cellHeightsDictionary NSMutableDictionary *cel ...
- 快速搭建一个成熟,强壮的App框架【转载】
App框架搭建 招聘信息: iOS 研发工程师 iOS开发工程师 iOS开发实习工程师 新浪微博-Android开发工程师&iOS开发工程师 美术设计师(2D) UI设计师 cocos2dx手 ...
- HUAWEI HiAI亮相Droidcon柏林2018开发者峰会 开启HiAI海外生态
柏林时间6月25日到27日,华为HiAI亮相Droidcon柏林2018开发者峰会,有1200多位海外开发者参加了此次峰会,来自HUAWEI HiAI领域的多名专家携手Prisma和金山WPS,以“E ...
- angualejs
http://segmentfault.com/a/1190000000347412 http://www.xker.com/page/e2015/06/199141.html http://www. ...
- 查找 TextBox 对象中非法数据的示例
private void GetErrors(StringBuilder sb, DependencyObject obj){ foreach (object child in LogicalTree ...