Oracle跨平台的结构迁移

2010-3-10    来源:chinaunix   作者:albert    我要评论
   | |

导读:本文将介绍Oracle跨平台迁移,比如从Oracle跨平台迁移到其他类型的数据库,但是保留原有结构。

关键词:Oracle迁移.跨平台迁移.数据库 Schema

正在加载数据...

  1\ 在原库中导出相关信息:

  expdp system/sywg1234 directory=test dumpfile=test.dump logfile=test.log schemas=SYWG,GAZX,WEBCALL,HQ,SJCK,SJPZ CONTENT=METADATA_ONLY

  2\ 去原库的表空间信息:

  去TOAD导出表空间信息,后编辑导出脚本,将系统相关的信息删除;将目录及文件大小按实际需要更改.

  3\到目的库中操作:

  将原库中导出的dump文件,CP到目的库中一个目录下;

  创建导入目录;

  impdp system/sywg1234 directory=test dumpfile=test.dump logfile=test_imp.log CONTENT=METADATA_ONLY exclude=statistc

  注:

  此时有一个很大的问题,就是即使导入的是表结构,无数据,但还是占用大量的表空间,这确实是一个比较大的问题

  4\到目的库导入后,分析所有表:

  --生成统计信息分析脚本:

  select 'analyze table '||owner||'.'||table_name ||' compute statistics; 'from all_tables

  where OWNER in ('GAZX','SJCK','SJPZ','SYWG','HQ','WEBCALL')

  ---执行上面生成的脚本,以进行统计信息的更新

  5\ 压缩空表占用的大量表空间:

  ---查看表的占用空间情况,

  SELECT OWNER,segment_name,SEGMENT_TYPE,BYTES/1024/1024 FROM DBA_SEGMENTS

  WHERE OWNER='GAZX'

  ORDER BY 4 DESC

  ---确认表中是否有数据

  SELECT * FROM GAZX.GSGG

  ---查看表是否允许row_movement

  select a.row_movement,a.* from all_tables a where a.owner='GAZX' AND a.TABLE_NAME='GSGG'

  ---若不允许,则开启row_movement

  alter table GAZX.GSGG enable row movement;

  生成批量处理的脚本:

  SELECT 'ALTER TABLE GAZX.'||SEGMENT_NAME||' enable row movement;'

  FROM DBA_SEGMENTS

  WHERE OWNER='GAZX' AND SEGMENT_TYPE='TABLE'

  ----压缩表占用的空间

  ALTER TABLE GAZX.GSGG SHRINK SPACE CASCADE;

  生成批量处理的脚本:

  SELECT 'ALTER TABLE GAZX.'||SEGMENT_NAME||' SHRINK SPACE CASCADE;'

  FROM DBA_SEGMENTS

  WHERE OWNER='GAZX' AND SEGMENT_TYPE='TABLE'

  ----压缩表完毕后,压缩数据文件

  5\ 原库和目的库的校对:

  导入后校对:

  ---核对表的数量

  select OWNER,COUNT(TABLE_NAME) from all_tables

  where OWNER in ('GAZX','SJCK','SJPZ','SYWG','HQ','WEBCALL')

  GROUP BY OWNER

  ---核对索引的数量

  SELECT OWNER,COUNT(TABLE_NAME) FROM ALL_INDEXES

  where OWNER in ('GAZX','SJCK','SJPZ','SYWG','HQ','WEBCALL')

  GROUP BY OWNER

原文出处:http://blog.chinaunix.net/u/7586/showart_2162360.html
 
 
 
 
 
 

Oracle导出、导入与迁移

 
如何使用SELECT语句从Oracle数据库的多个表中导出数据,其中这个数据库有许多schema。专家将给出解答。
 
如何将一个Oracle数据库从Solaris Big Endian 8.1.7i版本转换到Windows主机上,并进行endian转换,专家给出了答案。
 
如何复制一个Oracle数据库结构而不复制其中的任何数据,使用DBCA可以完成这一任务吗,专家将给出答案。
 
在CentOS 4操作系统的NOARCHIVE模式下运行的Oracle 9i数据库无法打开,问题出在redo日志损坏上,如何进行数据库恢复,专家将给出解答。
 
能否在Windows Server 2003上加载之前OS中的Oracle 8数据库,新的操作系统能否支持低版本数据库,专家给出了解决方法。

热门技术手册排行

 

在本次的技术手册中,我们为您提供了PL/SQL的基础知识以及专家指导,包括了PL/SQL中的数据类型简介、PL/SQL函数与触发器以及PL/SQL中的存储过程等,相信您无论是高手还是菜鸟都可以获得有帮助的信息。

 

本系列文章由三部分组成,为Oracle数据库管理员(DBA)面试成功的必备手册。本专题内容囊括从DBA最初的面试开始,从写“杀手简历”到求职信、到面试过程到Oracle认证再到上升到公司高层最后到你成为公司里的明星DBA。专家为你一一指点迷津,最终让你登上成功的宝座。

 

要成为一名DBA,你需要具备哪些素质?DBA的薪酬待遇如何?DBA的职业道路究竟可以走向何方?我们将在本次的技术手册中为您一一解答。

 

在本次技术手册中,我们将对SQL Server存储过程的调试进行详细的介绍,包括了基础的调试方法和在调试过程中出现的T-SQL性能问题和解决方法。

 

本技术专题主要围绕sql server设计这个话题展开,侧重介绍了sql server集簇索引的设计、如何创建sql server索引、如何优化索引、索引的能与不能、处理sql server 2000索引碎片技巧以及维护sql server索引以实现查询优化等等。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录