首页 > 数据库 >Oracle数据库使用expdp/impdp导出导入数据

Oracle数据库使用expdp/impdp导出导入数据

时间:2024-07-09 10:08:16浏览次数:10  
标签:tables impdp expdp MYUSER 导出 used Oracle MYDB

背景:正式环境数据同步到测试环境,数据库名:MYDB,正式、用户:MYUSER(必须拥有SYS权限)。

1、正式环境备份数据库
(1)正式服务器上,cmd输入sqlplus,使用MYUSER账户登录
(2)创建一个自定义的目录,用于存放导出的数据

create directory DATA_OUT_FILE as 'E:\app\Administrator\admin\MYDB\my_dir\'; 

或者直接使用系统中已存在的目录,通过sql查询,获取DIRECTORY_NAME:

select * from dba_directories;

(3)创建expdp参数文件,另存为exp.par

# 目录名(DIRECTORY_NAME)
DIRECTORY=DATA_OUT_FILE
# 导出数据文件名(可自定义)
DUMPFILE=expdp_used_tables.dmp
# 生成的日志文件名(可自定义)
LOGFILE=expdp_used_tables.log
# 可以指定导出哪些表
TABLES=table1,table2
# TABLES和SCHEMAS参数只能选择其一,若使用SCHEMAS表示导出该用户下的所有对象
# SCHEMAS=MYUSER

(4)在cmd中执行以下语句,并等待数据导出完成

expdp MYUSER/password@MYDB PARFILE="E:\app\Administrator\admin\MYDB\my_dir\exp.par"

(5)拷贝expdp_used_tables.dmp到测试环境

2、测试环境导入数据
(1)测试服务器上,cmd输入sqlplus,使用MYUSER账户登录
(2)创建一个自定义的目录,用于存放expdp_used_tables.dmp

create directory DATA_OUT_FILE as 'E:\app\Administrator\admin\MYDB\my_dir\'; 

或者直接使用系统中已存在的目录,通过sql查询,获取DIRECTORY_NAME:

select * from dba_directories;

(3)创建expdp参数文件,另存为imp.par

DIRECTORY=DATA_OUT_FILE
DUMPFILE=expdp_used_tables.dmp
LOGFILE=expdp_used_tables.log
# 数据源用户与目标数据库用户的映射,必须
remap_schema=MYUSER:MYUSER
#导入时目标表存在时的操作
TABLE_EXISTS_ACTION=replace

TABLE_EXISTS_ACTION
1、skip:默认操作
2、replace:先drop表,然后创建表,最后插入数据
3、append:在原来数据的基础上增加数据
4、truncate:先truncate,然后再插入数据

(4)在cmd中执行以下语句,并等待数据导入完成

impdp MYUSER/password@MYDB PARFILE="C:\app\Administrator\admin\MYDB\my_dir\imp.par"

标签:tables,impdp,expdp,MYUSER,导出,used,Oracle,MYDB
From: https://www.cnblogs.com/seanyan/p/18291170

相关文章

  • oracle数据库导出数据时密码中存在特殊符号的情况处理
    oracle数据库导出指定的表数据,直接在windows的cmd命令行执行如下命令:expwz9199/""“wzz@123"”"@172.17.34.40:1521/orclfile=E:\temp\exp.dmptables=(T_User)命令详细说明:exp代表我们要进行导出操作;wz9199是用户名;wzz@123是密码;在密码两边拼接的三个双引号是为了适配密码中有......
  • Oracle系列---【如何修改oracle密码?优雅切换密码】
    1.问题描述接审计要求,已上线的数据库的密码属于弱口令,需要更改成严格的,但是服务又不能停机,这种情况下,只能在原有用户名上新增代理用户,这里不能用新建用户的方案,因为用户间不能共用schema,所以只能用新增代理用户的方案。切换到代理用户的过程中发现,"ORA-28000:Theaccountisl......
  • Oracle系列---【表空间常用命令】
    1.创建表空间#创建大小为30G且开启自增的表空间CREATETABLESPACETEST_COM_SMM_FRONTDATAFILE'/oradata/ORA19/datafile/TEST_COM_SMM_FRONT_01.dbf'SIZE30024MAUTOEXTENDON;2.查看表空间使用情况#表空间数据文件维度使用率查询SELECTb.TABLESPACE_NAME,b......
  • Oracle impdp只导入元数据占用大量空间以及如何删除空段
     Oracleimpdp只导入元数据占用大量空间以及如何删除空段 从某个库导出整个库的元数据,在另外一个新库导入元数据,发现导入时间久并且占用了大量空间。有好几张的空表甚至能占用十几二十G大小的空间,看了一下都是按天分区的间隔分区表,每个分区会有8M的大小。 通过在源库使用......
  • Oracle PL/SQL 循环批量执行存储过程
    1.查询存储过程        根据数据字典USER_OBJECTS查询出所有存储过程。2.动态拼接字符串(参数等)    根据数据字典USER_ARGUMENTS动态拼接参数。3.动态执行    利用EXECUTEIMMEDIATE动态执行无名块。4.输出执行信息    利用DBMS_OUT......
  • oracle控制台创建表空间,用户名
    1、打开doc命令行窗口,通过sqlplus/assysdba输入用户名密码进入>sql2、将下列的”用户名“、”密码“、”表空间名“替换称自己的,不允许出现中文,尽量用大写,避免奇怪的问题---删除用户dropuser用户名cascade;--删除表空间droptablespace表空间名includingcontentsan......
  • windows版Oracle11g安装记录
    一、下载Oracle 11g数据库安装包已上传至博客园文件中二、安装Oracle11g下载下来是下图这样的两个压缩包:1、解压这两个压缩包到同一个文件夹(切记路径文件不可有中文、空格和不规则字符。):2、将解压好的win64_11gR2_database_2of2\database\stage\Components下的所有文件拷......
  • oracle 表数据指定表字段,并筛选出重复项
    之前线上遇到了个问题,需要临时处理一下同步过来的数据,删除重复项,当时没写出来这个sql,泪目.....正好空下来了,理一下怎么写这个sqlsql主要用到的还是row_number这个函数,他会为根据指定条件,每行数据分配一个序号语法格式:row_number()over(partitionby分组列orderby排序列d......
  • Oracle死锁解决方式
    死锁是指在Oracle数据库中,两个或多个事务相互等待对方持有的锁资源,导致它们无法继续执行下去,从而形成死锁现象解决方式如下:查询死锁信息:selectSID,USERNAME,LOCKWAIT,STATUS,MACHINE,PROGRAM,EVENTfromV$SESSIONwhereSIDin(selectSESSION_IDfromV$LOCKED_OBJECT)......
  • Oracle数据库高可用性研究与分析(毕业论文)
    摘要本文深入研究了Oracle数据库的高可用技术,重点探讨了RAC(实时应用集群)、DataGuard、ASM(自动存储管理)以及RMAN(恢复管理器)等核心组件的原理与框架。通过构建一套以“RAC+RMAN”为核心的高可用架构,本文旨在为企业提供一套高性能、高可用且高稳定的数据库环境。该架构不仅......