DBA生存警示:主备环境误操作案例及防范建议

编辑手记:对于资深的老DBA们,他们在漫长的职业生涯中养成了很多稀奇古怪的守则,以在复杂多变的环境中“幸存”,这源于无数血泪的教训,我曾经在《数据安全警示录》一书收录了大量现实案例,现在整理分享给大家,共为警示。

在数据库日常管理过程中,有些威胁来自数据库外部,而有些威胁则来自数据库内部,对于数据库外部,破坏性的操作有rm,而在数据库内部,同样有破坏性操作,如Truncate。

案例分享


生产与测试环境错误

开了两个PL/SQL DEVELOPE窗口,一个生产的,一个非生产的,同名用户,同表空间名,结果非生产的建用户脚本在生产中跑了一下,非生产是grant limit table space to XXX的,在生产中跑了以后,生产中的用户变成LIMIT了,结果程序出错,表空间不足。导致应用出错半个小时后才处理好。 这个太惨痛了,建议所有的使用多个环境的人,并且操作多个PL/SQL DEVELOPE的人尽量只开一个窗口操作,或者是操作生产的时候,用只读的查询用户。

生产与测试环境错误

自己电脑装了ORACLE数据库,平时操作都在自己创建的库上........经常删除用户,重新导最新的数据进去。 那天也是快下班了........急,直接删除用户,删除的时候还在想就算是正式库权限不够没关系,看也没看就敲回车了.......后来不说了,两个字,郁闷。

生产与测试环境错误

我有一次本来要删除测试库的,结果差点删除生产库的一个表的所有数据,还好强行ctrl_alt_delete,最后回滚了,哈哈,居然一条数据都没有删除。确实是快下班,比较累。以后不能在心急的时候维护数据库。

生产与测试环境错误

也是开了多个窗口,一个窗口建库,另一个窗口是生产的库。搞错了,在生产的服务器上直接shutdown了,立刻电话就上来了。好在没有造成太大影响,也是提心吊胆的。多窗口危险很大。

生产与测试环境错误

尤记得那年我还很冲动,测试环境中发现表空间不够了,就加了一个文件。一会有人打电话说生产库总报一个提示。 马上去看,发现我的数据文件竟然加在生产库上!而且路径类似windows的,非常奇怪,冷汗!靠,原来写错tns串了,见鬼的是测试环境和生产环境网络竟然是互通的!生产环境是RAC,裸设备,9i......后来只好把这个本地文件脱机,数据倒没有丢失,但总有个删不掉的脱机文件!后来找个理由升级成10g了,我心里的石头才算放下了。 从此以后我再也没有犯错。

误删除生产环境数据

有一次在測試庫drop掉一個表,drop完發現把生產庫中的表給DROP了,1000多万筆紀錄啊。當時產線就停了,最後一級生產事故。偶公開檢討。教訓:不能同時打開兩個以上的庫。

防范建议


1.测试环境和生产环境应当处于不可互通的物理网络

互通就意味着同时可以访问,也就可能带来很多意想不到的安全风险,企业应当将测试环境和生产环境部署于不可互通,或者不可同时访问的网络环境中,避免因为错误连接而发生的数据库灾难。 分离部署一方面可以降低误操作的可能性,也可以屏蔽一些无关的访问可能,从而从网络链路上保证数据安全。

2.在执行任务之前确认连接访问的数据环境

通过查询数据库的视图(V$INSTANCE,V$DATABASE)就可以获得数据库的主机、实例名称等信息,在任何重要任务执行之前,都应当明确确认连接到的环境是正确的。 SQL>select instance_name,host_name from v$instance; 这应当成为DBA的习惯。

3.避免打开过多的窗口以致操作错误

在执行任务时,保持尽量少的打开窗口,我经常见到工程师桌面打开众多凌乱的窗口,混乱与错误同行,尤其是在通宵加班等环境下。 保持简介清晰的工作界面,是一个工程师应当具备的基本素质。

4.在执行重要任务时应保持良好的状态

良好的状态是高效率和高质量工作的保障,如果是夜间工作,应该保障充足的睡眠,以清醒的头脑面对重要的工作;并且一定要避免在疲劳状态下连续工作,疲劳作战是对自己和数据的不负责任。

5.避免匆忙之下进行重要的工作或决定

很多误操作都是因为急着下班,急着回家,临门一脚导致的失误,所以当我们去执行一项工作时,应当保持平和的心态,避免仓促紧急的决定。从来匆忙和仓促都不是一个正确的方法。

6.测试环境和产品环境密码设置不能相同

有些测试环境或者非产品环境是利用产品环境恢复得到的,DBA在建立了测试环境后,就没有修改数据库用户的登录密码;经常性的,DBA也习惯在所有环境中设置通用的密码;这些习惯为系统带来了很多风险和不确定性。 我们建议用户在不同环境中采用不同的密码设置,这是因为一方面产品环境和测试环境面对的访问用户不同,密码设置相同则意味着产品环境的安全性完全得不到保障;另一方面,DBA登录到不同的数据库需要使用不同的密码,这进一步减低了DBA在错误的环境下执行命令的可能性。

以上内容摘录自盖国强《OracleDBA手记4数据安全警示录》。

近期文章

成就卓越:云和恩墨大讲堂期刊第三期

新年贺礼:云和恩墨大讲堂期刊第二期

删繁就简-云和恩墨的一道面试题解析

用SQL解一道数学题:Gauss和Poincare

新年贺礼:云和恩墨大讲堂期刊发行

2015 Oracle 十大热门文章精选

Oracle 12c ASM 防火防盗新特性揭秘

DBA入门之路:关于日常工作的建议

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2016-03-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏phodal

操作系统Emacs是如何沦落为一代编辑器的?

(本文根据史实改编,如有雷同纯属巧合) 我正在用Emacs替换IDE和Sublime Text,至于理由看另外一篇文章《Emacs是最好的编辑器~~》。 开始之...

2218
来自专栏顶级程序员

为什么看起来不是很复杂的网站,淘宝、腾讯却需要大量顶尖高手来开发?

为什么看起来不是很复杂的网站,淘宝、腾讯却需要大量顶尖高手来开发? 阿里巴巴员工2万,百度技术人员超过6000,京东也有三四千攻城狮。 子柳: 就拿淘宝来说说...

3708
来自专栏FreeBuf

任天堂 Switch 遭 fail0verflow 黑客组织破解,已可运行 Linux 系统

fail0verflow 黑客组织成员近日在赫赫有名的游戏机 Nintendo Switch上发现了一个漏洞,他们在推特上公开了他们的发现,并发布了漏洞利用的结...

1767
来自专栏安恒信息

警惕!别以为智能锁万无一失 黑客正在悄悄打开你的房门

明鉴数据库漏洞扫描系统(简称:DAS-DBScan)是安恒在深入分析研究数据库典型安全漏洞以及流行的攻击技术基础上,研发的一款数据库安全评估工具。该产品融合了权...

1042
来自专栏黑白安全

漏洞评估指南 {Vulnerability Assessment}

漏洞评估的四步指南 这是一个建议的四步法,使用任何自动或手动工具启动有效的漏洞评估流程。

962
来自专栏施炯的IoT开发专栏

ZigBee On Windows Mobile--1.背景和结构

    在开始之前,先引用一下我在今年的Windows Embedded正文比赛上的文章-“移动设备中ZigBee接口的实现”。该文章只是介绍了框架性的概念和实...

1705
来自专栏FreeBuf

使用第三方库进行软件开发的安全风险研究

如今,很多软件由于长期使用第三方库文件,导致了持续的安全问题。而在程序开发设计阶段,开发者又经常忽略了第三方库代码的漏洞审查,甚至有些资源库(repositor...

1977
来自专栏ImportSource

为什么看起来不是很复杂的网站,淘宝、腾讯却需要大量顶尖高手来开发?

来源:知乎 链接:http://www.zhihu.com/question/20303645 为什么很多看起来不是很复杂的网站,比如 Facebook 需要大...

3227
来自专栏FreeBuf

自己动手打造家庭安保系统

学习技能的一个好途径就是自己动手做一个家庭安保系统,特别是使用Arduino这种单片机来实现。通过一些硬件和免费的软件,我们就能够自己打造一个家庭安保系统。同时...

2228
来自专栏FreeBuf

新加坡新保集团(SingHealth)网络攻击事件的可疑线索分析

近期,安全公司 Trustwave 旗下 SpiderLabs 实验室发现了可能与新加坡新保集团(SingHealth)网络攻击相关的一些信息线索,在前一篇文章...

482

扫描关注云+社区