Oracle使用expdp和impdp导出导入数据以及全Oracle库导入导出


一、创建表

 [oracle@oraclehost ~]$  sqlplus /nolog;
#连接
conn /as sysdba;

#创建表
create tablespace BLZK logging datafile '/opt/oracle/oradata/ewell/BLZK.dbf' size 500m autoextend on next 50m maxsize 20480m extent management local; 

二、创建用户

1、新增用户并分配对应的表空间

#创建hlzk_liuzhou用户并指定表空间
create user BLZK identified by BLZK123 default tablespace BLZK temporary tablespace temp profile default;

#授权
grant connect,resource to BLZK ;
grant dba to BLZK ;
Grant imp_full_database to BLZK ;

2、新增用户不分配表空间默认USERS表空间,删除命令

#tablespacename:表空间的名字
#d:\data.dbf':表空间的存储位置
#xxx表空间的大小,m单位为兆(M)
create tablespace tablespacename datafile 'd:\data.dbf' size xxxm;

#username:新用户名的用户名
#password: 新用户的密码
create user username identified by password;

#将空间分配给用户
alter user username default tablespace tablespacename;
 
#查询当前用户表空间
select default_tablespace from dba_users where username='username';

#删除用户
drop user username cascade;

三、绑定目录

#root用户:
mkdir -p /opt/oracle/oradata/ewell/my_dbdata;
chmod  -R 777 /opt/oracle/oradata/ewell/my_dbdata;

#oracle用户:
[oracle@oraclehost ~]$  sqlplus /nolog;
SQL> conn /as sysdba;
#绑定
CREATE DIRECTORY my_dbdata AS '/opt/oracle/oradata/ewell/my_dbdata';
#查看创建是否成功
select * from dba_directories where DIRECTORY_NAME = 'my_dbdata';
#授权
GRANT read, write ON DIRECTORY my_dbdata TO BLZK;

1、directory操作

directory 用于数据泵 导入、导出创建的目录。

1、查询directory目录

select * from dba_directories;

2、创建或者修改 directory目录

create or replace directory 目录名称 as  '/存放目录路径' 

3、赋权 directory目录

grant read,write on directory 目录名称 to 用户名称;

# grant read,write on directory dir1 to public;

4、删除directory目录

drop directory 目录名称;

四、导入导出

#开始用 datapump 导出
#"my_dbdata" 为导出目录;
#"HLZK.DMP" 为导出的 datadump 文件;
[oracle@oraclehost ~]$  expdp BLZK/123@127.0.0.1:1521/ewell directory=my_dbdata dumpfile=HLZK.DMP  schemas=BLZK   version=11.1.0.6.0


#导入到另一个数据库
[oracle@oraclehost ~]$  impdp system/oracle DIRECTORY=my_dbdata DUMPFILE=BLZK.dmp

1、全Oracle导入导出

#导出
expdp system/ewell123@10.1.7.249/ewell directory=my_dbdata dumpfile=ewell.dmp full=y

#导入(当表存在时数据不会覆盖)
impdp system/ewell123@10.1.7.249/ewell DIRECTORY=my_dbdata dumpfile=ewell.dmp full=y

#全覆盖
impdp system/ewell123@10.1.7.249/ewell DIRECTORY=my_dbdata dumpfile=ewell.dmp full=y ignore=y

2、通用导入导出自动化脚本

#!/bin/bash
user=hlzk  #数据库的用户名
pasd=123456   #密码
host=117.0.0.0  #地址
sid=ewell  #数据库SID
backtime=`date +%Y%m%d`

find /home/oracle/dmpback/ -type f -mtime +1 -delete

source /home/oracle/.bash_profile 
if [ -e /home/oracle/dmpback ]; then
expdp $user/$pasd@$host/$sid directory=back_dir dumpfile=back_$backtime-%U.dmp logfile=back_$backtime.log schemas=HLZK parallel=1 cluster=no 
exit
else
mkdir /home/oracle/dmpback
sqlplus $user/$pasd@$host/$sid <<eof
create directory back_dir as '/home/oracle/dmpback';
grant read,write on directory back_dir to public;
exit;
eof
expdp $user/$pasd@$host/$sid directory=back_dir dumpfile=back_$backtime-%U.dmp logfile=back_$backtime.log schemas=HLZK parallel=1 cluster=no 
fi

#impdp导入数据库
#impdp system/123456 dumpfile=system_01.DMP schemas=system

  1. “真的没关系的大家都会爱错人。会莫名其妙掉眼泪,走在路上突然会崩溃,但不妨碍我们去看晚霞吹吹晚风。”
  2. 今天应该做的事没有做,明天再早也是耽误了。
  3. 请时时容自己稍稍感受枯竭的惶急与伤痛,这样,在大雨沛然之际,你才懂得感恩。
  4. 生活远比想象委屈,但是你也远比想象中更强大啊。
  5. 慢慢理解世界,满满更新自己,一路人生,要去开心,要去期待、更要去热爱。
  6. 人生路上会有风沙,有岔路,更有人性无可抵挡的自卑与骄傲。
  7. 一个人可以轻易地学会不在乎,但学会在乎却要付出百倍的努力和勇气。
  8. 所谓读书的意义,大概就是让人眼界更开阔,对自我有更清醒的认识,而不至于狂妄。
  9. 不为模糊不清的未来担忧,只为清清楚楚的现在努力。
  10. 花会沿路盛开的,你以后的路也是。
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

和烨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值