Oracle跨平台迁移结构而不迁移数据方法详解

数据库 Oracle 数据库运维
Oracle良好的应用性赢得了众多DBA的青睐,但是如何实现Oracle跨平台迁移结构而不迁移数据,却是本文讨论的问题。

本文将介绍Oracle跨平台迁移,比如从Oracle跨平台迁移到其他类型的数据库,但是保留原有结构。这样也能减轻DBA的很多工作负担。希望本文能帮助大家更好的理解Oracle跨平台迁移。

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

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

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

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

3、到目的库中操作:

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

创建导入目录;

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

注:

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

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

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

  1. select 'analyze table '||owner||'.'||table_name ||' compute  statistics; 'from all_tables  
  2. where OWNER in ('GAZX','SJCK','SJPZ','SYWG','HQ','WEBCALL') 

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

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

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

  1. SELECT OWNER,segment_name,SEGMENT_TYPE,BYTES/1024/1024 FROM DBA_SEGMENTS  
  2. WHERE OWNER='GAZX' 
  3. ORDER BY 4 DESC 

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

  1. SELECT * FROM GAZX.GSGG 

---查看表是否允许row_movement

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

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

  1. alter table GAZX.GSGG enable row movement; 

生成批量处理的脚本:

  1. SELECT 'ALTER TABLE GAZX.'||SEGMENT_NAME||' enable row movement;' 
  2. FROM DBA_SEGMENTS  
  3. WHERE OWNER='GAZX' AND SEGMENT_TYPE='TABLE' 

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

  1. ALTER TABLE  GAZX.GSGG SHRINK SPACE CASCADE; 

生成批量处理的脚本:

  1. SELECT 'ALTER TABLE GAZX.'||SEGMENT_NAME||' SHRINK SPACE CASCADE;' 
  2. FROM DBA_SEGMENTS  
  3. WHERE OWNER='GAZX' AND SEGMENT_TYPE='TABLE' 
 

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

6、原库和目的库的校对:

导入后校对:

---核对表的数量

  1. select  OWNER,COUNT(TABLE_NAME) from all_tables  
  2. where OWNER in ('GAZX','SJCK','SJPZ','SYWG','HQ','WEBCALL')  
  3. GROUP BY OWNER 

---核对索引的数量

 

  1. SELECT OWNER,COUNT(TABLE_NAME) FROM ALL_INDEXES  
  2. where OWNER in ('GAZX','SJCK','SJPZ','SYWG','HQ','WEBCALL')  
  3. GROUP BY OWNER 

 

原文链接:http://blog.chinaunix.net/u/7586/showart_2162360.html

【编辑推荐】

  1. 浅谈存取Oracle当中扫描数据的方法
  2. Oracle设置系统参数进行性能优化
  3. Oracle数据库维护中的前瞻性
  4. Oracle与SQL Server之间的数据迁移
  5. 实例讲解Oracle到SQL Server主键迁移
     

 

责任编辑:彭凡 来源: chinaunix
相关推荐

2009-03-23 09:05:01

2017-04-07 13:30:54

2017-04-25 08:45:15

迁移数据中心智能

2023-11-27 17:11:02

数据库oracle

2017-10-12 15:20:57

数据中心迁移数据云端

2017-11-22 09:20:41

数据库在线数据迁移Subscriptio

2015-01-26 14:11:12

迁移数据中心

2013-09-25 09:25:52

2020-10-12 09:38:46

iPhone数据迁移苹果

2019-10-22 11:15:21

云计算数据安全

2020-09-23 14:36:07

数据中心

2020-08-12 16:57:50

数据库亚马逊云科技

2021-06-09 17:51:12

Hadoop数据迁移

2010-05-26 18:32:07

SVN库

2018-01-12 15:00:50

iCloudApple ID云服务

2017-10-31 11:25:34

无缝迁移数据中心原则

2017-10-31 20:25:22

2019-07-24 09:59:21

iPhoneiOS 12.4数据迁移

2014-09-10 13:35:15

GitHub

2023-08-07 14:28:42

技术迁移
点赞
收藏

51CTO技术栈公众号