Oracle数据库表备份导入导出dmp的方式及踩坑记录

 更新时间:2022年07月25日 09:15:42   作者:必相依  
dmp是数据库导出的文件,用以备份数据库用,一般会用exp命令来导出,用imp命令来导入也就是恢复数据库,下面这篇文章主要给大家介绍了关于Oracle数据库表备份导入导出dmp的方式及踩坑记录,需要的朋友可以参考下

一、备份导出前的注意事项

1.导出导出的时候需要注意数据库的字符集是否一致,使用工具导入的话也需要确认工具的字符集

   --查询服务端的编码命令
SELECT * FROM Nls_Database_Parameters where parameter = 'NLS_CHARACTERSET';
   --查询客户端软件的编码命令
SELECT Userenv('language') FROM dual where parameter = 'NLS_CHARACTERSET';

2.导出时要确认导出文件的目录,使用oracle自带的逻辑目录或者自己创建逻辑目录,需要用到目录名称和目录路径,在导出时只需指定目录名称,导出的文件存放在目录路径下

   --2.1.查看oracle已有的目录,
select * from dba_directories;
   --2.2.自己创建逻辑目录
create directory 目录名称 as ‘目录路径';
   --2.3.如果是自己创建的目录,需要给用户添加读写此文件夹的权限
grant read,write on directory dir to scott;

3.需要确认要导出的目录中空间是否够用,空间不足时导入会停止

二、导出的两种方式

2.1.使用exp导出

    --2.1.1.导出命令
exp 用户名/密码@数据库IP:端口号/orcl file=导出的目标文件名称 tables=要导出的表名(多个表时用逗号隔开)
exp TJ_DATA/a123456@10.10.1.54:1521/orcl file=export.dmp tables=USER_INFO,POLICY_INFO;

   --2.1.2.导入命令
imp 用户名/密码@数据库IP:端口号/orcl file=导出的目标文件名称 tables=要导出的表名(多个表时用逗号隔开)
imp TJ_DATA/a123456@10.10.1.54:1521/orcl file=export.dmp tables=USER_INFO,POLICY_INFO;

2.2.使用数据泵expdp导出

   --2.2.1.导出命令
expdp 用户名/密码@数据库IP:端口号/orcl file=导出的目标文件名称 tables=要导出的表名(多个表时用逗号隔开)
expdp TJ_DATA/a123456@10.10.1.54:1521/orcl file=export.dmp tables=USER_INFO,POLICY_INFO;

   --2.2.2.导入命令
impdp 用户名/密码@数据库IP:端口号/orcl file=导出的目标文件名称 tables=要导出的表名(多个表时用逗号隔开)
impdp TJ_DATA/a123456@10.10.1.54:1521/orcl file=export.dmp tables=USER_INFO,POLICY_INFO

三、在备份时遇到的坑

   --3.1. 要备份的表如果是分区表,不能使用exp导出命令.只能使用数据泵导出方式.

   --3.2. dmp文件导入时,数据库中不能存在同名的表

   --3.3. 导入时,数据库表的表空间要一致,在命令中可以修改表空间,在导入导入命令后面加上 ‘remap_tablespace=原表空间名:新表空间名’
impdp TJ_DATA/a123456@10.10.1.54:1521/orcl file=export.dmp tables=USER_INFO remap_tablespace=OLD_SPACE:NEW_SPACE

   – 3.4. 导出时如果表空间不足,需要为当前表空间新增数据文件来扩容,数据文件可以设置初始大小,并设置自增,也可以限定最大值
ALTER TABLESPACE 表空间名 ADD DATAFILE ‘数据文件路径及名称’ size 文件初始大小 autoextend on (设置是否开启自增) MAXSIZE 文件最大值;

ALTER TABLESPACE TJ_DATA ADD DATAFILE '/oracle/oradata/ds.dbf' size 1024M autoextend on MAXSIZE 20480M;

   --3.5.导入导出有三种类型,分别是表方式(T方式),用户方式(U方式),全库方式(Full方式),这里只记录了表导出方式

附:Oracle导出指定用户下dmp文件

1.导出指定用户下的全部表

exp DEMO/DEMO@ORCL file=D:\dmp\DEMO_20220121.dmp owner=DEMO buffer=8192000 log=D:\dmp\DEMO_20220121_daochu.log

上述内容代表将用户DEMO的全部表导出为D盘dmp文件夹下的DEMO_20220121.dmp文件,导出日志为相同目录下的DEMO_20220121_daochu.log

2.导出指定表名的表

exp DEMO/DEMO@ORCL file=D:\dmp\DEMO_20220121_ep.dmp tables=('EP_SYS_CQ_COND','EP_SYS_CONSIGN_REC','EP_SYS_CQ_COND_DEF') buffer=8192000 log=D:\dmp\DEMO_20220121_ep_daochu.log

表示导出指定的三个表('EP_SYS_CQ_COND','EP_SYS_CONSIGN_REC','EP_SYS_CQ_COND_DEF')

3.导出以**开头的表

exp DEMO/DEMO@ORCL_MDPC file=D:\dmp\DEMO_20220307_demo.dmp tables=(DEMO.DEMO_%) buffer=8192000 log=D:\dmp\DEMO_20220307_demo_daochu.log

表示导出DEMO用户下DEMO_开头的全部表

总结

到此这篇关于Oracle数据库表备份导入导出dmp的文章就介绍到这了,更多相关Oracle备份导入导出dmp内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Oracle与SQL Server在企业应用的比较

    Oracle与SQL Server在企业应用的比较

    Oracle与SQL Server在企业应用的比较...
    2007-03-03
  • oracle定义常用函数的过程

    oracle定义常用函数的过程

    这篇文章主要介绍了oracle定义常用函数的过程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • Oracle + mybatis实现对数据的简单增删改查实例代码

    Oracle + mybatis实现对数据的简单增删改查实例代码

    这篇文章主要给大家介绍了关于利用Oracle + mybatis如何实现对数据的简单增删改查的相关资料,文中图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • CentOS 6.3下安装部署Oracle服务器图文教程

    CentOS 6.3下安装部署Oracle服务器图文教程

    这篇文章主要介绍了CentOS 6.3下安装部署Oracle服务器图文教程,本文内容详细,步骤清楚,并配有大量图片说明,需要的朋友可以参考下
    2014-09-09
  • Oracle三种循环(For、While、Loop)实现九九乘法表

    Oracle三种循环(For、While、Loop)实现九九乘法表

    这篇文章主要为大家详细介绍了Oracle三种循环For、While、Loop实现九九乘法表,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Oracle中日期的使用方法实例

    Oracle中日期的使用方法实例

    oracle数据类型看起来非常简单,但用起来会发现有许多知识点,下面这篇文章主要给大家介绍了关于Oracle中日期使用方法的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • Oracle解锁表、包、用户、杀会话、停job的方法实现

    Oracle解锁表、包、用户、杀会话、停job的方法实现

    本文主要介绍了Oracle解锁表、包、用户、杀会话、停job的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12
  • Oracle EBS工具选项:关闭其他表单修改方法

    Oracle EBS工具选项:关闭其他表单修改方法

    这篇文章主要介绍了Oracle EBS工具选项关闭其他表单修改方法,包括通过SQL语句永久打开或关闭这个选项的方法,需要的朋友可以了解下。
    2017-09-09
  • oracle覆盖导入dmp文件的2种方法

    oracle覆盖导入dmp文件的2种方法

    oracle如何覆盖导入dmp文件呢?很多朋友对这一问题不是很清楚,今天小编通过分享oracle覆盖导入dmp文件的2种方法,感兴趣的朋友跟随小编一起看看吧
    2021-05-05
  • Oracle ORA-00904:标识符无效解决方法(太坑了!!)

    Oracle ORA-00904:标识符无效解决方法(太坑了!!)

    最近执行sql时oracle报错ORA-00904:标识符无效,所以这篇文章主要给大家介绍了关于Oracle ORA-00904:标识符无效解决方法的相关资料,需要的朋友可以参考下
    2022-10-10

最新评论