1、数据移植工作经验共享北京北京XXXXXXXXXX信息技术股份有限公司信息技术股份有限公司20092009年年0101月月主要内容主要内容重要性与要求重要性与要求需要掌握的几个知识点需要掌握的几个知识点工作内容工作内容效率优化效率优化重要性与要求重要性与要求 整个项目实施中重要的一环,最后割接成功、失败的主要整个项目实施中重要的一环,最后割接成功、失败的主要标志之一标志之一 全面了解系统和业务的一个捷径全面了解系统和业务的一个捷径 要求要求 细心,耐心细心,耐心 分清主次,先抓主要矛盾分清主次,先抓主要矛盾主要内容主要内容重要性与要求重要性与要求需要掌握的几个知识点需要掌握的几个知识点工作内容工
2、作内容效率优化效率优化需要掌握的几个知识点需要掌握的几个知识点不只是简单的不只是简单的SQLSQL语句,还有语句,还有UNIXUNIX数据库数据库-ORACLE-ORACLE高级语言高级语言其他其他UNIX 基础命令基础命令 文件传输(文件传输(FTP)主机空间主机空间(查看,清理等查看,清理等)了解如何查看主机资源(了解如何查看主机资源(CPU、内存、内存、IO)SHELL数据库数据库-ORACLE 实例实例 表空间表空间 SQL语句:语句:DML、DDL 锁锁 基本的语句调优基本的语句调优高级语言(包括但不限于)高级语言(包括但不限于)C语言语言 PROC其他(包括但不限于)其他(包括但不
3、限于)XML等等主要内容主要内容重要性与要求重要性与要求需要掌握的几个知识点需要掌握的几个知识点工作内容工作内容效率优化效率优化工作内容工作内容确定移植的工作环境确定移植的工作环境数据调研和梳理数据调研和梳理数据移植方案数据移植方案数据库导出、导入数据库导出、导入数据转换数据转换数据核对数据核对错误数据处理错误数据处理确定确定移植移植工作环境工作环境 主机主机 生产主机、移植主机分别都是什么型号的?生产主机、移植主机分别都是什么型号的?CPU、内存有多少?、内存有多少?除了数据移植相关,还部署了哪些应用除了数据移植相关,还部署了哪些应用 数据库数据库 数据库版本数据库版本 需要几个库?需要几个
4、库?每个库的用户、权限该如何定义?每个库的用户、权限该如何定义?数据库的表空间如何分配?数据库的表空间如何分配?空间空间 需要移植的数据源的空间有多大?需要移植的数据源的空间有多大?根据移植的复杂度预估一下中间转换需要多大空间根据移植的复杂度预估一下中间转换需要多大空间 每个库空间如何分配?每个库空间如何分配?数据调研和梳理数据调研和梳理 了解数据源的数据模型和数据结构了解数据源的数据模型和数据结构 了解我们的数据模型和数据结构了解我们的数据模型和数据结构 比较新旧版数据的字段大小、多少,数据模型差异等比较新旧版数据的字段大小、多少,数据模型差异等跨库导出、导入跨库导出、导入 Exp/imp(
5、推荐推荐)按库按库 按用户按用户 按表按表 Copy命令命令 SQLPLUS的命令的命令 命令行命令行COPY FROM database TO database FROM database TO database APPEND|CREATE|INSERT|REPLACE destination_table(column,column,column,.)USING query 数据库链数据库链 最简单的方式最简单的方式 最容易引起混乱最容易引起混乱数据转换数据转换-常用技术常用技术-SHELL SHELL(示意脚本示意脚本)#yz.shSQLPLUS USER/PASSWORDSIDyz1.s
6、ql数据转换数据转换-常用技术常用技术-几个实用技巧几个实用技巧Insert allSpool分析函数分析函数:row_number()等等数据核对数据核对 数量数量 按区域核对:总数、地市等按区域核对:总数、地市等 按状态核对:有效、无效,在网、离网等按状态核对:有效、无效,在网、离网等 按主要字段核对:类型、级别等按主要字段核对:类型、级别等 钱钱 按区域核对:总数、地市等按区域核对:总数、地市等 按状态核对:有效、无效,在网、离网等按状态核对:有效、无效,在网、离网等 按主要字段核对:类型、级别等按主要字段核对:类型、级别等 主要表的明细数据核对主要表的明细数据核对 查找不符合要求的数据
7、查找不符合要求的数据数据错误数据处理数据错误数据处理 错误数据处理流程错误数据处理流程查找错误数据查找错误数据形成错误数据处理建议文档,与局方和开发人员进行交流形成错误数据处理建议文档,与局方和开发人员进行交流敲定处理办法,修改数据移植脚本敲定处理办法,修改数据移植脚本 查找错误数据查找错误数据Group by Not in语句报错语句报错核对数据错误核对数据错误 错误数据处理方式(参考)错误数据处理方式(参考)割接前局方自行处理,适用于数据量小,而且不再有错误新增的情况割接前局方自行处理,适用于数据量小,而且不再有错误新增的情况移植脚本处理,适用于错误和处理方式有规律,一直有数据新增的情移植
8、脚本处理,适用于错误和处理方式有规律,一直有数据新增的情况况程序适当增加健壮性,可以处理部分数据错误,适用于错误原因不明,程序适当增加健壮性,可以处理部分数据错误,适用于错误原因不明,即使错误数据也要移植的情况即使错误数据也要移植的情况忽略错误,适用于时间较长且不重要的数据忽略错误,适用于时间较长且不重要的数据主要内容主要内容重要性与要求重要性与要求需要掌握的几个知识点需要掌握的几个知识点工作内容工作内容效率优化效率优化效率优化效率优化主机效率优化主机效率优化数据库优化数据库优化应用优化应用优化主机优化主机优化(了解了解)CPU 内存内存 磁盘磁盘数据库级优化数据库级优化(了解了解)调整数据库
9、参数,如调整数据库参数,如 parallel_max_servers db_file_cache Show parameter应用优化应用优化(掌握掌握)EXP/IMP优化优化 尽量把导入导出的单位放小,顺序依次是按表,按用尽量把导入导出的单位放小,顺序依次是按表,按用户,按数据库户,按数据库 细化任务,使用多进程细化任务,使用多进程 使用管道技术使用管道技术 SQL语句优化语句优化 看看ORACLE的执行计划的执行计划 合理使用索引合理使用索引 优化的基本技巧,如尽量使用表关联,少用大表关联,优化的基本技巧,如尽量使用表关联,少用大表关联,尽量杜绝用尽量杜绝用not in等等,各类资料较多,注意收集等等,各类资料较多,注意收集