快速解决oracle 11g中exp无法导出空表的问题

server/2024/12/20 19:48:01/

    在一些生产系统中,有些时候我们为了进行oracle数据库部分数据的备份和迁移,会使用exp进行数据的导出。但在实际导出的时候,我们发现导出的时候,发现很多空表未进行导出。今天我们给出一个快速解决该问题的办法。

一、问题复现

    我本地通过dmp导出自己测试用户下的所有表:

    但是我们通过视图查看用户tpc下面,实际有18张表:

SQL> r1* select table_name from user_tablesTABLE_NAME
------------------------------
T_USER
TPC_TAB1
T_CODE
FRM_MENU
PTM_EQUIPBUS_VIOREF
VIO_VIOLATION_OTHER
VIO_SURVEIL
VIO_FORCE
VIO_VIOLATION
PTM_EQUIPRECORD
PTM_EQUIPBUS_VIO
PTM_ALC_DETEC
PTM_POLICE
FRM_DETACHMENT
T_OBJECT
T_LOGIN_LOG
T_HPS
FRM_DEPARTMENT18 rows selected.SQL> 

    这个导出明显存在问题。

二、问题分析

    在oracle 11g中,我们创建表后,如表中未写入数据,表默认是不分配段(segment)的,而我们的exp导出是不导出未分配segment的表的。

    验证:我们查看下用户表段信息

SQL> r1* select segment_name,bytes from user_segments where segment_name not like 'BIN%' and segment_type='TABLE'SEGMENT_NAME                                                      BYTES
------------------------------------------------------------ ----------
FRM_DEPARTMENT                                                   917504
T_OBJECT                                                       14680064
T_USER                                                            65536
T_LOGIN_LOG                                                       65536
T_HPS                                                           7340032
FRM_DETACHMENT                                                    65536
PTM_POLICE                                                     10485760
PTM_EQUIPBUS_VIO                                                  65536
PTM_EQUIPBUS_VIOREF                                               65536
VIO_FORCE                                                         65536
T_CODE                                                            65536
FRM_MENU                                                          6553612 rows selected.SQL> 

    可以看到,没看到未导出的表的段信息。

三、问题解决

    我们通过手动给未分配段的表进行空间申请,让其产生段信息。

    首先,生成脚本:

    接着,执行脚本:

 

    最后导出测试,发现所有表都导出。

 


http://www.ppmy.cn/server/151768.html

相关文章

系列5:基于Centos-8.6 Kubernetes master节点允许运行pod节点

每日禅语 不识本心,内心不定,心就会随物转;倘若能了知自己的心,动静如一,那么万象万物都可以随心而转。净心才能入定,从而摆脱外物的牵绊;心不因外物而动才能真正认清自己,遇到顺境不…

Android 获取屏幕物理尺寸

注:编译 sdk 需要使用 30 因为引入了 WindowMetrics、uild.VERSION_CODES.R 新 sdk 才存在的类和属性 某些场景处理 view ,对 view 显示的位置要求比较精确,通常我们使用context.getResources().getDisplayMetrics().widthPixels 获取到的宽、…

淘系商品评论json数据示例参考,API接口系列

以下是一个淘系商品评论的JSON数据示例,以及如何使用相关API接口的简要说明: JSON数据示例 {"status": "success","message": "评论数据获取成功","data": {"product_id": "1234567…

设计模式-读书笔记

确认好: 模式名称 问题:在何时使用模式,包含设计中存在的问题以及问题存在的原因 解决方案:设计模式的组成部分,以及这些组成部分之间的相互关系,各自的职责和协作方式,用uml类图和核心代码描…

【HarmonyOS】获取设备自定义名字

【HarmonyOS】获取设备自定义名字 一、问题背景 应用开发中我们经常需要拿到设备名称,非设备的品牌名称。例如,meta 60 Pro这种。而是用户自定义的设备名称。 但是鸿蒙针对用户信息的保护非常严格。想拿到设备名称,通过常规的DeviceInfo接…

uboot 打开log 的 方法

uboot 版本 commit f919c3a889f0ec7d63a48b5d0ed064386b0980bd (HEAD -> v2024.10, tag: v2024.10) Author: Tom Rini <trinikonsulko.com> Date: Mon Oct 7 08:54:35 2024 -0600 Prepare v2024.10 Signed-off-by: Tom Rini <trinikonsulko.com> 开启的选项…

Java爬虫️ 使用Jsoup库进行API请求有什么优势?

在Java的世界里&#xff0c;Jsoup库以其强大的HTML解析能力而闻名。它不仅仅是一个简单的解析器&#xff0c;更是一个功能齐全的工具箱&#xff0c;为开发者提供了从网页抓取到数据处理的一站式解决方案。本文将深入探讨使用Jsoup库进行API请求的优势&#xff0c;并提供代码示例…

零基础学安全--wireshark简介

目录 主要功能 捕获网络数据包 协议解析 数据包分析 数据包重组 过滤功能 统计与图表功能 官网 Wireshark是一个开源的网络协议分析工具 主要功能 捕获网络数据包 能够实时捕获网络中传输的数据包&#xff0c;用户选择要监听的网络接口&#xff08;如以太网、WiFi等…