Oracle迁移之批量迁移INDEX、SEQUENCE、VIEW

本文介绍了在Oracle数据库迁移过程中,如何使用Java程序批量迁移索引、序列和视图。在手动迁移所有数据表后,通过自编的Java脚本解决了大量索引(68个)、序列(28个)和视图(8个)的迁移问题。虽然触发器的自动处理仍存在困难,但序列和视图已成功创建。目前触发器的Java处理方案仍在探索中。
摘要由CSDN通过智能技术生成

转载请注明来源:http://blog.csdn.net/loongshawn/article/details/50586379

最近碰到oracle数据库迁移,由于高级的迁移方法还不会,当前只会手动导入导出迁移。在迁移完所有数据表后,需要继续迁移索引、序列、视图、触发器、函数等。

本文主要说明批量迁移索引、序列、视图。触发器由于执行过程中异常,还没有找到方法自动处理;函数就只有几个手动处理掉了。

1. java程序

本次迁移面临问题:索引较多有68个,序列28个,视图8个。手动一个一个处理,看得眼睛都花了。就弄个java脚本处理。

不过各位碰到具体问题需要做微调。

package com.autonavi.service;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.SQLSyntaxErrorException;
import java.sql.Statement;

import com.autonavi.db.DataBaseConnection;

public class DealOracle {
   

    private static DataBaseConnection cFactory = new DataBaseConnection();
    static ResultSet rs = null;
    static Connection connection1 = null;
    static Connection connection2 = null;
    static Statement statement = null;

    public static void copyIndex(){
        // 1.查询出建索引语句
        String SQL = "SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name) AS id FROM USER_INDEXES u"; 

        try {
            int count = 0;
            PreparedStatement pState1 = null;
            PreparedStatement pState2 = null;

            pState1 = cFactory.createConnection4 ().prepareStatement(SQL);          
            ResultSet rs = pState1.executeQuery();

            whil
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值