Oracle数据迁移指南:如何按主键顺序提取并迁移前10,000条记录(基于CSV)

目录

[一.建表语句(建议直接执行上面的 CREATE TABLE 语句即可,它会一次性把表和对应的唯一索引都建好)](#一.建表语句(建议直接执行上面的 CREATE TABLE 语句即可,它会一次性把表和对应的唯一索引都建好))

二.导出原表1w条数据先试试水

1.查询原表前1w条数据

2.导出文件为CSV

三.将CSV文件的数据导入新表


一.建表语句(建议直接执行上面的 CREATE TABLE 语句即可,它会一次性把表和对应的唯一索引都建好

sql 复制代码
CREATE TABLE "PRODUCT"."TPD_TRUS_INFO_AFFI_01" 
(
    "ID" NUMBER(16,0) NOT NULL ENABLE, 
    "PROJ_CD" VARCHAR2(20), 
    "SUB_PROJ_CD" VARCHAR2(20), 
    "PD_CD" VARCHAR2(1024), 
    "INFO_CLAS" NUMBER(12,0), 
    "TITL" VARCHAR2(300), 
    "FOMT" NUMBER(12,0), 
    "CONT" CLOB, 
    "FILE_NAME" VARCHAR2(500), 
    "FILE_PATH" VARCHAR2(1000), 
    "SIGN_FILE_PATH" VARCHAR2(600), 
    "UN_SIGN_FILE_PATH" VARCHAR2(600), 
    "SRC" VARCHAR2(300), 
    "UPL_PRSN" NUMBER(12,0), 
    "UPL_DT" DATE, 
    "RELA_PRSN" NUMBER(12,0), 
    "RELA_DT" DATE, 
    "RELA_SCOP" NUMBER(12,0), 
    "INFO_STAT" NUMBER(12,0), 
    "TA_ONUM" NUMBER(16,0), 
    CONSTRAINT "PK_TPD_TRUS_INFO_AFFI_01" PRIMARY KEY ("ID")
    USING INDEX 
    PCTFREE 10 
    INITRANS 2 
    MAXTRANS 255 
    COMPUTE STATISTICS 
    STORAGE(
        INITIAL 163840 
        NEXT 1048576 
        MINEXTENTS 1 
        MAXEXTENTS 2147483645
        PCTINCREASE 0 
        FREELISTS 1 
        FREELIST GROUPS 1
        BUFFER_POOL DEFAULT 
        FLASH_CACHE DEFAULT 
        CELL_FLASH_CACHE DEFAULT
    ) 
    TABLESPACE "PRODUCT" ENABLE
) 
SEGMENT CREATION IMMEDIATE 
PCTFREE 10 
PCTUSED 40 
INITRANS 1 
MAXTRANS 255 
NOCOMPRESS 
LOGGING
STORAGE(
    INITIAL 163840 
    NEXT 1048576 
    MINEXTENTS 1 
    MAXEXTENTS 2147483645
    PCTINCREASE 0 
    FREELISTS 1 
    FREELIST GROUPS 1
    BUFFER_POOL DEFAULT 
    FLASH_CACHE DEFAULT 
    CELL_FLASH_CACHE DEFAULT
) 
TABLESPACE "PRODUCT" 
LOB ("CONT") STORE AS SECUREFILE (
    TABLESPACE "PRODUCT" 
    ENABLE STORAGE IN ROW 
    CHUNK 32768
    NOCACHE 
    LOGGING  
    NOCOMPRESS  
    KEEP_DUPLICATES 
    STORAGE(
        INITIAL 425984 
        NEXT 1048576 
        MINEXTENTS 1 
        MAXEXTENTS 2147483645
        PCTINCREASE 0
        BUFFER_POOL DEFAULT 
        FLASH_CACHE DEFAULT 
        CELL_FLASH_CACHE DEFAULT
    )
) 
ENABLE ROW MOVEMENT;

执行结果:可见此时确实多了一张空表,结构和原表一模一样。

二.导出原表1w条数据先试试水

1.查询原表前1w条数据

sql 复制代码
SELECT * FROM (
    SELECT t.* 
    FROM PRODUCT.TPD_TRUS_INFO_AFFI t 
    ORDER BY t.ID ASC  -- 确保按主键从小到大
)
WHERE ROWNUM <= 10000

执行结果

2.导出文件为CSV

然后一直点Next,最后点Proceed,即可进行导出,结果如下

导出完成以后,桌面右下角会显示这个成功提示。

三.将CSV文件的数据导入新表

然后一直点下一步,最后点Proceed。
展示效果:条数一致、数据一致。

以上就是本篇文章的全部内容,喜欢的话可以留个免费的关注呦~~~

相关推荐
sakiko_5 分钟前
Swift学习笔记29-数据库SQlite
数据库·学习·sqlite·swift
weixin_5206498715 分钟前
数据库局部变量,全局变量,流程控制
数据库
想唱rap19 分钟前
IO多路转接Select
运维·服务器·网络·数据库·sql·tcp/ip·mysql
csjane107920 分钟前
Redis 配置文件
数据库·redis·缓存
深藏bIue26 分钟前
MySQL切换服务器数据迁移记录
服务器·mysql·oracle
_codemonster30 分钟前
系统分析师案例刷题(八)数据库
数据库
Yushan Bai34 分钟前
ORACLE SQL Performance Analyzer (SPA) 测试流程
数据库·sql
Data_Journal36 分钟前
什么是数据采购,它究竟如何运作?
大数据·开发语言·数据库·人工智能·python
我是苏苏38 分钟前
C#基础:Winform桌面开发中自定义组件UI、属性及事件
服务器·数据库·c#
whn197739 分钟前
达梦dmrman恢复表空间实验
数据库