Linux下 将Oracle 数据库数据导出为dump文件

1.利用XShell或SSH工具连接到远程数据库,注意要以 Oracle 用户登录


2.在XShell或SSH命令行中链接SQL,命令如下:sqlplus /nolog

Linux下 将Oracle 数据库数据导出为dump文件_第1张图片

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/路径下如下图所示:

Linux下 将Oracle 数据库数据导出为dump文件_第2张图片




你可能感兴趣的:(Java)