整个数据库导出:
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