前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle 常见故障及日常规划

Oracle 常见故障及日常规划

作者头像
Leshami
发布2018-08-07 09:57:22
8850
发布2018-08-07 09:57:22
举报
文章被收录于专栏:乐沙弥的世界乐沙弥的世界

--=============================

-- Oracle 常见故障及日常规划

--=============================

对任何数据库系统而言,对显而易见的故障,应当避免发生本文列出了Oracle常见的故障并给出了解决方案,同时列出了一些日常规划。

一、数据库高可用性的几个目标

MTBF(Mean-Time-Between-Failures)

平均失败时间,即数据库出现失败的频繁度,应尽可能增大该值

应对措施

RAC集群技术:位于多台计算机上的多个实例打开一个物理数据库,降低因一个或多实例失败导致的风险

Streams:利用高级队列技术,通过解析归档日志,将归档日志解析成DDL及DML语句,从而实现数据库之间的同步。相当于

SQL server中的复制技术,可以在对主系统没有任何压力的情况下,实现对数据库对象级甚至整个数据库的同步。

Data Guard:一个主数据库,多个备用数据库,备用数据库是主数据库在事务上一致的副本,可是在主数据宕机的情况下由

备用服务器来继续提供服务。相当于SQL server中的数据库镜像功能。

MTTR(Mean-Time-To-Recover)

平均恢复时间,数据失败后出现的停机时间,应尽可能减小该值

数据损失最小化

在减少MTTR的同时,应尽可能的减少数据的损失

二、常见的故障类别

1.语句级故障,通常为DML ,DQL,DCL,DDL等等

无效数据 -->使用数据符合相关约束,满足值域的数据

缺少权限 -->给予用户所需的权限

空间分配问题 -->使用alter session enable resumable,增加用户配额,增加表空间大小

应用程序逻辑错误 -->修正逻辑错误

2.用户进程故障

用户非登出的异常退出

用户会话异常终止

程序错误导致会话结束

对于上述错误,实例后台进程PMON会自动回滚未提交的事务,并释放相关锁资源

3.网络故障

侦听器故障 -->配置一个备份的侦听器,connect-time故障转移

网络接口卡故障 -->使用多个网络接口卡

网络连接故障(路由) -->配置一个备份的网络连接

4.用户错误

用户意外删除或修改数据 -->回滚或使用闪回查询来恢复

用户删除表 -->从回收站闪回删除

5.介质故障

磁盘故障

磁盘控制器故障

删除或损坏数据文件

可能的解决方案,使用联机事务日志从备份恢复受影响的文件或恢复数据文件到新的物理位置

6.实例故障

电源负载故障

硬件故障

后台进程失败

异常关闭数据库

解决方案,使用startup 重新启动实例。实例实现自动恢复,根据联机日志文件前滚提交的事务,回滚未提交的事务

查看告警日志、跟踪日志等找出出现故障的原因

三、实例恢复相关的后台进程

1.检查点进程(CKPT)

检查点将当前日志文件的信息更新到数据文件头部,控制文件等

检查点的目的是同步日志文件与数据文件的不同步,从而可以确定实例恢复从最近的检查点开始

检查点的触发条件

在日志切换的时候

数据库用immediate ,transaction ,normal选项shutdown数据库的时候

根据初始话文件LOG_CHECKPOINT_INTERVAL、LOG_CHECKPOINT_TIMEOUT、FAST_START_IO_TARGET 的设置的数值来确定

用户受手动触发

检查点存在的理由

确保在内存中已修改的数据定期写入到数据文件,防止系统或数据库故障引起数据的丢失

减少实例恢复所需的时间,从最近的检查点到故障时即为所需要进行的恢复

在数据库关闭时,确保所有提交的数据写入到数据文件

检查点信息包括

检查点位置(位于联机日志文件)

系统改变号(SCN)

联机日志文件中的位置

日志信息等

注:检查点进程不会写入数据块磁盘,也不会写任何日志到联机日志文件

2.联机日志文件及日志写入进程(LGWR)

联机日志文件记录数据库的变化情况

应当被多功复用以避免丢失

日志写入进程

在commit时触发

当日志缓冲/3满时

每秒触发

在DBWn之前完成

3.归档进程(ARCn)

归档进程是一个可选的后台进程

当数据库处于归档模式下,将自动归档联机日志文件

数据库所有做出的变化将被完整记录

归档进程在每次发生日志切换时被初始化,在联机日志文件被重新使用前自动对联机日志文件实现归档

建议开启归档模式

4.关于详细的后台进程描述等,请参考:Oracle实例和Oracle数据库(Oracle体系结构)

四、三大文件的规划

1.多路复用控制文件

至少使用个以上的控制文件

分散放开到不同的磁盘

控制文件副本应当位于不同的磁盘控制器

建议使用RMAN定期自动备份

2.多路复用重做日志文件

每一个日志组至少两个成员

每一个日志成员应当位于不同的磁盘

每一个日志成员应当位于不同的磁盘控制器

组内成员被同时写,带来较大的I/O,应置于高速磁盘

3.归档日志

应将生产数据库切换到归档模式

按合理的归档日志命名

多于一个归档路径

五、实例恢复

请参照:Oracle 实例恢复

六、更多

Oracle 参数文件

SQL基础-->层次化查询(START BY ... CONNECT BY PRIOR)

Oracle 用户、对象权限、系统权限

Oracle 角色、配置文件

SQL 基础--> 集合运算(UNION 与UNION ALL)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2010年07月15日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档