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、计划常规备份
大多数介质故障需要从备份还原丢失或损坏的文件。
相关文章:
Oracle数据库故障类别及日常运维规划策略
一、故障类别 1、语句故障 单个数据库操作失败(select、insert、update或delete),如: 在表中输入无效的数据,解决方法:可与用户合作来验证并更正数据;执行操作,但权限不足&#x…...
电商技术揭秘九:搜索引擎中的SEO数据分析与效果评估
相关系列文章 电商技术揭秘一:电商架构设计与核心技术 电商技术揭秘二:电商平台推荐系统的实现与优化 电商技术揭秘三:电商平台的支付与结算系统 电商技术揭秘四:电商平台的物流管理系统 电商技术揭秘五:电商平台的个性…...
多线程传参以及线程的优缺点
进程是资源分配的基本单位 线程是调度的基本单位 笼统来说,线程有以下优点: 创建一个新线程的代价要比创建一个新进程小得多 与进程之间的切换相比,线程之间的切换需要操作系统做的工作要少很多 线程占用的资源要比进程少很多 能充分利用多…...
keil创建单片机工程
一、创建工程 打开Keil uVision4,依次选择 Project—>New uVision4 Project,选择工程保存路径及填写工程名称,如下图 然后点“保存”。在Select a CPU Data Base File中选择"STC MCU Database",点 "OK"&am…...
QT 串口助手 学习制作记录
QT 串口助手qt 学习制作记录 参考教程:QT初体验:手把手带你写一个自己的串口助手_qt设计串口助手的流程图-CSDN博客 Qt之串口编程(添加QSerialPort模块)_如何安装 qt串口模块教程-CSDN博客 串口调试助手࿱…...
Github 2024-04-13 Rust开源项目日报Top10
根据Github Trendings的统计,今日(2024-04-13统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10CUE项目1Go项目1Tauri: 构建小型、快速和安全的桌面应用程序 创建周期:1673 天开发语言:Rust协议类型:Apache License 2.0Star数量…...
大模型日报|今日必读的10篇大模型论文
大家好,今日必读的大模型论文来啦! 1.谷歌推出新型 Transformer 架构:反馈注意力就是工作记忆 虽然 Transformer 给深度学习带来了革命性的变化,但二次注意复杂性阻碍了其处理无限长输入的能力。 谷歌研究团队提出了一种新型 T…...
深度学习 Lecture 8 决策树
一、决策树模型(Decision Tree Model) 椭圆形代表决策节点(decison nodes),矩形节点代表叶节点(leaf nodes),方向上的值代表属性的值, 构建决策树的学习过程: 第一步:决定在根节点…...
打包 docker 容器镜像到另一台电脑
# 提交容器为镜像 <container_id> 容器id my_migration_image 镜像名称 docker commit <container_id> my_migration_image # 保存镜像为tar文件 docker save my_migration_image > my_migration_image.tar 在另一台电脑上导入上面的镜像,请…...
贪心算法--购买股票
给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。 返回 你能获得的 最大 利润 。 示例 1&a…...
在Mac主机上连接Linux虚拟机
前言 最近醉心于研究Linux,于是在PD上安装了一个Debian Linux虚拟机,用来练练手。但是每次在mac和Linux之间切换很是麻烦,有没有一种方法,可以在mac终端直接连接我的虚拟机,这样在mac终端上就可以直接操控我的Linux虚…...
前端如何单独做虚拟奖金池?
公司业务需求要做一个虚拟奖金池,具体是需求是,不需要后端数据支持,但是又需要不同用户看到的奖金池数据每次变动都是一致的,并且要在给定的最小最大值中变动。 一开始看需求,因为需要所有登录/未登录,不同…...
前端md5校验文件
前端获取文件的md5值,与文件一同传到后端,后端同样对md5值进行校验。如果相同,则文件未被损坏(其实这种方式优点类似于tcp、ip的差错校验,好像token也是这种方式) 项目准备 前端并不可能手写一个算法来实…...
总结SQL相对常用的几个字符函数
目录 字符的截取 substr() trim()、ltrim()、rtrim() 字符串的拼接 ||、 字符的大小写转换 upper(column_name):大写 lower(column_name):小写 字符替换 replace() 搜索字符 instr(column_name, substring_to_find,start,n_appearence) charindex(substring_to_fi…...
云计算笔记
RAID的组合方式 RAID0:多个硬盘同时工作,可提供性能,无冗余机制 RAID1:数据保存多份,提供冗余机制,性能受到影响 RAID3:存在数据盘和单独校验盘,数据写入 至数据盘后需要运算且将…...
网络安全学习路线-超详细
零基础小白,到就业!入门到入土的网安学习路线! 在各大平台搜的网安学习路线都太粗略了。。。。看不下去了! 建议的学习顺序: 一、网络安全学习普法(心里有个数,要进去坐几年!&#x…...
【多模态检索】Coarse-to-Fine Visual Representation
快手文本视频多模态检索论文 论文:Towards Efficient and Effective Text-to-Video Retrieval with Coarse-to-Fine Visual Representation Learning 链接:https://arxiv.org/abs/2401.00701 摘要 近些年,基于CLIP的text-to-video检索方法…...
VRRP——虚拟路由冗余协议
什么是VRRP 虚拟路由冗余协议VRRP(Virtual Router Redundancy Protocol)是一种用于提高网络可靠性的容错协议。 通过VRRP,可以在主机的下一跳设备出现故障时,及时将业务切换到备份设备,从而保障网络通信的连续性和可…...
隧道应急广播应该如何搭建?
隧道应急广播系统的搭建需遵循以下关键步骤,确保在紧急情况下能够迅速、准确地传达信息,保障人员安全: 1. 需求分析与规划设计: 明确目标:确定广播系统覆盖范围(如隧道全长、出入口、避难所等关键位置&…...
OpenHarmony实战开发-Worker子线程中解压文件。
介绍 本示例介绍在Worker 子线程使用ohos.zlib 提供的zlib.decompressfile接口对沙箱目录中的压缩文件进行解压操作,解压成功后将解压路径返回主线程,获取解压文件列表。 效果图预览 使用说明 1.点击解压按钮,解压test.zip文件,…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
