centos7 oracle12c impdp与expdp 数据泵导入导出数据库实例

整个数据库导出:

1: 创建存放dmp文件的目录 

cd /
mkdir tmp
chmod -R 777

 2:进入oracle, 切换至 oracle帐号

sqlplus / as sysdba

 3: 创建用户 文件夹及赋权

show pdbs; //显示需要切换到哪个pdb

alter session set container=你的pdb; //切换pdb

create user dp identified by dp; //创建用户

create directory dp_dir as '/dmp'  //创建存储的文件夹, 上面第一步创建的文件夹路径

grant read ,write on directory dp_dir to dp ; //赋予用户文件夹读写权限。

4: 退出 sqlplus

exit

 

 5:执行导出命令

expdp dp/dp@ip/数据库实例名 directory=dp_dir dumpfile=数据库名_%u.dmp logfile=full.log full=y compression=all parallel=4 CONTENT=METADATA_ONLY
//两种都可以
expdp dp/dp@数据库实例名 directory=dp_dir dumpfile=数据库名_%u.dmp logfile=full.log full=y compression=all parallel=4 CONTENT=METADATA_ONLY
//说明
directory: 创建的文件夹存储dmp文件
dumpfile: 导出的文件名
logfile: 日志
full: 导出全部


导出某个用户:
expdp dp/dp@ip/数据库实例名 directory=dp_dir dumpfile=数据库名_%u.dmp logfile=full.log  full=y compression=all parallel=4 CONTENT=METADATA_ONLY;
schemas=用户名

//说明
schemas : 要导出的用户名
compression: 启用压缩,  恢复不需要进行解压缩,直接导入即可
parallel: 并行,多线程执行。
_%u: %U表示的是01开始单调递增的数字, 会在导出中好很多,避免很多错误。


当设置CONTENT为ALL 时,将导出对象定义及其所有数据.为DATA_ONLY时,只导出对象数据,为METADATA_ONLY时,只导出对象定义 
——其中使用METADATA_ONLY导出数据表结构

 

导出的文件导入:

 1: 将dmp文件上传至创建的文件夹

 

cd /
mkdir dmp
chmod -R 777

2:创建需要的资源。 

show pdbs; //显示需要切换到哪个pdb, pdb为数据库名,首先创建的

alter session set container=你的pdb; //切换pdb

create user dp identified by dp; //创建用户

create directory dp_dir as '/dmp'  //创建存储的文件夹, 上面第一步创建的文件夹路径

grant read ,write on directory dp_dir to dp ; //赋予用户文件夹读写权限。

3:导入, 这是导入到默认的pdb中,  如果需要导入到一个新的pdb中,则可以创建一个pdb. 下一篇文章是创建pdb.

如何创建pdb: https://blog.csdn.net/tang_jian_dong/article/details/95059918

impdp dp/dp directory=dp_dir dumpfile=test.dmp logfile=test.log
impdp dp/dp@IP/实例名 directory=dp_dir dumpfile=test.dmp logfile=test.log

 

 

4: 导入成功后;plsql可以直接连接,然后使用导出的dmp文件中原来存在的用户登录查询数据了。

 

转载:

https://blog.csdn.net/u013986802/article/details/91044417

https://www.cnblogs.com/Roobbin/p/9491754.html

 

你可能感兴趣的:(程序人生)