(18)谁动了你的数据库?
2013-12-15 14:45
134 查看
除了DBA可以管理数据库,SA可以登录你的数据库服务器,不止这些,实际中,因为一些DBA不能拒绝的原因,让开发也拥有了DBA权限或某个用户的所有权限的也比比皆是。 这就造成了一些管理上的困扰。比如一时失手删除点东西,或如好学的开发把它当成测试库一样,可能在里面改点东东,或增加点东东,而又没通知DBA。 异或做了某些动作引起PLSQL程序失效而不自知。
这些未知的东东不在你的管理之下,真是很麻烦的事。 当然DBA自已的失误我就在这忽略了,哈哈。总之防止不了各类问题,不管你是DG还是RAC,对这种操作都是无能为力的。如我听过的数据库连接错误 ,把正式库当成了测试库,执行了一些有严重后果的操作。或者最糟糕的情况是一个 rm因为路径多了一个空格,直接把一个库给弄没了。另一个糟糕的例子是,有开发在加班时在生产库误删了一个表,怕上头查,因为库很小,是个单实例,竞然偷着把整个库都给做了个一知半解全库恢复,让他给弄丢了一天的数据。
对于这些情况,最好的办法是管理要规范,有严格的权限划分,严格的审核和审计。才可能有效的防范这些可能性。不过能这么重视数据库管理并严格遵守的公司好像不多。 如果你刚好不在这类公司那或许可以看看我提的一些建议:
1. 尽量收拢建表,加索引之类的权限。
2. 在增加或更改东西前,做好回退或应变的准备。有时,可以先做个备份再做这些动作。
3. 多关注all_objects表,特别是我列的这三列。从这可以看,数据库最近做的更改或新增,及对象的状态。最后能定期有个history表。
这样,别人要是偷偷在后面增加或删除了什么数据库对象,是可以查出来的。
select a.status,a.created,a.last_ddl_time,a.* from all_objects a
4. 对重要的表,利用Oracle做一些审计,特别是与钱有关的。
5. 数据库用户权限要收紧。
6. 对重要的后台程序,在调用前,必须查一下是否失效? 这个问题非常容易被开发忽视掉。以为调用了就没事了。见过后果很严重的。
7.自己要有文档或邮件留存,记录下相关变更原因和时间。
8. 最好开启闪回,太有必要了。
9.
备份,最重要的东东,恢复演练要常做,你的最后手段 ,最好别用上,用上时千万别失灵。
实际当然还有需要其它手段,不过上面几点基本够用了,当然对于像SA误删库之类的错误,很难防得了,这只能靠运气了。
所以DBA的工作并不只是在表设计,调优等方面。其管理方面的东东也不能小视。它有时会直接影响到你的饭鋺。
这就是为什么数据库的备份大于一切。
MAIL:xcl_168@aliyun.com
Blog:http://blog.csdn.net/xcl168
这些未知的东东不在你的管理之下,真是很麻烦的事。 当然DBA自已的失误我就在这忽略了,哈哈。总之防止不了各类问题,不管你是DG还是RAC,对这种操作都是无能为力的。如我听过的数据库连接错误 ,把正式库当成了测试库,执行了一些有严重后果的操作。或者最糟糕的情况是一个 rm因为路径多了一个空格,直接把一个库给弄没了。另一个糟糕的例子是,有开发在加班时在生产库误删了一个表,怕上头查,因为库很小,是个单实例,竞然偷着把整个库都给做了个一知半解全库恢复,让他给弄丢了一天的数据。
对于这些情况,最好的办法是管理要规范,有严格的权限划分,严格的审核和审计。才可能有效的防范这些可能性。不过能这么重视数据库管理并严格遵守的公司好像不多。 如果你刚好不在这类公司那或许可以看看我提的一些建议:
1. 尽量收拢建表,加索引之类的权限。
2. 在增加或更改东西前,做好回退或应变的准备。有时,可以先做个备份再做这些动作。
3. 多关注all_objects表,特别是我列的这三列。从这可以看,数据库最近做的更改或新增,及对象的状态。最后能定期有个history表。
这样,别人要是偷偷在后面增加或删除了什么数据库对象,是可以查出来的。
select a.status,a.created,a.last_ddl_time,a.* from all_objects a
4. 对重要的表,利用Oracle做一些审计,特别是与钱有关的。
5. 数据库用户权限要收紧。
6. 对重要的后台程序,在调用前,必须查一下是否失效? 这个问题非常容易被开发忽视掉。以为调用了就没事了。见过后果很严重的。
7.自己要有文档或邮件留存,记录下相关变更原因和时间。
8. 最好开启闪回,太有必要了。
9.
备份,最重要的东东,恢复演练要常做,你的最后手段 ,最好别用上,用上时千万别失灵。
实际当然还有需要其它手段,不过上面几点基本够用了,当然对于像SA误删库之类的错误,很难防得了,这只能靠运气了。
所以DBA的工作并不只是在表设计,调优等方面。其管理方面的东东也不能小视。它有时会直接影响到你的饭鋺。
这就是为什么数据库的备份大于一切。
MAIL:xcl_168@aliyun.com
Blog:http://blog.csdn.net/xcl168
相关文章推荐
- html5学习之旅-html5的简易数据库开发(18)
- 如何增加 Exchange Server 2003 Service Pack 2 的 18 GB 数据库大小限制
- DataRabbit 轻量的ORM框架(18)-- 捕获数据库访问异常的详细信息
- 关于数据库使用numeric(18,2) ,java后台使用double会出现金额显示问题解决方案。
- SQL Server 2012笔记分享-18:理解并设置tempdb数据库
- TimesTen 应用层数据库缓存学习:18. 利用TimesTen实现Sharding或数据分区
- Django连接数据库------18
- Linux学习之路--MySQL(1)数据库介绍及安装方法【18】---20180117
- Oracle 数据库 10g:为 DBA 提供的最重要的 20 个特性 - 18.ADDM 和 SQL Tuning Advisor
- 一起看代码来玩玩QT之18 database (last QSqlQueryModel 对数据库进行操作(只查不能改)QTableModel 可改,但是QSqlQueryModel也可以添加代理等功)
- iOS UI 18 数据库
- 数据库开发(18)信息检索
- android学习笔记(18)数据库sqlite初步
- iOS UI 18 数据库
- 18.笔记go语言——访问数据库
- OCP认证考试指南(18):配置数据库的备份与恢复(1)
- ecshop数据库表18(ecs_back_goods)退货商品信息表
- OCP认证考试指南(18):配置数据库的备份与恢复(2)
- DataRabbit 轻量的ORM框架(18)-- 捕获数据库访问异常的详细信息
- sql学习笔记(18)-----------数据库创建过程