oracle一次数据导入导出

内容纲要
  1. expdp导出数据
    #只导出数据
    #CONTENT={ALL | DATA_ONLY | METADATA_ONLY},默认值为ALL
    #当设置CONTENT为ALL 时,将导出对象定义及其所有数据.为DATA_ONLY时,只导出对象数据,为METADATA_ONLY时,只导出对象定义
    expdp C##ARC_1/arc123456 CONTENT=DATA_ONLY tables=TM_USER_INFO directory=DMPDATA dumpfile=TM_USER_INFO.dmp
  2. XKP数据导入,由于源数据库和目标数据库表空间的区别,先在目标数据库创建对应的表分区(对应表分区实际不存储数据,只为了导入时不报表分区不存在的错误,再将表结构导入后,将结构中的相关表分区重新修改为目标数据库默认表分区)
    #-----------TM_USER_INFO-----------#
    #直接导入
    imp userName/****** full=y file=E:\Share\oracleDMP\2020808\账户信息截至2020808.dmp
    imp userName/****** full=y file=E:\Share\oracleDMP\2020808\账户信息2020808至今.dmp ignore=y rows=y indexes=n
    #-----------REC_ELECTTRON_CONSUME-----------#
    #只导入表结构
    imp userName/****** full=y file=E:\Share\oracleDMP\2020808\月票次卡消费记录截至2020808.dmp rows=n
    #只导入数据
    imp userName/****** full=y file=E:\Share\oracleDMP\2020808\月票次卡消费记录截至2020808.dmp ignore=y rows=y indexes=n
    imp userName/****** full=y file=E:\Share\oracleDMP\2020808\月票次卡消费记录20200808至今.dmp ignore=y rows=y indexes=n
    imp userName/****** full=y file=E:\Share\oracleDMP\2020808\电子钱包消费记录20200808至今.dmp ignore=y rows=y indexes=n
    #-----------REC_VICECARD_CASH-----------#
    #只导入表结构
    imp userName/****** full=y file=E:\Share\oracleDMP\2020808\月票次卡充值记录截止20200808.dmp rows=n
    #只导入数据
    imp userName/****** full=y file=E:\Share\oracleDMP\2020808\月票次卡充值记录截止20200808.dmp ignore=y rows=y indexes=n
    imp userName/****** full=y file=E:\Share\oracleDMP\2020808\月票次卡充值记录2020808至今.dmp ignore=y rows=y indexes=n
    #----------REC_ELECTTRON_CASH------------#
    #只导入表结构
    imp userName/****** full=y file=E:\Share\oracleDMP\2020808\钱包充值记录截止2020808.dmp rows=n
    #只导入数据
    imp userName/****** full=y file=E:\Share\oracleDMP\2020808\钱包充值记录截止2020808.dmp ignore=y rows=y indexes=n
    imp userName/****** full=y file=E:\Share\oracleDMP\2020808\电子钱包充值记录2020808至今.dmp ignore=y rows=y indexes=n
    #----------REC_THIRDRECORD------------#
    #只导入表结构
    imp userName/****** full=y file=E:\Share\oracleDMP\2020808\移动支付消费记录截止2020808.dmp rows=n
    #只导入数据
    imp userName/****** full=y file=E:\Share\oracleDMP\2020808\移动支付消费记录截止2020808.dmp ignore=y rows=y indexes=n
    imp userName/****** full=y file=E:\Share\oracleDMP\2020808\移动支付消费记录2020808至今.dmp ignore=y rows=y indexes=n
    #----------REC_ELECTTRON_CONSUME------------#
    #只导入表结构
    imp userName/****** full=y file=E:\Share\oracleDMP\2020808\钱包消费记录截止2020808.dmp rows=n
    #只导入数据
    imp userName/****** full=y file=E:\Share\oracleDMP\2020808\钱包消费记录截止2020808.dmp ignore=y rows=y indexes=n

    3.上面数据导入后,重新进行备份导出,这样下次就不需要这么繁琐的导入过程(将表空间统一且合并成一个备份文件)

    #导出xkp
    expdp userName/****** DIRECTORY=MYDMP DUMPFILE=XKP.DMP TABLES=BASE_CUSTOMERS_INFO,REC_ELECTTRON_CASH,REC_ELECTTRON_CONSUME,REC_THIRDRECORD,REC_VICECARD_CASH,REC_VICECARD_CONSUME logfile=XKP.log
    #导出tm
    expdp userName/****** DIRECTORY=DMP DUMPFILE=TM.DMP TABLES=JN_LABEL_REACH_DEPART_HIS,TM_BUS_REG_HIS,TM_BUS_RUN_INFO,TM_LINE_INFO,TM_MACH_RUN_INFO,TM_STATION_LINE_INFO,TM_USER_INFO logfile=TM.log
  3. 创建目标库的表空间和用户
    /*创建表空间*/
    CREATE TABLESPACE "LYBUS" DATAFILE 
    'E:\APP\ARC\ORADATA\ORCL\LYBUS\LYBUS_01.DBF' SIZE 500M AUTOEXTEND ON NEXT 200M maxsize unlimited,
    'E:\APP\ARC\ORADATA\ORCL\LYBUS\LYBUS_02.DBF' SIZE 500M AUTOEXTEND ON NEXT 200M maxsize unlimited,
    'E:\APP\ARC\ORADATA\ORCL\LYBUS\LYBUS_03.DBF' SIZE 500M AUTOEXTEND ON NEXT 200M maxsize unlimited,
    'E:\APP\ARC\ORADATA\ORCL\LYBUS\LYBUS_04.DBF' SIZE 500M AUTOEXTEND ON NEXT 200M maxsize unlimited,
    'E:\APP\ARC\ORADATA\ORCL\LYBUS\LYBUS_05.DBF' SIZE 500M AUTOEXTEND ON NEXT 200M maxsize unlimited;
    /*创建用户*/
    CREATE USER LYBUS IDENTIFIED BY ****** --用户密码
    DEFAULT tablespace LYBUS -- 表空间是上面创建的
    temporary tablespace TEMP -- 临时表空间默认 TEMP
    profile DEFAULT;
    /*用户授权*/
    GRANT CONNECT,RESOURCE,dba TO LYBUS;
  4. 导入备份数据
    #导入xkp
    impdp userName/****** directory=DMP dumpfile=XKP.DMP full=y table_exists_action=append
    #导入tm
    impdp userName/****** directory=DMP dumpfile=TM.DMP full=y table_exists_action=append
  5. 其他导入导出语句
    #只导入表结构,切换用户
    impdp username/****** directory=BAKDATA dumpfile=JN_LABEL_REACH_DEPART_HIS.dmp REMAP_SCHEMA=TMGPSHIS:ARC content=metadata_only
    #导出数据(分多个文件导出:4线程单个文件10GB,启用压缩:只压缩数据)
    expdp userName/****** DIRECTORY=DMP DUMPFILE=data_%U.DMP TABLES=table1,table2  logfile=data.log filesize=10GB parallel=4 compression=data_only
    #导入多dmp数据
    impdp userName/****** DIRECTORY=DMP DUMPFILE=data_%U.DMP TABLES=table1,table2 logfile=data_import.log parallel=4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注