数据库-DBA标准操作手册 Oracel MySQL

所需积分/C币:27 2017-06-30 13:57:14 1.22MB PDF

阿里巴巴-数据库-DBA标准操作手册,多达74页
资源由 美河学习在线收集分享 四、操作流程 准备工作 需求分析阶段确认项目涉及的数据订正范围和数据量 跟开发人员确定订正后是否涉及到对缓存的刷新和订正。 根据数据量评估对数据同步的影响,决定是否屏蔽同步。(应用必须熟悉同步采用 的技术、正常情况下的同步量和延时、可以容忍的同步延时、屏蔽同步的只体方法。) 注意规划订正速度,以防消耗殆尽。 订正脚本: 开发接口人直接提供可执行的脚本, 只负责拷贝执行。 开发接口人提供主键及更新字段新值列表,由导入数据库,写脚本关联原表 批量订止。 开发接口人提供订正逻辑,由翻译为批量提交脚本。 订正脚本要求可断点续跑,可反复执行 严禁仅用一个事务来处理大规模订正(影响的记录数超过万笔)。超过一万笔的订正必 须分段提交 确认订止脚木的执行计划止确。 脚本中加入“进度报告”,即调用如下包(但是对于 中判断 的不允许这 样处理。): Dbms Application Info. set client info(n‖‘ rows commit”); 为变量,累加,表示当前订正的总记录数 开发阶段跟开发接口人确认数据订正逻辑,完成订止脚木,并跟廾发接口人确认脚木是 否正确,同时按照需求准备备份脚本。 测试阶段在测试库执行订正脚本,由开发接口人和测试人员验证订正的正确性,应用 协助验证。 发布前确定订正速度和并发度,确定订正时间段,预佔订正总时长,若涉及量较大,需 要跨天做订正,则应规划好每日订正的数据量和时间段。 各份要求 新建表初始化:无需备份,回退时直接 即可 现有表新增数据:新建备份表记录下新增记录的主键,或者在新增记录中特定字段标识 区分出订正所新增的数据,回退时定向 这些记录 现有衣朋除数据:新建备份表记录下删除数据的完整记录,回退时直接从备份衣中取出 数据到原表 现有表上新增字段初始化:无需备份,回退时将该字段为或者开发接口人 要求的值。不得将删除字段作为回退手段。 现有表上现有字段值修改:新建备价表记汞下所改动记录的主键及所改动宇段的原始值, 回退吋将改动过的字段按照主键更新到原衣(若应用程序在回滚前已经修改了记录,则要根 据具体业务具体分析回滚方案)。 备份表:备份表统一命名为 ,最后的 为操作 的姓名每个字的首字母,如果超长了,则将原表名缩减 创建人有责仟定期删除创建时间超过一个月以上的备份表。 执行过程 如果需要,按照备份脚本备份数据。 执行订正脚本。查看订正进度,使用如下本: 资源由 美河学习在线收集分享 这个脚本必须配合前面描述的“进度报告脚本执行。 检查消耗 检查表空间消耗 检查归档空间 检查同步延时是否异常。 如果需要刷新应用缓存,在订正结束后通知应用刷新缓存 验证方案 以应用验证为主,数据库辅助做一些等验证。以应用验证通过为操作成功标准。 五、核心对象风险 考虑到对和的景响,严禁数据订正更新主键值。 六、回退方案 按照备份时所做的各种不同的回退方案进行回退,回退之后也要要求应用做验证 创建、删除、修改 目的 明桷定义对于 对象的操作风险及步骤 、适用范围 项目发布创建新 以删除、重建的方式修改 的起始值。 在线修改 的 值 三、风险评估 命名与应用程序中不一致,导致应用无法正常访问 双问同步的库,多厍创建同名 ,起始值和步长值改置不合理,导致生成的值在表 中对应主键值同步产生冲突。 删除、重建 的过程中,应用无法访问 高并发的应用可能会产生故障。 删除、重建 之后没有对 的权狠进行恢复,导致原本访问该 的 其他 无法正常访问。 的设置不合理,设置过小会导致大量的系统相关等待,反之则导致 生成值断层过多浪费严重。 资源由 美河学习在线收集分享 程序的数据类型只能容纳最大亿,所以 不能超过这个值,如果有可能 超过,需要跟开发确认 四、操作流程 准备工作 默认使用变吏系统生成的 名称,如果要修改,必须跟开发人员沟通一致 与开发人员、项目发布负贲人沟通变更时间点。对于删除、重建的操作必须明确告诉他 们其间会有短暂的无法访问,如果是扃并发的应用则选择在系统访问量最低的时候执行,规 避风险。 根据并发数确定值,默认为,如遇特殊需求,酌情调整。 删除、重建的操作,事先检查是否有其他 拥有对该 的访问权限 WhERE table name= upper(重建的对象名) 全面考虑同步的风险,确定同步环节中各个数据库的同名 起始值及步长,保证 不会发生冲突,通常有如卜两种做法 起始值相差不人,步长值等于数据库个数。以双库同步为例,起始值分别设为和,步长 均设为 起始值相距较大,步长值相同。以双厍同步为例,厍起始值设为,库起始值设为 亿,步长均设为,相差的值可以根据增长预期进行调整。 执行过程 标准新建脚本 命名规范 默认不指定 和 标准重建脚本 为了尽量缩短 不可用时间,这两个语句一起放在 中 起执行。 标准修改-本 标准赋权脚本: 验证方案 检查是否有失效对象 通知应用验证是否可以正常访问 五、核心对象风险 高并发对象重建时短暂不可访问 资源由 美河学习在线收集分享 增加、删除唯一约束 目的 明确增删唯一约束操作的风险及标准流程,最大限度避免増删哐一约朿操作带来的故障 二、适用范围 项目发布新建表的增删唯一约束 对于旧表的增删唯一约束 风险评估 对现有表新增唯一约束的操作,会堵塞包括査询在内的所有操作,风险很大,请谨慎使用 尽量在新建茯时和开发讨论后增加。 没有指定系统自动创建了,删除约束时,自动创建的同时删除了。 在高峰期创建导致大量的 的等待 有同步的应用,先要在源端加,后在目标端加。 表里有重复的数据,导致操作失败。 四、操作流程 准备工作 检查唯建字段上是否存在没有的话需首先创建 步骤详见增加 册 检査唯一键上是否有重复数据,如有,需和开发讨论如何处理 根据应用的需求和数据库的负载情况,确定架作的时间点。对于数据量和访问量较大的 表,变更时间点要谨慎选择 检査字段上是否已经有了约束。 增加和删除唯一约束属于标准变更,需要开发在中提交事件单,应用提交变更 单,有技术经理审批后执行 对现有表新增约束,如果使用 这个参数,会导致该表上连查询在内的所有操作都 被锁住,风险非常大;如果使用 参数,这个参数会导致数据字典不一致(及导致 的时候会导入重复数据)。两者相比,故通常情况下用 的风险更大,默认必须 使用 参数。 约束名与所依赖索引名一致。 执行过程 用应用账户脊录数据库, 检查是否连接到正确的 执行增加或删除的命令。命令模板如下 表名 表名 字段名 索引名 资源由 美河学习在线收集分享 表名 的束名 如有同步,要注意执行顺序:先在源数据库端加后在目标端增加。 查看过程若无报错,退出当前脊录。若有报错,找出报错的地方,修改确认再执行,直 至全部执行通过,最后退出当前登录。 验证方案 常规检查 检查衣定义是否与测试库致 exec pkg check. Compareobject( 检查约束是否加上或删除 name=upper ctable name) 五、核心对象风险 核心表访问量大,数据量大。增加唯一约束时会短暂出现 。执行时 间要订在核心表访问的低峰期。 六、回退方案 执行前需准备好回退的脚本。 回退吋需得到开发的确认,并确认回退的时间点。 加字段 目的 阐述表变更的风险及其步骤,降低对应用的影响和避免故障 二、适用范围 所有在使用的表的加字段 风险评估 新增字段的类型、长度(精度)是否合适 解决方法:眼应用明桷加字段和改宇段的风险,确认新増字段类型正桷、长度〔精度)合适 以及跟应用明确老数据是否要订正?如何订正?新增列是否非空?是否有默认值等等。 新增字段的非空属性、默认值以及老数据问题。 新增字段如果是 的,则一定要有默认值,否则老应用的代码可能报错 表如果存在老数据,带上默认值的时候会导致去订正老的数据行的新增列。如果老数 资源由 美河学习在线收集分享 据非常多,表的并发访问高,很有可能导致大面积的阻塞等待以及产生大事务,甚至有可能 导致耗尽。倘若回滚,还会因为回滚产生的并发会话导致飙升 解决方法:先不带 不带默认值加上列,再史改列默认值,冉批量订正老数据,然后 属性 如果是大表,并且并发访问很扃的表,则新增列不允许为 以简化后面变更步 骤,降低风险! 新增字段导致依赖对象失效、游标失效问题。 表的并发很高的时候,如果表上面还有依赖对象,新増字段会导致依赖对象失效。默 认其他会话会尝试去自动编译这个依赖对象,此时很可能会出现大面积的 。应用会话的连接吋间会加长,进而导致出现后续应用报不能取得连接池错误。应用服 务器由此飙升。 表新增字段也会导致跟该表有关的的游标失效,如果的并发很高(查询或 者 ),失效后会重新解析,此时也可能会出现大量的 解决方法:选择在业务低峰期发布,同吋在数据斥级别丌启 禁用客户端程序自动编 详功能,字段加完后再禁用该 表的依赖对象是否要相应调整。 表上面的依赖对象如果有存储过程或触发器等,逻辑是否需要相应调整。 是否涉及到同步。 同步中的表需要两地都要变更。涉及到的要更新一下数据字典。需要重启一下 是否要通知其他关联的部门。如 或等等。 有些表很多部门都用,需要沟通约定时间一起变更。如果有同步方案,同步方案的变更也要 考虑。 四、操作流程 准备⊥作 该表的数据量以及人小,以及数据变更量(按日时分秒等) 该表的并发访问数,以及频率最高的几种的访问方式 执行过程 以表加字段为例。的数据量非常大,访问频率很高 在 下开启 禁用客户端自动编译功能。(可选) 变更字段 以下加字段同编译失效对象连着执行。编详时先编译「编详存储过程或 资源由 美河学习在线收集分享 后面 的编译可以开三个窗口同时进行 另开一个窗口,在 用户下查看当前失效对象 老数据订正 如果需要默认值,加上默认值 Alter table tl modify col2 default 'Y, 数据订正存储过程 pdate tl set col2='Y'where rowed=rec c1rid and id=rec clid Dbms application info set client info(sp dml0214'v cnt"rows!): Dbms application inlo. set client info(‘ sp dml0214‘‖ˇcnt‖‘rows!'); 另开·个窗∏,查看订正进度 订正完后加上 属性 国际站可选中美都变更,重启 更新数据字典 重启 资源由 美河学习在线收集分享 验证方案 验证下的 已经禁用 Select owner, trigger name, status from dba triggers where owner in(SYS)and trigger name= ddl trigger for database enable 验证结构止确 验证无失效依赖对象 五、核心对象风险 核心对象风险指的是业务上重要的表,并且数据量很大或表大小很大或并发访问数很高时, 变更的潜在风险。前面已经阐述。 六、回退方案 大表的新增字段不允许回滚。因为回滚即删掉字段,会导致锁表,持续时间很长进而导 致一序列的严重问题 普通表的新增字段如果是发布失败,后续还会有二次发布,也不考虑回滚。或者只是将 属性拿掉,下次发布再加上。 普通表如果应用有足够的理由要求回滚,则回滚。 字段 目的 阐述表变更的风险及其步骤,降低对应用的影响和避免枚障。 适用范围 所有在使用的表的加 字段,但核心表(并发访问高的大表不允许加 三、风险评估 新增字段的类型、长度(精度)是否合适 解决方法:跟应用明确加字段和改宇段的风崄,确认新増字段类型正确、长度(精度)合适 是否有默认值?以及跟应用眀确老数据是否要订正?如何订正?

...展开详情
试读 74P 数据库-DBA标准操作手册 Oracel MySQL

评论 下载该资源后可以进行评论 1

windy8848 Thanks for sharing
2017-10-29
回复
img

关注 私信 TA的资源

上传资源赚积分,得勋章
    最新推荐
    数据库-DBA标准操作手册 Oracel MySQL 27积分/C币 立即下载
    1/74
    数据库-DBA标准操作手册 Oracel MySQL第1页
    数据库-DBA标准操作手册 Oracel MySQL第2页
    数据库-DBA标准操作手册 Oracel MySQL第3页
    数据库-DBA标准操作手册 Oracel MySQL第4页
    数据库-DBA标准操作手册 Oracel MySQL第5页
    数据库-DBA标准操作手册 Oracel MySQL第6页
    数据库-DBA标准操作手册 Oracel MySQL第7页
    数据库-DBA标准操作手册 Oracel MySQL第8页
    数据库-DBA标准操作手册 Oracel MySQL第9页
    数据库-DBA标准操作手册 Oracel MySQL第10页
    数据库-DBA标准操作手册 Oracel MySQL第11页
    数据库-DBA标准操作手册 Oracel MySQL第12页
    数据库-DBA标准操作手册 Oracel MySQL第13页
    数据库-DBA标准操作手册 Oracel MySQL第14页
    数据库-DBA标准操作手册 Oracel MySQL第15页
    数据库-DBA标准操作手册 Oracel MySQL第16页
    数据库-DBA标准操作手册 Oracel MySQL第17页
    数据库-DBA标准操作手册 Oracel MySQL第18页
    数据库-DBA标准操作手册 Oracel MySQL第19页
    数据库-DBA标准操作手册 Oracel MySQL第20页

    试读已结束,剩余54页未读...

    27积分/C币 立即下载 >