由于项目是扩展原来存在的系统,于是原系统的数据要迁移到新的数据库(数据库表结构有改动)但苦于以前都没用过oracle过程等等,期间还费力查了些资料,写下来让自己以后做参考。
1,首先弄清楚各个表之间的主从关系,将主从关系列成上下层级的列表,方便查看分析;在做数据插入是,先插入没有参照其他表的表数据
2,建立数据库连接:
CREATE DATABASE LINK db_link
CONNECT TO LQPAY IDENTIFIED BY ICBCGD
USING '
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.191.6)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
';
其中db_link为数据库连接名,LQPAY为原数据库用户名,ICBCGD为密码,然后host值为ip地址,ORCL为服务名
3,编写存储过程:
create or replace procedure gzsz_clda is
--LQPAY的TB06游标,用来查询、遍历车辆档案,db_link为到LQPAY的数据库连 --接,create database link db_link connect to LQPAY identified by ICBCGD using 'LQPAY';
cursor c_clda is select tb06005,tb06001,tb06002,tb06006,owneraddress,tb06003 from tb06@db_link;
--需要转移的数据的声明
v_dabh varchar2(32);
v_cxdm varchar2(2);
v_zydm varchar2(7);
v_cphm varchar2(15);
v_clsyr varchar2(60);
v_xszdz varchar2(100);
v_lxdz varchar2(100);
v_djrq varchar2(10);
v_jdlb integer;
v_clzt integer;
v_lxdh varchar2(11);
i integer;
begin
v_jdlb := 0;
i := 0;
for clda in c_clda loop
begin
v_dabh := sys_guid();
v_cxdm := clda.tb06005;
v_cphm := clda.tb06001;
v_clsyr := clda.tb06002;
v_xszdz := clda.tb06006;
v_lxdz := clda.owneraddress;
v_lxdh := clda.tb06003;
exception when others then
dbms_output.put_line(SQLERRM);
end;
--从缴费表查出车辆的最旧缴费记录的缴费日期作为车辆的登记日期,缴费经办人作为档案的经办人
begin
select tb07002,tb07003 into v_djrq,v_zydm from (select tb07001,tb07002,tb07003,row_number() over (order by tb07002 asc) as rank from tb07@db_link where tb07001=v_cphm and tb07018=v_cxdm) where rank=1;
exception when others then
v_zydm := 'AS00105';
v_djrq := '2005-01-01';
dbms_output.put_line(SQLERRM);
end;
--从封停解封表查出车辆的最新封停解封的车辆状态,作为车辆档案的车辆状态
begin
select status into v_clzt from (select status,row_number() over (order by begin_date desc) as rank from stop_pay@db_link where car_no=v_cphm and car_type=v_cxdm) a where rank=1;
if v_clzt=0 then
v_clzt := 1;
else v_clzt := 0;
end if;
exception when others then
v_clzt := 1;
dbms_output.put_line(SQLERRM);
end;
begin
insert into arch_clda(dabh,cxdm,zydm,cphm,clsyr,xszdz,lxdz,djrq,jdlb,clzt,lxdh) values(v_dabh,v_cxdm,v_zydm,v_cphm,v_clsyr,v_xszdz,v_lxdz,to_date(v_djrq,'yyyy-mm-dd'),v_jdlb,v_clzt,v_lxdh);
exception when others then
dbms_output.put_line(SQLERRM);
end;
i := i+1;
if mod(i,1000) = 0 then
commit;
end if;
end loop;
commit;
end gzsz_clda;
4,建立job让过程在服务器上运行(如果用客户端连接直接运行过程可能会出现执行一段时间后出现与服务器断开的情况)
declare
job1 integer;
begin
dbms_job.submit(job => job1,
what => 'gzsz_clda();',
next_date => sysdate);
COMMIT;
end;
http://www.iteye.com/topic/716073
分享到:
相关推荐
yugong 是阿里巴巴推出的去Oracle数据迁移同步工具(全量 增量,目标支持MySQL/DRDS)。2008年左右,阿里巴巴开始尝试MySQL的相关研究,并开发了基于MySQL分库分表技术的相关产品,Cobar/TDDL(目前为阿里云DRDS产品),...
"Oracle 数据迁移" oracle 数据迁移是指将 oracle 数据库中的数据从一个环境迁移到另一个环境的过程。 oracle 数据迁移可以使用传统的 exp/imp 工具,也可以使用数据泵 expdp/impdp 工具。 exp/imp 工具是 oracle ...
Oracle数据迁移项目实施方案的知识点涵盖项目需求分析、数据迁移方案设计、实施过程的步骤、系统状态信息的更新以及备份脚本的规划和配置。以下是针对各部分内容的详细解读: 项目需求分析: 项目需求是数据迁移的...
本文将详细介绍如何通过直接拷贝数据文件来实现在新服务器上的Oracle数据迁移。 首先,我们需要了解迁移的背景。假设你因为服务器更换需要迁移一个已经在192.168.1.15运行的Oracle数据库到新的服务器192.168.1.18。...
Oracle 数据迁移完整手册 Oracle 数据迁移是一种常见的数据库管理操作,目的是将 Oracle 数据库从一台服务器迁移到另一台服务器。以下是 Oracle 数据迁移的完整手册,涵盖了迁移方法概述、实现步骤、其他方法等...
Oracle数据迁移工具是一种高效、便捷的方法,用于在不同的Oracle数据库之间移动数据或结构。这个工具由.NET框架构建,提供了一种灵活且用户友好的界面,使得数据库管理员和开发人员能够轻松地执行各种数据迁移任务。...
《Oracle数据迁移手册》是为数据库管理员提供的一份详尽指南,旨在帮助他们高效、安全地进行Oracle数据库的数据迁移工作。这份手册涵盖了从前期准备到后期验证的整个过程,确保数据迁移的顺利进行。 首先,配置登录...
Oracle数据迁移是一个复杂而关键的任务,它涉及到将数据从一个Oracle数据库系统转移到另一个,这可能是为了升级、合并、灾备或是系统重构等目的。在这个过程中,性能优化是至关重要的,因为处理海量数据时,效率直接...
Oracle数据迁移是数据库管理中的重要环节,特别是在企业级应用中,由于业务增长、系统升级或数据中心迁移等原因,数据迁移成为了必然需求。Oracle数据库作为全球广泛使用的数据库管理系统之一,其数据迁移涉及众多...
Oracle数据迁移方法主要涉及将数据从其他数据库系统,如SQLServer,迁移到Oracle数据库中。在这个过程中,有多种工具和技术可以使用,但针对SQLServer2008到Oracle10g的迁移,有两个主要的步骤和工具:SQLServer自带...
本章将探讨Oracle数据迁移的一些主要技术和方法。 1.1 数据迁移技术 数据迁移通常涉及以下步骤: 1. 数据备份:在进行任何迁移之前,首先需要对源数据库进行完整备份,以防止意外丢失或错误。 2. 数据评估:了解源...
本篇将详细介绍Oracle数据迁移的相关技术和方案,旨在帮助读者理解和掌握在Oracle环境中如何高效、安全地进行数据迁移。 ### 1. Oracle数据迁移技术 1.1 数据迁移技术 数据迁移是将数据从一个数据库系统转移到另...
### SQLServer与Oracle数据迁移方案知识点详述 #### 前言 在信息化时代背景下,企业数据业务量急剧增加,对数据库的安全性、稳定性和高效性的需求也达到了前所未有的高度。许多快速成长的企业发现,其早期开发的...
Oracle数据迁移是数据库管理中的重要任务,涉及到将数据从一个Oracle数据库系统移动到另一个系统,常见于测试环境的搭建、跨网络的数据复制以及硬件升级等情况。在进行数据迁移时,根据数据量、系统架构的不同,可以...
【Java实现SQL Server到Oracle数据迁移】 在信息技术领域,数据迁移是常见的操作,尤其是在企业级应用中,由于业务需求或系统升级,可能需要将数据从一个数据库系统迁移到另一个。本篇文章将详细介绍如何使用Java来...
Oracle数据库在许多...总之,Oracle数据迁移技术的选择是一个细致的过程,需要根据系统的特性和业务需求进行权衡。通过理解各种迁移方案的特点,DBA可以制定出既能满足业务连续性要求,又能保证数据安全的迁移策略。