Oracle 11g 导库导不出空表问题

Oracle11g 会遇到这样的问题,用exp整库导出的时候,会遇到这样的问题,库里的空表没办法导出

select * from all_all_tables aa where aa.owner=‘User名大写‘ ---查看用户下所有表

select * from all_tables t where t.owner = ‘User名大写‘ and t.num_rows = 0;--查看用户下所有空表

好了,下面是处理方法脚本:

在命令窗口运行:

set heading off;
set echo off;
set feedback off;
set termout on;
spool D:\allocate.sql;
Select ‘alter table ‘||table_name||‘ allocate extent;‘ from user_tables where num_rows=0;
spool off;

运行完成后,把allocate.sql再在命令窗口执行一次,然后就可以用exp语句了,这样空表就能被导出来了

时间: 2024-11-10 01:01:49

Oracle 11g 导库导不出空表问题的相关文章

Oracle 11G R2 用exp无法导出空表解决方法

四.  Oracle 10g以后增加了expdp和impdp工具,用此工具也可以导出空的表 oracleexpdp/impdp 用法详解 1)  创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建. createdirectory db_bak as 'd:\test\dump'; 2)  查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错) select * fromdba_directories; 3)  给s

oracle导不出空表的解决办法

1.先进行表分析(一定要执行此步,否则查询空表可能不准确) select 'analyze table '||table_name||' compute statistics;' from user_tables; 2.再查询哪些表是空的(此步可以省略,直接进行第三步) select table_name from user_tables where NUM_ROWS=0 order by table_name; 3.最后生成alert语句select 'alter table '||table

Oracle 11g常用管理命令(用户、表空间、权限)

PS:下面是Oracle 11g最常用的基本管理命令,包括创建用户.表空间,权限分配等.以下命令本人都验证操作过,并加上了本人的小结与说明. 1.启动oracle数据库: 从root切换到oracle用户进入: su - oracle 进入sqlplus环境,nolog参数表示不登录: sqlplus /nolog 以管理员模式登录: sqlplus / as sysdba 启动数据库 startup; 停止数据库 shutdown immediate 远程连接数据库 sqlplus /nolo

oracle 11g 建库 建表 增 删 改 查 约束

一.建库 1.(点击左上角带绿色+号的按钮) 2.(进入这个界面,passowrd为密码.填写完后点击下面一排的Test按钮进行测试,无异常就点击Connect) 二.建表 1-1. create table 表名1( Tid number(4) --primary key 列级约束(主键), Tname varchar(10) --ont null  非空约束,只能定义在列级约束, Tsex varchar2(2)--check (tsex='男'  or  tsex='女') 检查约束, T

Oracle 11G 笔记:无法导出空表的解决办法

最近在用ORACLE 11G .对数据导出导入的时候发现一个问题:oracle 不会对无数据的空表进行导出.查资料发现,原来这种情况只出现在Oracle 11g 中,处理办法如下: sqlcommand:  alter system set deferred_segment_creation=false; 意思是禁止推迟创建表的段,也就是表创建后不管有没有数据都要分配空间.该参数修改后对该时间点以前创建的表无用.所以还是要对以前的表分配空间. sql:  Select 'alter table

SqlServer导库语句

1 GO 2 /****** 对象: StoredProcedure [dbo].[sp_ExportDatabase] 脚本日期: 07/18/2013 12:37:26 ******/ 3 SET ANSI_NULLS ON 4 GO 5 SET QUOTED_IDENTIFIER ON 6 GO 7 ----该存储过程建立在新帐套中,并在新账套中执行 8 9 if Exists(select * from sysobjects where name=N'sp_ExportDatabase'

解决oracle 11g 导出空表的方法

ORACLE 11G中有个新特性,当表无数据时,不分配segment,以节省空间. 解决方法: 1)insert一行,再rollback就产生segment了 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2)设置deferred_segment_creation参数 SQL> show parameter deferred_segment_creation NAME TYPE VALUE ------------------------------------

Oracle 11g导出空表、少表的解决办法

出处:http://www.cnblogs.com/ningvsban/p/3603678.html ORACLE 11G中有个新特性,当表无数据时,不分配segment,以节省空间. 解决方法: 1)insert一行,再rollback就产生segment了 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2)设置deferred_segment_creation参数 SQL> show parameter deferred_segment_creation N

【数据库】Oracle 11g使用命令导入导出表,导出结果集

[数据库]Oracle 11g使用命令导入导出表,导出结果集 很久没敲命令进行Oracle数据库表的导入(imp),导出(exp)了,今天猛一敲,发现有些命令居然忘了,顺手写下这篇博文,记录一下! exp本地导出命令: 1 exp username/[email protected] file=d:\demo.dmpfull=y 2 exp username/[email protected] file=d:\demo.dmpowner=(xx) 3 exp username/[email pr