【浅谈DBA职业生涯之误操作篇---读书笔记】

news2024/11/19 7:01:01

在这里插入图片描述

👈【上一篇】
💖The Begin💖点点关注,收藏不迷路💖
【下一篇】👉

🔻【💣 话题引入:请列举你在从事 DBA 生涯中,最难以忘怀的一次误操作】

🚩 该话题覆盖各行各业,是一个普遍存在的问题,误操作可能导致数据丢失、系统异常、安全问题等不良后果,给个人和企业带来了不必要的损失和风险。

所以作为一个 DBA,或者哪怕仅仅是和数据库打交道的技术人员,要时刻保持 严谨、冷静、慎之又慎、严格执行的态度切忌浮躁、想当然、主观臆断

  • 下面是itpub技术论坛中大佬们的经验分享。

在这里插入图片描述
这些案例很有趣,展现了许多因一时疏忽、不够严谨所犯下的错误。下面摘录了一些与误操作相关的案例,我们应该引以为戒,共同警醒,避免重蹈覆辙。

🔻【案例1----记一次恢复误操作删除了生产服务器数据】

⛳ 安排一个MM在一台生产服务器上安装 Oracle,遂边研究边安装,感觉装的不对,准备卸载重新安装。
从网上找到卸载方法,其中要执行一行命令删除 Oracle 的安装目录,命令如下:
如果 ORACLE_BASE 这个变量没有赋值,那命令就变成了:
rm -rf /*,就这样,把整个盘的文件全部删除了,包括应用 Tomcat、MySQL 数据库 and so on…


💉 感受:这个周末算是报销了,不挨批,通报,罚款,开除就不错了,还过什么周末啊。

🌟 反思&总结:本次安排 MM 进行服务器维护时没有提前对她进行说明厉害情况,自己也未重视,管理混乱,流程混乱。**

🔻【案例2----昨天晚上一哥们儿,把数据库给整挂了!】

接到电话7点多了,说是数据库无法访问,吓坏我了,通常这个比较棘手的。问了具体情况,才这么说,是load了几张表后,数据库暂挂了,我终于舒了一口气!

🔻【案例3----rm 丢魂记】

⛳ 删除日志时,输入rm * .log,因为星号与log之间有空格,所以删除了该目录下所有的文件,吓得我出了一身汗

⛳ 一不小心用rm -rf /home目录下的所有文件,/home目录下放的账务系统的app。一看删除的路径的不对,已经来不及了。

⛳ rm -rf /opt/ora92/
在测试库中本来想删除数据库,结果错误的把ORACLE软件删除了.

⛳ 在linux平台上,一次不小心操作,把oradata下所有的东西全删除了。
⛳ 执行 rm -rf /test 时,敲完 / ,不小心就碰到了回车……人生最痛快的事莫过于此…….

🔻【案例4----DBA误操作 ODU救命记】

仍然是多事9月5日上午,4号晚上睡的太晚,5号一来继续看那个DL580 G3 + Oracle 10.2.0.1裸奔机,发现一个索引应该没太大用处,Toad下DESC 这个表调出了Table,原本想删掉那个无用索引,结果点了Toad中最右边Truncate的按钮,Index没删掉,表却被截断了。

🌟 反思&总结:DBA对DDL操作一定要小心,Double Check后再做。个人也要休息好,不能太累。脑子不清楚时一定要小心再小心。

🔻【案例5----记录一次惊心动魄的误操作(Oracle)】

多扩容的5块磁盘,居然是归档所使用的/arch 文件系统盘,DG备库的归档并没有存储在ASM存储中,而是使用的本地文件系统,最终导致归档数据和+DATA磁盘组数据重复写入,数据大面积损坏,数据库宕机。

🌟 反思&总结:虽然此次误操作发生在DG备库,没有对生产系统造成任何影响,但由于主库是一套非常核心的数据库,如果此次事件发生在主库而不是备库,后果会非常严重。

出现此次事故根本原因是对备库操作不够重视,从而导致关键性操作粗心大意。根据墨菲定律,凡事如果有出错的可能,在将来的某一天一定会出错。所以要做出改变,改变心态,改变安全意识,改操作规范等。

🔻【案例6----职业生涯中,最难以忘怀的误操作】

一次工程实施,一个超市开业,经过一个多月的数据初始化,好不容易把所有商品都弄好了,离开门只有5分钟了,超市门口庆典已经开始了,聚集了很多顾客等着开门呢,我突然接到他们超市的人说有一个商品的价格弄错了,要我手工修改数据库改过来,我就照做了,但是我写的update语句忘了写where条件了,执行后我发现执行的很慢,十几万条数据啊,所有的商品的价格都已一样的了,此时我足足愣了2分钟,一言不发,一身冷汗。我赶紧打电话给他们经理说能否晚开门5分钟我恢复备份数据库,他们不答应晚开门,但可以限制10分钟后才让收银台收款,我才终于将心放到肚子里了。

🌟 反思&总结:8年过去了,现在想起来都有些怕,万一没有数据库备份,我如何负责?我如何能负责得起啊!!!!!”

🔻【案例7----远程重启网卡】

有一次远程操作,本想着重新启动网卡
service network restart
但不知道脑子一热
servier network stop
结果,只能跑到机房 start了

🔻【案例8----mysql添加用户权限(心凉哇凉的啊)】

第一次自己管理mysql的数据库,在为一个用户添加权限的时候,误操作使用了 update user set Password=password('*') .后面居然忘了加条件语句。 瞬间所有的用户密码变的一样了。那时候真是“心凉哇凉的啊” ,哎 现在想想都很无语~~

🔻【案例9----记一次Oracle数据更新】

⛳ 我是在Oracle数据库中做数据更新,对一个表做update的时候,少添加了一个where条件,结果至少有二百万条数据被误更新了。。。
幸好此前做过一个备份,否则的话哭都没地方哭去

🔻【案例10----记多机器来回切换的误操作】

经常在十几台机器之间来回切换,有次rm -rf ./ * 清个文件夹,结果执行完发现rm到其他机器上去了…
🌟 反思&总结:从此以后执行重要命令之前先ifconfig看下ip

🔻【案例11----【一记难忘的误操作】当shareplex的capture queue file被删除之后】

月黑风高,不料天有不测风云,一次痛苦而难忘的误操作就发生于此。
在生产环境的误操作尤其是DBA的梦魇。虽然最后竭尽全力,力挽狂澜,但仍心有余悸。
故事发生在为Oracle提供高级复制的软件Shareplex身上。


起因,Shareplex有一个一直未曾解决的Bug,在vardir目录下会产生许多capture queue files,直到将vardir撑爆。目前的workaround是找到当前使用的capture queue file,人为删掉前面所有的capture queue files。
经过,傍晚是睡意朦胧之际,警觉之心顿消,copy&paste的速度越发地熟练和不假思索,于是,悲剧地多删了最后,也就是当前的capture queue file。
结果,(此处省略几千字)Fixed。

🔻【案例12----【一次 MySQL 误操作导致的事故,「高可用」都顶不住了!】

不是有 Keepalived 来保证高可用么,即使 MySQL 挂了,也可以通过 Keepalived 来自动重启才对。即使一台重启不起来,还有另外一台可以用的吧?

🌟 反思&总结:查找最近发生的日志,为啥 log 文件夹被干掉了??有位同事之前在迁移升级的过程中,发现这个 log 数据库在老的系统是没有的,所以就清理了,这就相当于把 log 数据库干掉了,同时也会把 log 文件夹干掉了。好了,终于水落石出了!

🔻【总结】

🍹 备份 备份 再备份,重要数据都要做好备份!公司的备份最好还要多做备份的有效性测试!!!
🍹 能不用root 尽量不用root!!!
🍹 “backup is your last line of defence” -----真理呀!话说常在河边走,哪有不湿鞋。

🍹 不操作有时是最好的操作。
🍹 失败是让人记忆深刻的,失败也是会成为一个大脑里的标记的。
🍹 DBA 有些素质和习惯是必须养成的,很多误操作都和技术能力基本无关,只是要细致、严谨,再认真一点。
🍹做事时要能够明确工作的性质、分析潜在的风险、回避可能引发的问题。

在这里插入图片描述


👈【上一篇】
💖The End💖点点关注,收藏不迷路💖
【下一篇】👉

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

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

相关文章

【算法】深入了解数据压缩算法(无损压缩和有损压缩)

目录 1 引言: 1 数据压缩的重要性和应用场景 2 压缩算法的基本原理和分类 2. 无损压缩算法 2.1 哈夫曼编码 2.1.1 哈夫曼编码的原理和步骤 2.1.2 实现一个简单的哈夫曼编码器 2.2 字典编码 2.2.1 LZW算法的原理和步骤 2.2.2 实现一个基于LZW算法的压缩程序…

力扣笔记(每日随机一题)—— 二叉树的中序遍历

问题(简单) 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/binary-tree-inorder-traversal/ 示例 1 输入:root […

诡异BUG:DIV 的 margin 设置影响父级

参考资料&#xff1a;1、【web前端】23.解决内部div的margin影响外部div的margin_Anabel Chen的博客-CSDN博客 2、元素之间设置margin的影响及原因 有如下代码&#xff1a; <!doctype html> <html> <head><meta http-equiv"Content-Type" co…

RPC——RPC协议介绍及原理详解

common wx&#xff1a;CodingTechWork 介绍 RPC框架 概念 RPC&#xff08;Remote Procedure Call Protocol&#xff09; 远程过程调用协议。RPC是一种通过网络从远程计算机程序上请求服务&#xff0c;不需要了解底层网络技术的协议。RPC主要作用就是不同的服务间方法调用就…

Java蓝桥杯

目录 往年真题 题目分类 搜索 动态规划 并查集 贪心算法 二分查找 输入输出 图论 其他 往年真题 2022年第十三届蓝桥杯大赛软件类决赛Java研究生组真题 - 题库 - C语言网 2021年蓝桥杯第十二届省赛及国赛真题 - 题库 - C语言网 2020年蓝桥杯第十一届省赛及国赛真题…

[创业之路-73] :如何判断一个公司或团队是熵增:一盘散沙、乌合之众,还是,熵减:凝聚力强、上下一心?

前言&#xff1a; 一盘散沙、乌合之众&#xff1a; 凝聚力强、上下一心&#xff1a; 一、股权结构与利益分配 一盘散沙、乌合之众 凝聚力强、上下一心 股权结构过于松散和平均&#xff0c;无决策者&#xff0c;常常陷入无休止的争论股权结构层次结构&#xff0c;有最终决策者…

0302nacos配置运行-docker-macos apple arm64

1 已有镜像 拉取镜像 docker pull zhusaidong/nacos-server-m1:2.0.3运行容器-单机模式运行配置mysql数据库 第一步&#xff1a;创建挂载目录和文件 创建nacos 日志目录、配置目录 直接运行镜像&#xff0c;命令行或者图形界面进入容器&#xff0c;找到配置文件home/nacos/con…

TClientDataSet 模拟 EXECEL表

日常处理数据时&#xff0c;经常需要&#xff0c;从EXCEL表格中&#xff0c;批量导入数据&#xff0c;通过 XLSReadWriteII编程&#xff0c;会很快导入。 但是&#xff0c;客户提供的EXCEL表的字段&#xff0c;数据格式&#xff0c;字段的排序&#xff0c;有很大的区别。因此&a…

如何正确使用SDK加密串(视频加密)

我们点播SDK需要用户提供 userid、readtoken、writetoken、secretkey几个配置信息才能解密播放视频。基于安全性考虑&#xff0c;建议这些参数保存在服务端&#xff0c;APP 在启动时从服务端获取并配置。 为防止 APP 端被嗅探这几个参数&#xff0c;需要对传输的内容进行加密。…

Postgresql源码(105)分区表剪枝代码分析

对于分区表&#xff0c;对于子表的剪枝是保证性能的最重要的手段&#xff0c;优化器在生成Plan的过程中对子表进行了裁剪&#xff0c;本篇对裁剪流程做简要总结。 1 构造数据 CREATE TABLE measurement (city_id int not null,logdate date not null,peaktemp…

电子科技大学 数学专业-功不唐捐,玉汝于成

电子科技大学 数学专业 功不唐捐&#xff0c;玉汝于成 1.本科背景 本科是坐落于湖南湘潭的湖南科技大学&#xff0c;专业为网络工程专业&#xff0c;因热爱数学专业&#xff0c;所以决定跨考数学专业。 本科专业课平均成绩85&#xff0c;排名10/104。CET 4 474分&#xff0c;…

【动态规划专栏】-- 01 背包问题 -- 动态规划经典题型

目录 背包问题概述 01 背包问题 01背包⭐⭐ 【算法原理】 第一问 第二问 C 算法代码 复杂度分析 【空间优化 - 滚动数组】 C 算法代码 复杂度分析 分割等和子集⭐⭐ 【算法原理】 对于类01背包问题 C 算法代码 【空间优化 - 滚动数组】 C 算法代码 目标和…

利用宝塔搭建个人博客:简单而高效的教程

前言 宝塔面板是一款服务器管理软件&#xff0c;支持windows和linux系统&#xff0c;可以通过Web端轻松管理服务器&#xff0c;提升运维效率。 例如&#xff1a;创建管理网站、FTP、数据库&#xff0c;拥有可视化文件管理器&#xff0c;可视化软件管理器&#xff0c;可视化CP…

[C++]异常笔记

我不怕练过一万种腿法的对手,就怕将一种腿法 练一万次的对手。 什么是C的异常 在C中&#xff0c;异常处理通常使用try-catch块来实现。try块用于包含可能会抛出异常的代码&#xff0c;而catch块用于捕获并处理异常。当异常被抛出时&#xff0c;程序会跳过try块中未执行…

Redis6之简介与安装

目录 一、NoSQL NoSQL 特点 使用场景 二、Redis介绍 简介 特性 使用场景 三、Redis安装 1、下载 2、安装 3、启动、停止 4、补充 四、key键操作 一、NoSQL NoSQL 非关系型数据库&#xff1b;存储原理非常简单(典型的数据类型为k-v),不存在繁杂的关系链&#xff…

LabVIEW与Space Wire配合开发

LabVIEW与Space Wire配合开发 Space Wire是欧洲航天局开发的一种高速、点对点、全双工的串行总线网络&#xff0c;以IEEE1355-1995和LVDS 两个商业标准为基础&#xff0c;汲取了1394技术、ATM技术、以太网技术的优点&#xff0c;同时考虑了空间应用的特点&#xff0c;在故障检…

10 - 守护进程深度分析

---- 整理自狄泰软件唐佐林老师课程 查看所有文章链接&#xff1a;&#xff08;更新中&#xff09;Linux系统编程训练营 - 目录 文章目录 1. 会话与终端的关联1.1 思考1.2 新会话关联控制终端的方法1.3 一些相关推论1.4 一些想法1.5 编程实验&#xff1a;会话与终端 2. 守护进程…

RK android13编译环境搭建与常用编译命令

RK android13编译环境搭建与常用编译命令 1 使用清华的源1.1 备份sources.list1.2 用下面的内容替换/etc/apt/sources.list里面的内容1.3 更新源 2 安装编译环境3 常用编译命令3.1 设置项目的编译命令&#xff0c;环境变量3.1 编译所有模块3.2 编译android3.2 编译kernel3.3 编…

linux驱动学习2-pinctrl子系统和gpio子系统

pinctrl子系统 pinctrl 子系统主要用于管理芯片的引脚。 iomuxc节点介绍 首先我们在/ebf-buster-linux/arch/arm/boot/dts/imx6ull.dtsi 文件中查找 iomuxc 节点&#xff0c;可以看到如下定义 iomuxc: iomuxc20e0000 {compatible "fsl,imx6ul-iomuxc";reg <…

【软件环境安装部署】Linux服务器下 Docker 安装 MongoDB 以及 SpringBoot 整合 MongoDB 开发使用

文章目录 安装测试 MongoDB拉取镜像创建和启动容器登录mongo容器&#xff0c;并进入到【admin】数据库创建一个用户&#xff0c;mongo 默认没有用户连接mongo数据库测试数据库&#xff0c;插入一条语句测试数据库&#xff0c;查询刚才插入的语句查看所有数据库开放指定端口navi…