ORACLE10G升级11G
Oracle10g升级11g数据迁移目录1.调研数据结构1.1分析1.1.1 数据库表空间1.1.2 数据库schema1.2创建表空间1.2.1生成创建表空间语句2.选取方案2.1.方案筛选2.1.1.导全库分析2.1.2导全库结论2.1.3导表空间分析2.1.4导表空间结论2.1.5导方案(schema)分析2.1.6导方案结论2.1.7导表方案2.1.8导方案结论3.选取工具3.1工具分析3.2选取结论4.数据导出导入5.补充对象5.1 导同义词5.2 导用户5.3 导角色1.调研数据结构1.1分析1.1.1 数据库表空间select * from dba_tablespaces twhere t.tablespace_name not in ('SYSTEM', 'UNDOTBS1', 'SYSAUX', 'TEMP', 'USERS');1.1.2 数据库schemaselect * from dba_users twhere t.default_tablespace not in ('USERS', 'SYSTEM', 'SYSAUX') AND T.username not in ('SYS', 'SYSTEM');1.2创建表空间1.2.1生成创建表空间语句--将查询结果中的双引号替换成单引号,即可正常执行!Select ' Create TABLESPACE ' || tablespace_name || ' DATAFILE ' || '"'|| file_name ||'"' || ' SIZE ' || to_char(ROUND(bytes / 1000000, 0)) || 'M REUSE AUTOEXTEND ON NEXT 32M MAXSIZE UNLIMITED ;' from dba_data_fileswhere tablespace_name not in ('SYSTEM', 'UNDOTBS1', 'SYSAUX', 'TEMP', 'USERS');2.选取方案2.1.方案筛选2.1.1.导全库分析10g全库到11g考量因素:数据量(已知oracle10g的dbf是178G)和版本兼容性(查询官方网站得知就expdp工具在Oracle10g全库到11g有未修复的bug,其他途径未知)。2.1.2导全库结论数据量大(一次测试周期长),字符集是US7ASCII,版本兼容性有坑,故:不考虑导全库。2.1.3导表空间分析优点:1.导出次数少; 2.全且安全(方法同导schema)缺点:1.表空间比较大,一个次一个表空间周期长,不太好控制和监测; 2.该库属于OLTP类型库,导表空间存在碎片;3.没有最佳实践过这种方式。2.1.4导表空间结论可以作为第二方案。2.1.5导方案(schema)分析优点:1.导出次数少; 2.全且安全(方法同导表空间)。缺点:1.该库属于OLTP类型库,导schema不存在碎片;2.有最佳实践过这种方式。2.1.6导方案结论可以作为第一方案。2.1.7导表方案表比较多,一张一张表导,周期太长,且容易弄混或者漏掉。2.1.8导方案结论可以作为补导方案(如果有些表数据不够或新增表等等)。3.选取工具3.1工具分析市面上工具有很多,调研且熟悉的工具是sqldeveloper优点:1.操作简单(图形化界面操作);
2.oracle官方推出的工具;
3.前期有过调研且写过相关的手册。3.2选取结论根据3.1的优点分析选取sqldeveloper作为本次迁移工具。4.数据导出导入参见前期写的文档,在明道“oracle数据泵调研之sqldeveloper工具使用”任务下【sqldeveloper数据泵调研说明文档(V329).docx】5.补充对象5.1 导同义词--导出所有同义词SELECT 'CREATE OR REPLACE PUBLIC SYNONYM ' || '"' || SYNONYM_NAME || '"' || ' FOR ' || '"' || TABLE_OWNER || '"' || '.' || '"' || TABLE_NAME || '"' || ';' FROM DBA_SYNONYMS A where A.table_owner not in ('SYS', 'SYSTEM');5.2 导用户select ' create user '|| username || ' identified by values ''' ||password || ''' default tablespace '||DEFAULT_TABLESPACE || ' TEMPORARY TABLESPACE '|| TEMPORARY_TABLESPACE ||';'from dba_users where username not in ('SYS','SYSTEM','DBSNMP');5.3 导角色---角色可能有授予表操作权限,还有相互交叉的角色,可能要手工在目标库上运行源库的脚本select 'create role ' || role || ' ;' from dba_roles where role like 'ROLE%';
dbtiger 2018,3,19good luck!
2.oracle官方推出的工具;
3.前期有过调研且写过相关的手册。3.2选取结论根据3.1的优点分析选取sqldeveloper作为本次迁移工具。4.数据导出导入参见前期写的文档,在明道“oracle数据泵调研之sqldeveloper工具使用”任务下【sqldeveloper数据泵调研说明文档(V329).docx】5.补充对象5.1 导同义词--导出所有同义词SELECT 'CREATE OR REPLACE PUBLIC SYNONYM ' || '"' || SYNONYM_NAME || '"' || ' FOR ' || '"' || TABLE_OWNER || '"' || '.' || '"' || TABLE_NAME || '"' || ';' FROM DBA_SYNONYMS A where A.table_owner not in ('SYS', 'SYSTEM');5.2 导用户select ' create user '|| username || ' identified by values ''' ||password || ''' default tablespace '||DEFAULT_TABLESPACE || ' TEMPORARY TABLESPACE '|| TEMPORARY_TABLESPACE ||';'from dba_users where username not in ('SYS','SYSTEM','DBSNMP');5.3 导角色---角色可能有授予表操作权限,还有相互交叉的角色,可能要手工在目标库上运行源库的脚本select 'create role ' || role || ' ;' from dba_roles where role like 'ROLE%';
dbtiger 2018,3,19good luck!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。