9 数据库操作管理规范
9.1 备份机制
备份表命名规则:BAK_表名_月日时,月日时为两位数字。备份表名优先按此规则命名,超长允许备份表名缩写,但在备注中要写明全表名。
- 在备份表的备注中说明备份原因、备份组、备份人。
- drop表必须做全表备份。如drop table pub_config;的备份语句如下:
create table BAK_pub_config _020101 as select * from pub_config; - delete或update数据必须做数据备份。如delete from pub_config where查询条件A的备份语句如下:
create table BAK_pub_config_020101 as select * from pub_config where 查询条件A。 - 备份表保留3个月,每季度清理一次,配置管理组负责清理前需要邮件通知责任田,若备份表需要继续保留,责任田通过修改备份表名中的时间以延长保留时间。
9.2 大数据量操作规范 - 对于增删改数据量>100万的数据操作,由开发人员通知配置管理组重建索引,并统计redo日志量。
- 配置管理组先在测试环境统计产生的redo日志量(要确保开发环境跟正式环境的数据量基本一致)。具体统计方法为:在执行脚本前后都执行下列语句,两次的结果相减结果是产生的redo大小,单位为byte,select value from v m y s t a t , v mystat, v mystat,vstatname where vKaTeX parse error: Expected 'EOF', got '#' at position 17: …ystat.statistic#̲ =vstatname.statistic# and v$statname.name =‘redo size’;
- 如果配置管理组评测出产生的日志大于1G时,通知责任田可以启用nologging,减少redo的产生。
具体方法A:alter table A nologging;然后再增删改数据脚本;最后alter table A logging;
方法A适用于多个脚本对同一个表进行大量数据删改数据操作.
具体方法B:update A set a1=1 nologging;
方法B适用于单个脚本对同一个表进行大量数据删改数据操作。 - 上班时间段不允许进行大规模数据操作,如备份、导出、导入、删除等。
- 脚本执行时间放在非系统运行高峰时间段(18点-次日7点,12点-14点(阻挡性问题紧急增量))。
- 在大数据量操作过程中,平台组提供技术支持。
9.3 正式环境数据库操作规范
第一步:操作之前注意事项(实施组检查SQL脚本) - 明确脚本的作用;
- Truncate,drop,delete,update操作都需要备份数据;
- 针对大批量数据修改,需要开发提供测量redo大小,日志超过1GB需要实施组找局方确认归档日志剩余空间满足操作所需;
- 需要开发组提供SQL执行时间,写在脚本注释中。
第二步:操作之中注意事项 - 局方上班时间不能对批量数据进行操作;
- 导入、导出数据只能在非上班时间,如因客户要求不可避免要在上班时间导出数据,客户必须正式向实施组长提出(如发出邮件)。
第三步:操作之后注意事项 - 使用PL/SQL和SQL*PLUS使用完毕后需要关闭;
- 如果是修改、删除数据需要保存操作日志。