Oracle数据泵导出和导入数据

1.建表空间,准备初始化脚本init.sql如下(两个路径均需要存在)

/*创建表空间,空间名+地址,初始为100m,为表空间增加自动扩展能力*/
create tablespace DATA_YEAP datafile '/home/oracle/data_yeapt.dbf' size 100M autoextend on maxsize unlimited;

/*在命名为DATA_YEAP 表空间创建用户yeapt:yeat2020,临时表空间*/
create user yeapt identified by yeapt2020 default tablespace DATA_YEAP temporary tablespace temp profile DEFAULT;

/*给yeapt用户授权连接(connect)、创建实体(resource)、最高权限(只有它才可以建表结构)*/
grant connect,resource,dba to yeapt;

/*with admin option:系统权限授予*/
grant connect to yeapt with admin option;
grant dba to yeapt with admin option;
grant resource to yeapt with admin option;

/*数据泵配置目录,该目录需手动创建,可自行更改*/
create or replace directory dump_dir as '/home/oracle/dump_dir';
grant read,write on directory dump_dir to yeapt;

#开启监听
lsnrctl start

#连接默认数据库
sqlplus / as sysdba

#打开数据库
startup

#执行初始化脚本
@init.sql

在这里插入图片描述
在这里插入图片描述

2.数据泵导出数据

直接运行导出expdp.sh

  • SCHEMAS:用户名
  • DIRECTORY:导出文件夹
  • DUMPFILE:导出文件名
  • LOGFILE:导出日志
#!/bin/bash
source /home/oracle/.bash_profile
echo 'Oracle expdp ing...'

#获取当前时间,格式:20150210
DATE=$(date +%Y%m%d)

expdp YEAPT/YEAPT2020 \
SCHEMAS=YEAPT \
DIRECTORY=dump_dir \
DUMPFILE='expdp_'$DATE'.dmp' \
LOGFILE='expdp_'$DATE'.log'
STATUS=300

echo 'Oracle expdp successfully.'

3.数据泵导入shell

确认dump_dir存在dump的导出文件,然后在DUMPFILE后确定该文件,文件名不能有误,然后直接运行impdp.sh(注意dump_dir所属者要是oracle,chown -R oracle:oinstall dump_dir)

#!/bin/bash
source /home/oracle/.bash_profile
echo 'oracle impdp ing...'

DIR=/home/oracle

# 导入
impdp yeapt/yeapt2020 \
DIRECTORY=dump_dir \
DUMPFILE=expdp_20220307.dmp \
LOGFILE=impdp_20220307.log \
SCHEMAS=yeapt

echo 'oracle impdp successfully.'

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值