Oracle19c-- linux下备份还原
1、查询当前所有 dmp导入/导出目录
select * from DBA_DIRECTORIES;
2、创建文件夹
mkdir /data/u01/dmpdata
3、文件夹创建后给oracle用户授权
chown -R oracle /data/u01/dmpdata
4、数据库里执行SQL创建导入/导出目录
create or replace directory DMPDATA as '/data/u01/dmpdata';
5、为建立的目录赋权限,须要以其余用户运行,建议在sys用户下执行
grant read,write on directory DMPDATA to {#用户名};
6、expdp导出数据库.dmp文件到指定目录 -------(如果不指定DIRECTORY参数,则默认导出到oracle安装路径,如D:\ORACLE\admin\orcl\dpdump 下)
#DMPDATA为数据库虚拟路径,user为数据库用户名,password为用户密码
expdp user/password@SID DIRECTORY=DMPDATA DUMPFILE=fileName.dmp FULL=y
1、按用户导:expdp sys/sysadmin@localhost/orcl schemas=u_mom_um dumpfile=expdp.dmp directory=dmp logfile=expdlog.log;
2、按表名导:expdp sys/sysadmin@localhost/orcl tables=test1,test2 dumpfile=expdp.dmp directory=dmp logfile=expdlog.log;
3、按查询条件导:expdp sys/sysadmin@localhost/orcl directory=dmp dumpfile=expdp.dmp Tables=test query='WHERE id<20' logfile=expdlog.log;
4、按表空间导:expdp sys/sysadmin@localhost/orcl directory=dmp dumpfile=expdp.dmp TABLESPACES={#表空间1},{#表空间2} logfile=expdlog.log;(建议此种方式)
5、导整个数据库:expdp sys/sysadmin@localhost/orcl directory=dmp dumpfile=expdp.dmp FULL=y logfile=expdlog.log;
操作实例: expdp user/123456@127.0.0.1:1521/orcl directory=DMPDATA dumpfile=tbs2022.dmp TABLESPACES=tbs logfile=expdlog.log; -----(logfile 参数可以不要)
7、impdp导入
#DMPDATA为数据库虚拟路径,user为数据库用户名,password为用户密码
impdp user/password@SID DIRECTORY=DMPDATA DUMPFILE=fileName.dmp remap_tablespace=um_dev:um remap_schema=u_um_dev:u_um
参数说明:
1、user/password@SID 用户名/用户密码@数据库实例
2、directory=dmpdata 导入的目录,即导入dmpdata下的文件 也就是'/data/u01/dmpdata/';
3、dumpfile=filename.dmp 导入的文件名,结合上面的 directory=dmpdata 就是将'/data/u01/dmpdata/filename.dmp';导入目标服务器---(注意文件名大小写)
4、remap_tablespace=um_dev:um ---------- um_dev:导出表空间 ,um:导入表空间
5、remap_schema=u_um_dev:u_um ---------- u_um_dev:导出用户 u_um:导入用户
操作实例:impdp u_um/123456@127.0.0.1:1521/PDB directory=DMPDATA dumpfile=um0822.dmp remap_schema=u_um:u_um ----(表空间相同,可以不要remap_tablespace参数)