Oracle导入、导出dmp文件

前言:接上文Oracle修改字符集,此篇主要是针对Oracle数据库dmp文件的导入和导出操作。不特别添加plsql的操作流程,只写cmd命令行语句,而且只要以管理员身份进入到cmd中就可编写语句,不需要登录数据库。


oracle 导出dmp文件

  • 通常我都是导出固定用户对应的整个数据库,其导出语句如下:

    exp username/password@orcl file=e:\backup.dmp log=e:\backup.log full=y
    
    • 如果创建数据库时实例名称不是orcl,那就在此处填写设置的实例名称。
    • 导出log日志是很有用的一步,它可以告诉你在导出过程中有哪些表因为没有数据而没有被导出。
  • 导出库中的某几张表

    exp username/password@orcl file=e:\backup.dmp log=e:\backup.log tables=(table1,table2,table3,···)
    
  • 导出库中固定表的筛选固定条件字段的数据

    exp username/password@orcl file=e:\backup.dmp log=e:\backup.log tables=(table1) 
    query=\" where column1 like '%值%'\"
    

Oracle 导入dmp文件

有时候导入之前是发现数据库导入不符合要求,比如,我的字符集的失误/(ㄒoㄒ)/~~,所以这里还涉及到了用户与表空间(这个就是在plsql中执行了),一并写上了。

  1. 删除表空间和用户

    • 删除表空间

      DROP TABLESPACE tablespaceName INCLUDING CONTENTS AND DATAFILES;
      
    • 删除用户

      DROP USER username CASCADE;
      

      注:这是级联删除,所以如果这个库中的表与另外库中的表有关联,那么此时就要小心操作。

      ​ 如果在删除用户时显示“连接用户无法删除”,那么就要先杀掉进程或者重启,然后删除。

    • 查看进程并删除

      select username, sid, serial# from v$session where username = 'username';
      alter system kill session'value1,value2';
      
  2. 添加表空间和用户

    • 添加表空间

      create tablespace tablespaceName
      datafile 'D:\app\PX19\oradata\orcl\tablespaceName.dbf' 
      size 50m
      autoextend on
      
    • 添加用户并赋权

      CREATE USER username
      IDENTIFIED BY password
      DEFAULT TABLESPACE tablespaceName
      TEMPORARY TABLESPACE temp
      
      GRANT CONNECT TO username;
      GRANT RESOURCE TO username;
      GRANT dba TO username;
      
  3. 导入dmp文件

    • 导入整库

      imp username/password@orcl file=e:\backup.dmp full=y ignore=y
      
    • 导入固定表

      imp username/password@orcl file=e:\backup.dmp tables=(table1)
      

至此,导入、导出算是整理完毕了,手贱改字符集那个坑也算是填上了。事情都是小事情,但是把这些东西整理一下写出来,也算是一种积累吧。

你可能感兴趣的:(Oracle导入、导出dmp文件)