解决exp无法导出问题
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,用exp无法导出空表解决方法/用exp导出数据时表丢失原因使用oracle 11g导出数据发现有的表丢失原因是:11GR2中有个新特性,当表无数据时,不分配segment,以节省空间,可是在用EXPO
千家信息网最后更新 2025年01月21日解决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安全错误
数据库的锁怎样保障安全
网络安全保护备案条件
学生网络安全活动策划方案
土壤基础数据库
软件开发看什么书
软件开发的博客
虚拟服务器工具
常用的数据库类别
白城网络安全宣传周活动
excel图表筛选数据库
成都贴心伴侣网络技术有限公司
山东联想服务器代理测评
三年级网络安全手抄报 一等奖
软件开发调剂到软件设计
游戏后台数据库分析
网络安全大公司案例
网络安全分析推理电视剧
廊坊fil服务器价格
塔防三国勇士服务器
计算机网络技术专业前景好不好
我的世界服务器怎么刷钻石
sql数据库入门基础知识
成人教育平台软件开发
网络服务器怎么改ip
秦评加快建设网络安全人才力量
游戏服务器分布式数据库
哪里可以下载管理服务器
三年级网络安全手抄报 一等奖
服务器耗电量计算
数据库数据
数据库逻辑设计阶段不必转换