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

 

 

 

 

 

 

版权声明:
作者:SE_Meng
链接:https://www.cnesa.cn/2744.html
来源:CNESA
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
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、查询direc……
<<上一篇
下一篇>>