解决exp无法导出问题
发表于:2024-10-16 作者:千家信息网编辑
千家信息网最后更新 2024年10月16日,用exp无法导出空表解决方法/用exp导出数据时表丢失原因使用oracle 11g导出数据发现有的表丢失原因是:11GR2中有个新特性,当表无数据时,不分配segment,以节省空间,可是在用EXPO
千家信息网最后更新 2024年10月16日解决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安全错误
数据库的锁怎样保障安全
网络安全关于wifi的要求
乡镇网络安全教育
网络安全防护书籍
手机软件开发合同范本
个人承包软件开发
db2数据库cpu使用率过高
dba数据库管理员平均年薪
数据库中表更新的命令是
软件开发就是it男吗
在网络安全中一般用什么技术保障
web网络安全讲解员于寒
公司违约概率数据库
服务器需要管理权限
网络安全运行工作制度
全球网络安全社区
济南嵌入式软件开发待遇
网络技术论坛包含的基本内容
数据库要填什么
网络安全文明知识
阿里云服务器一年1650贵吗
优选志愿软件开发
数据库求各门课的最高成绩
ntp服务器品牌
c 单机数据库选择
某图书集团数据库中
ios怎么用安卓软件开发
网络安全软件分类收纳
软件开发客户群体有哪些
数据库疑难杂症
win10配置asp服务器