1.利用XShell或SSH工具连接到远程数据库,注意要以 Oracle 用户登录
2.在XShell或SSH命令行中链接SQL,命令如下:sqlplus /nolog
3.连接到SQL后如下命令可创建或查询虚拟路径,为dump文件存放做准备
查看管理理员目录(同时查看操作系统是否存在, 因为Oracle并不关心该目录是否存在, 如果不存在, 则出错.)
SQL> select * from dba_directories;
删除逻辑目录
SQL> drop directory dpdata ;
给scott用户赋予在指定目录的操作权限, 最好以system等管理员赋予.
grant read, write on directory dpdata to scott;
导出数据命令
按用户导
1)expdp system/manager schemas=scott DIRECTORY=dpdata dumpfile=expdp.dmp ;
2)并行进程parallel
expdp system/manager directory=dpdata dumpfile=scott3.dmp parallel=40 job_name=scott3
3)按表名导
expdp system/manager TABLES=emp,dept directory=dpdata dumpfile=expdp.dmp;
4)按查询条件导
expdp system/manager directory=dpdata dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';
5)按表空间导
expdp system/manager DIRECTORY=dpdata DUMPFILE=tablespace.dmp TABLESPACES=temp,example;
6)导整个数据库
expdp system/manager DIRECTORY=dpdata DUMPFILE=full.dmp FULL=y;
导入数据命令
1)导到指定用户下
impdp system/manager DIRECTORY=dpdata DUMPFILE=expdp.dmp SCHEMAS=scott;
2)改变表的owner
impdp system/manager DIRECTORY=dpdata DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;
3)导入表空间
impdp system/manager DIRECTORY=dpdata DUMPFILE=tablespace.dmp TABLESPACES=example;
4)导入数据库
impdp system/manager DIRECTORY=dpdata DUMPFILE=full.dmp FULL=y;
5)追加数据
impdp system/manager DIRECTORY=dpdata DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION=append;
6)并行命令
从oss_scap_83(db_link名)导出scap用户,然后导入到本地数据库上scap用户上
4.以用户名身份导出所有数据
创建一个虚拟路径:SQL> create directory dpdata as '/home/oracle/dpdump/'; 该句在SQL中执行
将schemas=appserver 的数据库导出如下:expdp sys/123456 schemas=appserver DIRECTORY=dpdata dumpfile=appserver.dmp;该句命令执行需退出SQL,及执行
exit 命令后执行
成功执行后在 /home/oracle/dpdump/路径下如下图所示: