Oracle & MySQL 老司机说我们要使用(延迟复制)

发布时间:2020-07-18 00:56:45 作者:roidba
阅读:1432
mysql云数据库,弹性扩容,低至0.3元/天! 查看>>

最近工作中又遇到生产环境数据库的表被删除的情况,其实这样的事情本不该发生。

几个小建议:

  1. 生产环境数据库开发人员只能有查询权限,甚至级别低的开发根本没权限查生产系统,类似表的删除交给专业的DBA来操作,当然有些单位没有所谓的DBA.

  2. 专职的DBA基本都具备一个属性,就是每一步的操作都会考虑好后果,所以删除表之前都会有一个备份。

  3. 建立审核制度,truncate 、drop、 rm这样的操作可能是致命的,必须要审核。

  4. 可以先rename表,比如把表rename成bak_date_tablename,定期去清理一下。

  5. 数据库每天的备份必不可少,管他逻辑备份还是物理备份,都是必须有的,看看你家数据库有没有,数据丢失从来都不是一件小事。

接下来说说,数据库的一个小功能,“延迟复制”

Oracle dataguard 有延迟复制,MySQL 5.6也有延迟复制,老司机建议您在有条件的情况下,可以开启延迟复制,一旦数据丢失,我们也可以及时恢复数据。

--Oracle

SQL> select switchover_status ,open_mode from v$database;

SWITCHOVER_STATUS    OPEN_MODE

-------------------- --------------------

NOT ALLOWED          READ ONLY WITH APPLY

SQL> alter database recover managed standby database cancel;

Database altered.

SQL> alter database recover managed standby database delay 5 disconnect from session; --5分钟,可以按照小时来设置

Database altered.

--alter*.log

RFS[2]: Selected log 4 for thread 1 sequence 51 dbid 1483481154 branch 955700418

Fri Sep 29 20:39:39 2017

Media Recovery Delayed for 5 minute(s) (thread 1 sequence 50)

Fri Sep 29 20:39:47 2017

Archived Log entry 48 added for thread 1 sequence 51 ID 0x58707be4 dest 1:

Fri Sep 29 20:39:47 2017

mysql>stop slave; 
mysql>CHANGE MASTER TO MASTER_DELAY = 600; 
mysql>start slave; 
mysql>show slave status \G;

具体怎么利用延迟复制来恢复数据,大家需要自己做测试了哈

作为一个合格的DBA,不会只有一种方法恢复数据的。尽量不要出现误删除操作,毕竟恢复数据的过程,业务也会中断,损失在所难免的。

话说有没有热爱打篮球的兄弟,周末可以交流一下数据库技术和球技哈~

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

推荐阅读:
  1. mysql与Oracle的具体区别及功能
  2. 太平洋保险家园大数据项目DSG应用(30多个Oracle等实时同步到KAFKA)

开发者交流群:

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

oracle mysql 老司机

上一篇:文本工具类TextUtil

下一篇:Oracle设置Shared Pool的大小

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》
开发者交流群×