惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
G
Google Developers Blog
WordPress大学
WordPress大学
M
MIT News - Artificial intelligence
D
DataBreaches.Net
云风的 BLOG
云风的 BLOG
爱范儿
爱范儿
Microsoft Security Blog
Microsoft Security Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Blog — PlanetScale
Blog — PlanetScale
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
阮一峰的网络日志
阮一峰的网络日志
博客园 - 三生石上(FineUI控件)
酷 壳 – CoolShell
酷 壳 – CoolShell
Recent Announcements
Recent Announcements
T
The Blog of Author Tim Ferriss
I
InfoQ
MyScale Blog
MyScale Blog
V
V2EX
B
Blog
罗磊的独立博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - rmhy

IIS10设置上传大小限制的方法实现 SQL Server中 特殊符号查询处理 MAS 激活命令 SSMS18 登陆界面清除不需要的登录账户 yum更换阿里源 MSSQL 维护小记(清理进程、重建索引) docker 部署 xxl-job 详细步骤 globalthis is not defined 钉钉H5应用报错(手机端) docker onlyoffice robocopy局域网拷贝 oracle 维护小记 djange 2.0 连接 mssql 2008 sql 2008数据库日志清理(转) JS判断文本框是否数字包括小数 sql joins 网站无法播放flv格式 eml文件打开方式 更改域安全策略-密码必须符合复杂性要求 span 换行
oracle 导出空表
rmhy · 2019-11-08 · via 博客园 - rmhy

数据库备份 空表不能导出的问题处理;

设置deferred_segment_creation 参数:
设置deferred_segment_creation 参数为FALSE来禁用"段推迟创建"(也就是直接创建segment),无论是空表还是非空表,都分配segment。
在sqlplus中,执行如下命令:

SQL>alter system set deferred_segment_creation=false;

查看:
SQL>show parameter deferred_segment_creation;

注意:该值设置后只对后面新增的表产生作用,对之前建立的空表(已经存在的)不起作用,仍不能导出。
并且要重新启动数据库,让参数生效。


1. 创建执行脚本文件:我创建一个E:\sql_script.sql文件。内容如下:

set heading off;

set echo off;

set feedback off;

set termout on;

spool C:\sql_allocate.sql;

Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null;

spool off;


2. 执行E:\sql_script.sql文件来生成“分配表空间的SQL代码”的脚本文件sql_allocate.sql。

命令如下:

SQL>@ E:\sql_script.sql; (也可写一个批处理文件,命令如下:sqlplus 用户名/密码@数据库 @E:\sql_script.sql)

执行完毕后,得到E:\sql_allocate.sql脚本文件(里面是给所有空表分配segment的SQL代码)。

打开该文件会看到,已经得到对所有空表分配空间的SQL语句


3. 执行E:\sql_allocate.sql文件来对表分配空间。

命令如下:SQL>@ E:\sql_allocate.sql

执行完毕,表已更改。之前存在的空表已分配segment空间!