欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle海量数据转移方案

程序员文章站 2022-05-22 15:49:08
...

数据传输转移是系统部署经常涉及到的问题,如何实现Oracle海量数据高效转移传输呢?下面以邮政内部资源可视化系统部署过程为例,

数据传输转移是系统部署经常涉及到的问题,如何实现Oracle海量数据高效转移传输呢?下面以邮政内部资源可视化系统部署过程为例,,讲解这里面的实现方法。

一、 使用传输表空间

限制:A、只能传输数据,不能传输用户的存储过程、函数、物理化视图等。

B、表空间必须自包含。该表空间或者说该组表空间 中的对象,没有和别的表空间中的对象扯上关系,比如索引/约束 等。

C.8i以上版本。

D.相同硬件平台。不同硬件平台需要转换字节顺序。

检查方法:execute dbms_tts.transport_set_check(ts_list=>'local',incl_constraints=>TRUE);

参数ts_list用于指定要搬移的表空间,incl_constraints用于指定是否检查完整性约束。

执行完过程dbms_tts.transport_set_check之后,系统将违反自包含表空间的信息存入临时表transport_set_violations。查询该表时,如果没有返回任何信息,说明表空间是自包含的.

1.使要转移的表空间只读。

alter tablespace ts_vir read only;

alter tablespace vir_olap read only;

alter tablespace qs_map read only;

alter tablespace yzwd read only;

2.拷贝数据文件copy data,把表空间对应的数据文件复制一份,到目标数据库。

3.导出表空间的数据字典信息。

exp "'/ as sysdba'" tablespaces=vir_olap,ts_vir,qs_map,yzwd transport_tablespace=y file=vir_metadata.dmp

4.使表空间可读写。Alter tablespace VIR read write;

5. 目标数据库建立用户。

create user vir identified by vir;

create user vir_olap identified by vir;

create user qs_map identified by qs_map;

create user yzwd identified by yzwd;

6.赋予权限。grant resource,connect to vir,vir_olap,qs_map,yzwd;

7.导入表空间信息到目标数据库。

imp "'/ as sysdba'" tablespaces=vir_olap,QS_MAP,ts_vir,YZWD transport_tablespace=y file=vir_metadata.dmp datafiles=/u01/apps/oracle/oradata/orcl/vir_olap.ora,/

/u01/apps/oracle/oradata/orcl/vir_olap1.ora,/

/u01/apps/oracle/oradata/orcl/vir_olap2.ora,/

/u01/apps/oracle/oradata/orcl/vir_olap3.ora,/

/u01/apps/oracle/oradata/orcl/vir_olap4.ora,/

/u01/apps/oracle/oradata/orcl/ts_vir.ora,/

/u01/apps/oracle/oradata/orcl/QS_MAP.dbf,/

/u01/apps/oracle/oradata/orcl/YZWD.dbf

8.使表空间可读写。Alter tablespace VIR read write;

Oracle海量数据转移方案