解决exp无法导出问题
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,用exp无法导出空表解决方法/用exp导出数据时表丢失原因使用oracle 11g导出数据发现有的表丢失原因是:11GR2中有个新特性,当表无数据时,不分配segment,以节省空间,可是在用EXPO
千家信息网最后更新 2025年11月08日解决exp无法导出问题
用exp无法导出空表解决方法/用exp导出数据时表丢失原因
使用oracle 11g导出数据发现有的表丢失原因是:
11GR2中有个新特性,当表无数据时,不分配segment,以节省空间,可是在用EXPORT导出时,空表也不能导出,这就导致迁移时候丢失了一些表,存储过程也失效了
解决方法:
一、 insert一行,再rollback就产生segment了。
该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。
二、 设置deferred_segment_creation参数
该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。修改SQL语句:
alter system set deferred_segment_creation=false scope=both;
需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法。
三、 用以下这句查找空表并分配空间
select 'alter table '||table_name||' allocate extent;' from user_tables where SEGMENT_CREATED='NO';
把SQL查询的结果导出,然后执行导出的语句,强行为表分配空间修改segment值,然后再导出即可导出空表了。
以下是脚本,将未分配空间的表的sql直接输出到result.txt 文件 (直接执行result.txt中的sql即可为未分配空间的表分配空间)
set linesize 120;set pagesize 2000;spool /home/oracle/result.txt;SELECT 'ALTER TABLE '||TABLE_NAME||' ALLOCATE EXTENT;' SQLSTR FROM USER_TABLES WHERE SEGMENT_CREATED='NO';spool off;exit;
--会出现类型这样的格式
ALTER TABLE JW ALLOCATE EXTENT;
分配
空间
数据
方法
作用
原因
参数
语句
一行
文件
时候
是在
格式
特性
用以
类型
结果
脚本
过程
还是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
mysql数据库如何生成代码
成都网络安全检测中心
hp服务器上海代理商
做游戏是软件开发吗
汉中软件开发
公安盘查数据库系统
服务器开机报键盘故障
服务器为什么自动更新
江汉区全过程网络安全维护报价表
怎样把数据库拷到u盘里
问一个数据库的问题
福州五星软件开发
厦门用户管理界面软件开发
网络安全工程师工作强度大吗
广州手机软件开发要多少钱
UDP阿里云服务器实验报告
杭州物流软件开发外包
数据库一张表可以创建2个外键码
无线网络技术 ppt
画饭圈乱象会网络安全内容
redis大数据量转移到数据库
风湿数据库
软件开发哪个阶段用时最长
山东枣庄市网络安全倡议书
软件开发需要签保密协议
c 如何设计数据库
网站服务器功能
数据库进货单号关系模式主键
盐城专业网络安全准入控制系统
穿越火线的北方大区服务器ip