Oracle数据库故障类别及日常运维规划策略

一、故障类别

1、语句故障

单个数据库操作失败(select、insert、update或delete),如:

  • 在表中输入无效的数据,解决方法:可与用户合作来验证并更正数据;
  • 执行操作,但权限不足,解决方法:提供适当的对象或系统权限;
  • 分配空间失败,解决方法:启用可恢复的空间分配,增加所有者限额,增加表空间的空间;
  • 应用程序存在逻辑错误,解决方法:与开发人员合作来更正程序错误。

2、用户进程故障

  • 用户执行了异常断开连接操作;
  • 用户会话已异常终止;
  • 用户遇到了程序错误并终止了会话。

解决方法:通常不需要DBA执行任何操作就可解决用户进程故障。实例的后台进程会回退未提交的更改并解除锁定。

注:
进程监视程序(PMON) :PMON定期轮询服务器进程,如果发现某个服务器进程的用户不再处于连接状态,会进行恢复,并回退未提交的更改并解除失败会话持有的任何锁定。

3、网络故障

网络故障最好为网络连接提供冗余路径,通过备份监听程序、网络连接和网络接口等方法降低网络故障,如:

  • 监听程序失败,解决方法:配置备份监听程序和连接时故障转移;
  • 网络接口卡故障,解决方法:配置多个网卡;
  • 网络连接失败,解决方法:配置备份网络连接。

4、用户错误

用户可能会无意中删除或修改数据,这时,DBA需要帮助用户从错误中进行恢复。

  • 用户尚未提交,则进行回退操作;
  • 用户提交了更改,可以使用闪回查询来确定以前的值是什么,再进行相应的恢复。
    如因超出了还原保留期而无法使用闪回的,可通过使用LogMiner 来恢复原始信息;
  • 用户删除表后可从回收站中恢复表,如果清空了回收站,或者用户使用PURGE 选项删除了表,仍可通过使用时间点恢复(PITR) 来恢复删除的表。

5、实例故障 (smon完成)

如果在同步所有数据库文件之前关闭了数据库实例,就会发生实例错误,如:

  • 软硬件故障,导致实例错误,只要重新启动实例即可;
  • 使用SHUTDOWN ABORT 和STARTUP FORCE 紧急关闭命令,导致实例错误,只要重新启动实例即可;
  • 断电,导致实例错误,只要重新启动实例即可;
  • 后台进程出现故障,导致实例错误,只要重新启动实例即可。

6、介质故障

导致一个或多个数据库文件(数据文件、控制文件或重做日志文件)丢失或损坏的任何故障。要从介质故障进行恢复,需要还原并恢复缺失的文件。 可能导致介质故障的原因:

  • 磁盘驱动器故障
  • 磁盘控制器故障
  • 删除或损坏了数据库文件

解决办法:

  • 从备份中还原受影响的文件
  • 通知数据库关于新文件的位置
  • 通过应用重做信息来恢复文件

二、日常运维规划策略

1、多路复用控制文件

与数据库关联的所有控制文件是完全相同的。丢失一个控制文件后进行恢复并不难。但是丢失了所有控制文件后进行恢复则很困难。为了避免丢失所有控制文件,至少要有2至3个副本,建议使用RMAN定期自动备份。

2、多路复用重做日志组

实例故障或介质故障进行恢复,可使用重做日志信息将数据文件前滚到最后一个提交的事务处理。如果重做日志组依赖于一个重做日志文件,那么这个文件丢失了很可能意味着数据也丢失了。
重做日志组由一个或多个重做日志文件组成,组中的每个日志文件都是其它日志文件的副本。Oracle 建议每个重做日志组至少包含两个文件,两个文件要分布在不同的磁盘或控制器上。
所以,当单个设备出现故障时就不会损坏整个日志组。丢失了整个日志组可以算是一种最严重的介质故障,因为这会导致丢失数据。

3、保留重做日志的归档副本

如果某个文件丢失后通过备份已还原,实例就必须应用重做信息,以便将该文件返回到控制文件中包含的最新SCN。所以,为保证数据恢复,可将数据库置于ARCHIVELOG 模式。

4、配置快速恢复区

快速恢复区是为保存归档日志、备份、闪回日志、镜像控制文件和镜像重做日志而在磁盘上专门留出的空间。
快速恢复区在磁盘上的保留位置应不同于数据库文件的工作区所在的位置。否则,磁盘将成为数据库的单点故障。
理想情况下,快速恢复区应足够大,可存放数据文件和控制文件副本,以及基于保留策略从保留的备份恢复数据库所需的闪回日志、联机重做日志和归档日志。

5、计划常规备份

大多数介质故障需要从备份还原丢失或损坏的文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/823849.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rust 学习笔记(13-19)

13 迭代器与闭包 Rust 的设计灵感来源于很多现存的语言和技术。其中一个显著的影响就是 函数式编程(functional programming)。函数式编程风格通常包含将函数作为参数值或其他函数的返回值、将函数赋值给变量以供之后执行等等。 闭包(Closu…

游戏、app抓包

文章目录 协议app抓包游戏抓包 协议 在抓包之前,首先我们要对每个程序使用什么协议有个大致的了解,比如网页这种就是走的http协议。 在一些app中我们通过发送一个请求,然后服务器接受,响应,返回一个数据包&#xff0c…

4.17freeRTOS

1.总结串口的发送和接收功能使用到的函数 串口的数据发送 HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size, uint32_t Timeout) UART_HandleTypeDef *huart:指定要使用的串口 const uint8_t *pData&#xf…

【Python-基础】列表合集

.tolist() 将其他数据类型转换成列表 1.可以将<class ‘pandas.core.series.Series’>转换为列表 images [img_id[filename].tolist() for img_id in data] # data是一个列表,列表中每一项都是用read_csv函数读取的csv文件内容 # type(img_id[filename]) <class …

网站模板-慈善捐赠基金会网站模板 Bootstrap4 html

目录 一.前言 二.预览 三.下载链接 一.前言 这是一个慈善网站的页面。页面包含了导航栏、横幅部分、关于、使命、新闻、活动、捐赠和页脚等不同的部分。该网站还包含了一些CSS样式和JavaScript脚本来实现交互和样式效果。 这个网站的具体结构如下&#xff1a; 导航栏部分&a…

吐血整理102个Python项目,从基础到高级,练完你就牛了!

前言 Python 初学者在迈过安装编程环境和基本语法的门槛&#xff0c;准备大展身手的时候&#xff0c;可能突然就会进入迷茫期&#xff1a; 不知道做些什么、再学些什么。。。 然后对编程的兴趣就会慢慢消退&#xff0c;找不到坚持下去的理由&#xff0c;从而慢慢淡忘之前学会…

算法中的背包问题

背包问题 背包问题 是经典的动态规划问题&#xff0c;它一共有 9 个分类&#xff1a; 01 背包问题 完全背包问题 多重背包问题 混合背包问题 二维费用背包问题 分组背包问题 背包问题求方案数 求背包问题的方案 有依赖的背包问题 01背包问题 完全背包问题 322.零钱兑换 给…

链表中LinkList L与LinkList *L( * L.elem L->elem)

摘要 LinkList L&#xff1a;L是结构体指针&#xff0c;使用“->“运算符来访问结构体成员&#xff1b;&#xff08;*L&#xff09;是结构体&#xff0c;使用"."运算符访问结构体成员 函数是否有&看是否要返回该链表等&#xff0c;若返回加&&#xff0c…

OpenCV基本图像处理操作(九)——特征匹配

Brute-Force蛮力匹配 Brute-Force蛮力匹配是一种简单直接的模式识别方法&#xff0c;经常用于计算机视觉和数字图像处理领域中的特征匹配。该方法通过逐一比较目标图像中的所有特征点与源图像中的特征点来寻找最佳匹配。这种方法的主要步骤包括&#xff1a; 特征提取&#xff…

热烈祝贺中国特医首次获得蒙特国际品质奖!中国特医健效达品质永攀世界高峰

近日&#xff0c;第63届Monde Selection品质评鉴活动圆满落幕&#xff0c;健效达旗下优康力和优益力产品凭借其卓越品质&#xff0c;成功摘得世界蒙特奖&#xff0c;这是中国特医食品首次获得蒙特奖国际品质奖。 健效达特医树立世界特医新标杆&#xff0c;永攀世界高峰&#xf…

解释Python中的NumPy库及其在科学计算中的作用

解释Python中的NumPy库及其在科学计算中的作用 NumPy库在Python科学计算中的作用 NumPy&#xff08;Numerical Python的简称&#xff09;是Python中一个开源的数值计算扩展库&#xff0c;它提供了大量的数学函数库用于对数组和矩阵进行运算&#xff0c;同时也针对数组运算提供…

Java定时任务

一、java.util.Timer java.util.Timer 类允许您在未来的某个时间执行一个任务&#xff0c;或者在一定的时间间隔执行任务。您可以创建一个 Timer 实例&#xff0c;并调用其 schedule() 方法来安排任务的执行。这种方式比较简单&#xff0c;但在高并发环境下可能不够灵活。 1.…

放大招,推广手机流量卡,佣金丰厚等你来拿

流量卡推广是一个非常冷门但又在身边非常常见的行业&#xff0c;知道的人目前靠着这个信息&#xff0c;发了很多小财&#xff0c;可以说早知道这一行的人会非常容易变成暴发户。 你可能也会好奇&#xff0c;为什么那么多广告都是在推流量卡&#xff0c;他们推卡到底有多高的利…

将gidp模块、ipam集成到ultralytics项目中实现gidp-yolov8、ipam-yolov8

gdip-yolo与ia-seg都是一种将图像自适应模块插入模型前面,从而提升模型在特定数据下检测能力的网络结构。gdip-yolo提出了gdip模块,可以应用到大雾数据与低亮度数据(夜晚环境),然后用于目标检测训练;ia-seg将ia-yolo中的代码修改了一下修车了ipam模块,应用到低亮度数据(…

数据库技术基础

根据希赛相关视频课程汇总整理而成&#xff0c;个人笔记&#xff0c;仅供参考。 基本概念 数据库通常是指有组织地、动态地存储在&#xff08;外存上的相互联系的数据的集合&#xff09;应用数据库主要目的是解决数据&#xff08;共享&#xff09;问题。 三级模式/两级映像&a…

【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题

文章目录 一、什么是时间复杂度和空间复杂度&#xff1f;1.1 算法效率1.2 时间复杂度的概念1.3 空间复杂度的概念1.4 复杂度计算在算法中的意义 二、时间复杂度的计算2.1 大O渐进表示法2.2 常见时间复杂度计算举例 三、空间复杂度的计算四、Leetcode刷题1. 消失的数2. 旋转数组…

代理服务器端口分配测试

上游服务器需要一个短暂或临时端口请求下游服务器&#xff0c;测试端口分配方式。 参考nginx 摘录-腾讯云开发者社区-腾讯云 框架为 <dependency><groupId>org.mitre.dsmiley.httpproxy</groupId> <artifactId>smiley-http-proxy-servlet</ar…

一些docker安装配置以及常见命令

​常用命令 docker 命令 //进去容器内部&#xff0c;找到需要拷贝的文件及目录 docker exec -it 2c2600fb60f8 /bin/bash ​ //将container id为4db8edd86202的容器内elasticsearch.yml文件拷贝到宿主机指定目录下&#xff1a; docker cp 4db8edd86202:/usr/share/elasticsea…

git出现错误 fail to push some refs to “xxx“

问题产生原因&#xff1a;根据测试猜测造成这一错误的原因是在码云的远程仓库上删除了一个文件,本地没有pull下来,直接进行了commit,commit到本地仓库后,如果在pull下来,也是无法提交的 问题解决办法: 使用 git pull --rebase,拉取远程仓库,并将本地仓库新的提交作为最顶层的提…

张大哥笔记:电脑周边的10大刚需创业小项目

hello&#xff0c;大家好&#xff0c;我是张大哥&#xff0c;今天一口气给大家分享围绕电脑周边的10大刚需创业小项目&#xff0c;本文章旨在帮助大家如何快速切入到细分领域里面搞钱&#xff01; 如何赚钱&#xff0c;无非就是解决人群痛点&#xff0c;你要懂得根据用户痛点去…