温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ORACLE10G升级11G

发布时间:2020-08-11 02:52:18 来源:ITPUB博客 阅读:122 作者:ocpDBAboy 栏目:关系型数据库
Oracle10g升级11g
数据迁移
目录
1.调研数据结构
1.1分析
1.1.1 数据库表空间
1.1.2 数据库schema
1.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 t
 where t.tablespace_name not in
       ('SYSTEM', 'UNDOTBS1', 'SYSAUX', 'TEMP', 'USERS');
1.1.2 数据库schema
select *
  from dba_users t
 where 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_files
 where tablespace_name not in  ('SYSTEM', 'UNDOTBS1', 'SYSAUX', 'TEMP', 'USERS');
2.选取方案
2.1.方案筛选
2.1.1.导全库分析
10g全库到11g考量因素:数据量(已知oracle10gdbf178G)和版本兼容性(查询官方网站得知就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,19
good luck!
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI