年底了,误删除数据库生产表-阿里云开发者社区

开发者社区> 余二五> 正文

年底了,误删除数据库生产表

简介:
+关注继续查看

误删除数据库中的表、数据这个问题已经是遇到了很多次了。
失误再说难免,所以才有了DBA存在的意义。最近也是接触了银行业的很多客户,关注了一下数据库权限,开发所拥有的权限真的很大,我想说你要难么大权限,就不怕担责么。对于一家软件公司,一家好的软件公司连自己需要的权限都不清楚真的很无语。可能这就是国内软件公司的现状吧,不吐槽了。

如果遇到了drop table 需要恢复的小伙伴往下看吧。

--11g recyclebin参数默认已经打开。
RECYCLEBIN
Property                                      Description
Parameter type                        String
Syntax                                       RECYCLEBIN = { on | off }
Default value                              on
Modifiable                                ALTER SESSION, ALTER SYSTEM ... DEFERRED
Basic                                         No
RECYCLEBIN is used to control whether the Flashback Drop capability is turned on or off. If the parameter is set to off, then dropped tables do not go into the recycle bin. If this parameter is set to on, then dropped tables go into the recycle bin and can be recovered.
--小实验
SQL> conn roidba/roidba
Connected.
SQL> select * from tab;

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
A4L                            TABLE
A8                             TABLE

SQL> select count(*) from A8;

  COUNT(*)
----------
      4233

SQL> drop table A8;

Table dropped.

SQL> show recyclebin
ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROPTIME
---------------- ------------------------------ ------------ -------------------
A8               BIN$YYb+crYDEBbgU9MBqMBDhA==$0 TABLE        2017-1230:11:03:31

SQL> flashback table a8 to before drop;

Flashback complete.
SQL> select * from tab;  

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
A4L                            TABLE
A8                             TABLE
SQL> select count(*) from a8;

  COUNT(*)
----------
      4233

SQL> 

小结
1、生产环境一定要打开回收站。
2、开发的权限要尽量回收。
3、这样的操作让DBA来做,让专业的人做专业的事。
4、这样的问题其实从管理上可以解决的。










本文转自 roidba 51CTO博客,原文链接:http://blog.51cto.com/roidba/2056035,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
快速删除数据库中所有表中的数据
原文:快速删除数据库中所有表中的数据 select 'truncate table ' + Name + ';' from sysobjects where xtype='U' order by name asc; 该条语句执行之后会将数据库中所有的表都查询出来,复制出来之后执行truncate语句即可 sysobjects 在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。
1065 0
db2删除数据库
1.断开所有连接  db2 stop application all   force 2.停止数据库    db2stop 3.删除数据库(系统管理员权限下)db2 drop  数据库name
504 0
easyui 删除数据表格
1 最直接的方法: 返回的数据格式               Object rows:Array[3] 0:Object 1:Object 2:Object length:3 __proto__:Array[0] total:3 return {total:0...
727 0
手工创建/删除数据库的步骤
今天和大家分享下数据库的创建和删除的步骤,里面有很多细节需要大家考虑。创建数据库不只是一个create database语句。删除数据库 drop database也不是随时都能执行的。
860 0
+关注
20382
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载