散发思维:数据迁移 李广才 ludatou.

Slides:



Advertisements
Similar presentations
定 格 入 格 破 格 —— 新诗仿写复习训练 仿照下列句子,再把 “ 人生 ” 比喻成 “ 大海 ”“ 天空 ” , 造两个句子。 如果说人生是一首优美的乐曲,那么痛苦则 是其中一个不可或缺的音符。 参考答案: 1 、如果说人生是一望无际的大海,那么挫折则 是其中一个骤然翻起的浪花。 2 、如果说人生是一片湛蓝的天空,那么失意则.
Advertisements

办公室保健指南. 减少辐射篇 ❤显示器散发出的辐射多数不是来自它的正面,而是侧面和后面。因此,不要 把自己显示器的后面对着同事的后脑或者身体的侧面。 ❤常喝绿茶。茶叶中含有的茶多酚等活性物质,有助吸收放射性物质。 ❤尽量使用液晶显示器。
index 目次 ( 請按一下滑鼠,解答就會出現喔 !) 接續下頁解答 3-1 極限的概念.
魏 饴. 处级干部培训班讲座 一、卓越干部的德行素质  常修为政之德、常思贪欲之害、常怀律己之心!  孔老夫子有个观点 “ 为政以德,譬如北辰居其所而众星拱之。 ”  司马光《资治通鉴》 “ 才者,德之资也;德者,才之帅也。 ” “ 德 ” 胜 “ 才 ” 谓之 “ 君子 ” , “ 才 ”
C A D C D.
广东 机场 集团 计 算机中心介绍. 广东机场集团计算机信息管理中心 广东机场集团公司计算机信息管理中心是广东省机场管 理集团下属二级单位。业务范围包括民用机场信息系统建设 及咨询服务、机场信息系统运维技术支持、信息系统集成及 软件开发、互联网服务及通信建设、信息产品代理及销售、 技术培训。 广东机场集团公司计算机信息管理中心现有员工.
一、真愛密碼 二、尋求真愛 三、有自尊的愛. 。如果雙方對愛情產生 質疑、困惑時,則表示 彼此之間的愛情關係仍 有 待加強或釐清,千萬別 急著為自己的人生大事 下決定。 我是一個 16 歲的未婚媽媽,發現自 己懷孕時,已經五個月大了,我知 道自己沒能力照顧孩子,在驚訝之 於,大人們只好坦然接受,幫我找.
大地遊戲王 課程實錄.
當我已老 謹以此文獻給像我一樣流浪在外的子女們.
数据库原理及应用(ORACLE)实用教程
第15章 备份与恢复数据库 日志文件 基本概念 恢复数据库的基本原理 数据库故障的种类 备份数据库 备份的内容和时间 备份的一般方法
数据库技术 Oracle11g 孟德欣 主编 许勇 谢二莲 贺师君 副主编 清华大学出版社 普通高等教育 “十二五”国家级规划教材
第二节 信息技术及其影响.
2015年12月14日-2015年12月20日 缩略版.
指導老師:羅夏美 組別:第四組 組員: 車輛二甲 蔡中銘 車輛三甲 莊鵬彥 國企二甲 陳于甄 國企二甲 詹雯晴 資傳二乙 林怡芳
加強水銀體溫計稽查管制及回收 回收作業須知及緊急應變措施
上 班 族 身心健康操 陽明大學 運動健康科學 研究中心 編著.
什么是伸展? 无论你是久坐的生活型态或是爱好运动的人,伸展可让你身体柔软,为接下来的动作做好准备,也可以让运动后的肌肉柔缓放松。
第4章 分錄及日記簿 4-1 借貸法則 4-2 日記簿的格式及記錄方法 4-3 分錄的意義及記錄方法 4-4 常見分錄題型分析
第2章 資料庫系統 2-1 資料庫環境的四大組成元件 2-2 ANSI/SPARC的三層資料庫系統架構
MySQL数据库服务介绍 2013 年 6 月.
龙芯多媒体电脑教室培训 龙梦极域电子教室 江苏龙芯梦兰科技股份有限公司.
关于开展增值税发票系统升级版电子发票试运行工作有关问题的通知
做好就业与自主创业的准备.
  中国技术交易信息服务平台 中国技术市场管理促进中心.
第十三屆 Step.1 我們的目標 Step.2 我們的角色 Step.4 權利與義務 義務 權利 年繳會費五百元整
第七章 商务网站建设 案例八:艺海拾贝网站设计 思考 1.为什么说网页结构 设计非常重要? 2.目录结构与网页 结构有什么关系?
1.1 Oracle数据库简介 —Oracle Database 11g 课程.
資料庫系統 曾俊雄.
分秒必争 医不停顿 联鼎软件医疗行业解决方案.
财务管理.
第六章 数据库和ADO.NET 褚龙现 软件学院.
第二章 项目一:企业厂区与车间平面设计 1.
第二章 資料的蒐集與整理 授課教師: 更新.
“网络问政”给九江新闻网 带来新的发展机遇 -- 九江新闻网 高立东 --.
TBSMGS数据存储管理软件 北京金信桥信息技术有限公司 2010年05月27日.
车站信号自动控制系统 车站信号自动控制系统基础 电气集中联锁系统.
第6章 資料庫管理系統 6-1 關聯式資料庫管理系統 6-2 SQL Server資料庫管理系統
植物保护 课程整体设计 汇报 申报省级精品资源共享课建设 植物保护课程组.
第8章 机床操作 主讲:臧红彬 博士.
政府扶持资金通览 技术改造篇.
社会工作概论 个案工作 课程培训 深圳电大 赖小乐.
翰林自然 六年級上學期 第二單元 聲音與樂器.
前言.
Oracle数据库入门.
本科生医保资料的提交.
Alibaba 数据库高可用架构 Alibaba
Discover the power of SSL-VPN+ IT management
Oracle9i数据库专题培训 第三讲(数据库配置) 朱华廷(9i OCP)
統計圖表的製作.
《结构力学认知实验》(授课形式)的上课时间改为: 5月5日(周二)晚上18:00~19:30和19:30~21:00,
《结构力学认知实验》(授课形式)的上课时间改为: 5月7日(周四)晚上18:30~20:00和20:00~21:30,
第二十章 資料庫設計輔助工具 開發資料庫由於需要和資料庫進行連線,所以動作上比一般的程式來的繁瑣,不論是檢視或建立資料表皆需要額外的工具輔助,為此,C++ Builder提供了一些實用的輔助工作來協助程式設計師開發資料庫程式,本章節將就這些工作進行介紹,以使身為設計師的你更能得心應手的開發資料庫程式。
An Introduction to Database System
兒少保護通報處理流程介紹 臺中市家庭暴力及性侵害防治中心 陳秀婷/張美慧 社工督導員 2012/10/19.
目次检索 打印 下载 文字摘录 更换背景 多窗口阅读.
畢業資格審查系統 操作步驟說明.
名以清修 利以义制 绩以勤勉 汇通天下 新晋商理念 李安平
第二章 地线干扰与接地技术 为什么要地线 地环路问题与解决方法 公共阻抗耦合问题与解决方法 各种接地方法 电缆屏蔽层的接地
新制退休實務計算說明- 現職人員退休範例說明
106 學年度新生入學說明會 國立臺灣海洋大學 教務處簡介
創造不一樣的人生 -如何與身心障礙者接觸 新竹教育大學 薛明里.
學士學位畢業論文說明 逢 學 大 甲 土 理 管 地 2009/10/05.
高雄市97年度國民小學閱讀計畫創新教學-教案達人創新教學方案
第二十四讲 装库与卸库.
暗房技術實驗 顯影 停影 定影 授課教授:莊東漢 林招松 教授 助教:朱峰民 實驗目的 暗房技術 實驗設備與材料 實驗結果 實驗原理
Principle and Technology of Database
教育部國民及學前教育署 新課綱銜接教材數位平台
「高級中等學校學生學習歷程資料庫」與學校自行建置 「校內學生學習歷程檔案紀錄模組」 資料串接全國說明會
第4章 体系结构 本章概述 本章要点 教学过程.
Presentation transcript:

散发思维:数据迁移 李广才 ludatou

关于我 OLM浙江DBA团队负责人 ZJOUG发起人 Oracle 9i/10g OCP,10g OCM Oracle特殊恢复工具MDATA作者,交流群:313558251 新浪微博:http://weibo.com/ludal QQ:feigigi@qq.com MAIL:feigigi@qq.com http://weibo.com/ludal

数据迁移开始之前要考虑的事情 迁移方案 迁移流程 测试方案 业务怎么办? 迁移失败怎么办?

数据迁移方案的选型 同构平台 异构平台 物理迁移 逻辑迁移 Rman Dataguard 第三方的同步工具 磁盘阵列级别的复制 Dataguard 基于异构平台的物理主备库(Note: 413484.1) Export/import(包含了Datapump) RMAN Convert Database(仅适用都属于相同 ENDIAN 格式) 基于DBLINK的CTAS Oracle Golden Gate

数据迁移方案的选型 迁移的数据范围 业务时间窗口 妥协于业务多数时候大于技术选择 部分表数据(部分系统) 部分用户 全库 业务系统连续性问题(允许的停机时间) 多个系统数据交换的问题(复杂的系统交互) 数据库内部任务处理的问题(crontab?job?schedul?)

数据迁移方案的选型 迁移的技术选择 业务or数据 迁移时间效率成本 迁移技术是否熟练掌握 迁移技术是否成熟 选择自己熟练的技术比从新学新技术更有保证! 业务or数据 从业务迁移的角度来看待数据迁移,站在应用的角度考虑下迁移!

数据迁移流程 迁移前的处理 迁移过程的细化 细节脚本化 流程化 job,crontab定时任务,schedul的处理(源库和目标库都需要) 数据库设置为受限模式或者锁住相关用户 收集迁移对象(主要是表数据,函数,同义词(特别是公有同义词),视图/物化试图等)的相关信息 如果ip会变需要收集dblink信息,涉及迁移的DB以及外部系统连进来的dblink 对dblink有依赖的对象(函数,plsql,同义词),容易编译失效 迁移选择技术的一些缺陷应对策略(比如dg或者rman需要的force logging处理) 源库和目标库的db基础信息一致检测 等 迁移过程的细化 细节脚本化 流程化

数据迁移流程 验证迁移是否成功 目标库与源库对象数量的对比 rows count(*)的结果比对 工具比对(veridata,ultra等) 核心数据内容对比(dbms_utility.get_hash_value,dbms_comparison,minus 等方式

一次典型的数据迁移案例 迁移的所面临基本情况 到此为止思考下初步的迁移方案? 数据量400g 停机窗口6个小时 用户表空间大小超过1T 原平台 系统版本: AIX 5.3 数据库版本: Oracle 10.2.0.3.0 目标平台 系统版本: AIX 6.1 数据库版本: Oracle Rac 11.2.0.3.8 迁移的所面临基本情况 数据量400g 停机窗口6个小时 用户表空间大小超过1T 被迁移数据库对应系统与20多套其他业务系统之间7*24有数据交互 用户想趁机对索引和表的存储上基于表空间层面做分离 内网带宽千M 到此为止思考下初步的迁移方案?

(续)一次典型的数据迁移案例 双击添加标题文字 双击添加标题文字 双击添加标题文字 迁移方式 可行与否 原因 CATS 阵列复制 Rman × 升级数据字典需要较长时间, 表空间过大恢复时间长 Rman convert 无法满足时间窗口 Dataguard 版本不一致,初始实施有困难 第三方的同步工具 客户未有该类工具 Goldenagte 受限字段类型多,潜在影响因素多 DATAPUMP(exp/imp) √ CATS 效率过低,业务元数据 阵列复制 版本不一致,字典升级耗时. 所在环境未有该功能的存储 双击添加标题文字 双击添加标题文字 双击添加标题文字

Datapump全库迁移关注点 EXPDP执行前的信息收集处理 EXPDP导出的优化 根据cpu信息活动并行 优先使用io性能好的vg 关闭对应监听 数据库置为受限模式 检查源库和目标库的配置 内部job_queque_process置为0 对比迁移开始时间的job以及批处理任务情况,收集对应job,schedul,crontab的信息对于系统级别的调用脚本处理需要禁止 收集dblink信息,与迁移系统交互的系统都需要收集(重点是外部业务系统) 收集依赖dblink的存储过程,同义词,函数,物化视图,视图的信息 Tnsnames文件的同步配置 收集有效对象的基础信息(count(*)等),失效对象的信息 SYS用户拥有的应用系统对象信息(同义词,建错的索引,表等) EXPDP导出的优化 根据cpu信息活动并行 优先使用io性能好的vg 针对内存以及expdp本身内存的设置,更大的buffer池与pga 最大成都避免不必要的数据的导出 对tmp做对应的变更

Datapump全库迁移关注点(续) IMPDP执行前的信息收集处理 IMPDP导入的优化 根据cpu信息活动并行(需要参考原先的导出设置) 关闭对应监听 确认目标库处于干净状态(导入前已经清理干净) 确认目标库的服务配置正确(在导出工作之前检测对应的服务,表空间等是否已配置好) Role以及Profile的补建检测 内部job_queque_process置为0, 如果导入元数据后的时间点对应job的信息,归属用户等可能发生变化 Tnsnames文件的同步配置(目标库依赖情况处理是否马上生效) 某些场景下需要考虑应用约束(constraints)以及触发器(triggers)的的禁用 IMPDP的较严重的缺陷,基于用户单元导入时候,会丢失对应基于其他用户的对象权限 IMPDP导入不包括带有dblink的公有同义词 不建议对统计信息进行迁移,特别是在跨版本的情况下 IMPDP导入的优化 根据cpu信息活动并行(需要参考原先的导出设置) 优先使用io性能好的vg 针对内存以及impdp本身内存的设置,更大的buffer池与pga 最大程度避免不必要的数据的导入 对tmp做对应的扩大处理 最小化的日志产生(避免redo log上的io耗用) Index的创建与数据导入的分离

Datapump全库迁移关注点(续) IMPDP导入后的处理 数据效验完成之前对相关的job不恢复 DBLINK的重建(梳理)以及其他系统的connect ip信息的更新(TNSNAMES或者字符串的连接) 失效对象的修复等 受限模式的处理 最佳配置的恢复 等

回归案例 Step 1: 关闭数据库监听(原核心数据库端执行) $ SEC-OLD/expdp_sec.ksh //该过程持续35分钟左右 Step 4: 将dump文件传输至新的核心数据库服务器(原核心数据库端执行) $ scp LIS.*.dump 192.168.1.100:/data01/dump //该过程持续60分钟左右 Step 5: 创建tnsnames.ora(新核心数据库端执行) $ 将SEC-NEW/tnsnames.ora文件拷贝至$ORACLE_HOME/network/admin Step 6: 创建导入的参数文件(导入原数据)(新核心数据库端执行) $ 将SEC-NEW/impdp.meta.par中的dumpfile修改为正确的dumpfile。 $ 创建directory(如果不存在的话) Step 7: 导入原数据到新的数据库(新核心数据库端执行) $ impdp system/<password> parfile=impdp.meta.par logfile=impdp.meta.<DATETIME>.log //该过程持续30分钟左右

案例(续) Step 8: 清理多余的用户(新核心数据库端执行) SQL> @SEC-NEW/cleanup_users.sql SQL> @SEC-NEW/rebuild_indexes.sql Step 10: 重建大表,将大表进行单独存储(新核心数据库端执行) SQL> @SEC-NEW/rebuild_large_tables.sql Step 11: 禁用应用级别的触发器(新核心数据库端执行) SQL> @SEC-NEW/disable_triggers.sql //执行完成后,请检查触发器是否已禁用 Step 12: 禁用应用级别的JOB(新核心数据库端执行) SQL> @SEC-NEW/disable_jobs.sql //执行完成后,请检查JOB是否已禁用 --设置job process=0 Step 13: 禁用应用级别的约束(新核心数据库端执行) SQL> @SEC-NEW/disable_constraints.sql //执行完成后,请检查约束是否已禁用 Step 14: 创建导入的参数文件(导入数据)(新核心数据库端执行) $ 将SEC-NEW/impdp.data.par中的dumpfile修改为正确的dumpfile。 Step 15: 导入数据到新的数据库(新核心数据库端执行) $ impdp system/<password> parfile=impdp.data.par logfile=impdp.data.<DATETIME>.log //该过程持续90分钟左右 Step 16: 启用触发器(新核心数据库端执行) SQL> @SEC-NEW/enable_triggers.sql //执行完成后,请检查触发器是否已启用

案例(续) Step 17: 启用约束(新核心数据库端执行) SQL> @SEC-NEW/enable_constraints.sql //执行完成后,请检查约束是否已启用 Step 18: 编译失效对象(新核心数据库端执行) SQL> conn / as sysdba SQL> @?/rdbms/admin/utlrp Step 19: 检查DBLINKs的有效性(新核心数据库端执行,同时通知业务变更其他系统的连接信息) SQL> @SEC-NEW/check_dblinks.sql Step 20: 与原数据库进行对比(原核心数据库端和新核心数据库端分别执行) (并对缺失部分的对象权限进行补救) Step 21: 重新收集统计信息(新核心数据库端执行) SQL> @SEC-NEW/gather_stats.sql //该过程持续30分钟左右 Step 22: 启用JOB(新核心数据库端执行) SQL> @SEC-NEW/enable_jobs.sql //执行完成后,请检查JOB是否已启用,同事恢复对应的系统和数据库的调度任务 --将job process 设置恢复 Step 23: 开启数据库归档,开启数据库的附加日志,并启用数据库级别的闪回(新核心数据库端执行)

本次分享结束,谢谢欣赏