小窥备份数据库之expdp和impdp

本文详细介绍了Oracle数据库中使用expdp和impdp进行数据导出和导入的操作步骤,包括创建表空间、用户、目录对象,授权,以及处理导入导出过程中遇到的问题,如环境变量设置、权限配置等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、impdp和expdp方式:
导入:
1、创建对应表空间
create tablespace  CWDATA1
logging
datafile 'D:\oracle\product\10.2.0\oradata\orcl\cwdata9.dbf'
size 2048m
autoextend on
next 500m maxsize 20480m
extent management local;
2、创建对应用户
create user cwbase1_9999 identified by ora123
3、创建目录对象
create directory  YHQ_DIR as 'E:\DataDump'
4、授权给用户
grant read,write on directory  YHQ_DIR to cwbase1_9999;
5、导入
impdp cwbase1_9999/ oratest@orcl directory=YHQ_DIR dumpfile = 20131127TEST.DMP.dmp table_exists_action=replace 

只删除用户涉及的表和视图即可,然后重建用户
drop user cwbase3_9999 cascade ;

重建用户型导出导入:
expdp cwbase1_9999/ oratest31@orcl directory=CWDATA dumpfile=20131201test.dmp
impdp cwbase8_9999/ ora88888@FRSS directory=KLDTPUMP remap_schema=cwbase1_9999:cwbase8_9999 remap_tablespace=CWDATA1:CWDATA8 dumpfile = 20131201ZSK.DMP table_exists_action=replace parallel=4 logfile=implog.log EXCLUDE=STATISTICS
impdp cwbase7_9999/ ora88888@FRSS directory=KLDTPUMP remap_schema=cwbase1_9999:cwbase7_9999 remap_tablespace=CWDATA1:CWDATA7 dumpfile = 20131201TEST.DMP table_exists_action=replace parallel=4 logfile=implog.log EXCLUDE=STATISTICS


导出:expdp不能导出高于本版本的备份文件,
1、create directory dump_dir as '/lib/oracledata' 
注意这个路径 /lib/oracledata要实际存在,不存在则手动创建,且给予必要的权限   chmod 777 oracledata/
2、select * from dba_directories;
grant read, write on directory dump_dir to
select * from v$version;
3、注意设置ORACLE_HOME=和ORACLE_SID的值,然后追加PATH(命令操作仅有效当前会话)
export ORACLE_HOME=/oracle/app/product
export ORACLE_SID=orcl1
export PATH=$PATH:$ORACLE_HOME/bin
或者修改文件方式(
1、修改profile文件:
#vi /etc/profile
在里面加入:
export PATH="$PATH:/ opt/au1200_rm/build_tools/bin "
2. 修改.bashrc文件:
# vi /root/.bashrc
在里面加入:
export PATH="$PATH: /opt/au1200_rm/build_tools/bin "

4、expdp cwbase1_9999/ORA88888 directory=dump_dir dumpfile=ora_201508017.dmp version=10.2.0.1.0

二、使用exp和imp
导出:
su - oracle
在-bash-4.1$ 下执行exp cwbase1_9999/ ORA88888@orcl1 file=/oracle/app/ora-20150818.dmp

导入:
imp AUser/APwd@orcl file=filePath/cbank.dmp fromuser=B touser=A
imp可以成功导入低版本exp生成的文件, 不能导入高版本exp生成的文件

问题
问题一:
UDE-00019: You may need to set ORACLE_HOME to your Oracle software directory
UDE-00013: Message 13 not found; No message file for product=RDBMS, facility=UDE
UDE-00019: You may need to set ORACLE_HOME to your Oracle software directory
出现上述问题是因为无法找到$ORACLE_HOME目录。解决方案:命令追加PATH,参考方法一种3点,或尝试配置Oracle重要的环境变量后source /home/oracle/.bash_profile。
问题二:
使用expdp时报错:
ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 475
ORA-29283: invalid file operation
此情况有可能是目录未授权或者目录未创建,确认下改正即可。

问题三:
诡异的故障背后的原因竟然是那样的基础:ORACLE_SID没有指定!
确认系统当前的ORACLE_HOME和ORACLE_SID环境变量
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值