网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.教你怎样把Oracle查询转换为SQL .
.grub中的分区命名方法.
.把表里的数据导成insert语句.
.实用心得:虚拟机下Oracle的安装.
.学习Oracle--Statspack分析.
.使用Oracle 10gMERGE语句更新数据.
.不要忽视Oracle 10g STATSPACK新.
.Oracle 基础和管理.
.关于exception的学习笔记.
.如何安装配置Oracle 9i网络环境二.
.Oracle 10G - 增强的CONNECT BY子.
.经典的Oracle图书推荐-之五.
.如何在Oracle中实现时间相加处理.
.Oracle PL/SQL学习笔记(1).
.从EPROM引导Linux.
.ORACLE常见错误代码的分析与解决.
.怎样在FORM中使用程序实现与EXCE.
.卸载oracle表结构到文本中的脚本.
.剖析:Oracle融合中间件为何会全.
.[Oracle]Redo log日志组故障分析.

Oracle中有效的Drop一张大表

发表日期:2008-2-9


一、流程简介     1、先不直接使用Drop table命令,取而带之用带有REUSE STORAGE子句的Tuncate table命令。因为没有Extents要被回收,Trunate table命令执行很快,只是段的highwater mark简单的被调整到段头的block上。     2、使用带有KEEP子句的alter table命令逐渐的回收表的Extents,以减轻对Cpu的压力。     二、以一个例子来说明:     假定有一个表名字为BIGTAB,系统的cpu资源很有限,根据过去的经验drop这样的一张表要花掉数天的时间。如下的操作就可以在不大量耗用cpu的情形下很有效的Drop这张大表。     1. Truncate table, 使用REUSE STORAGE子句:
SQL> TRUNCATE TABLE BIGTAB REUSE STORAGE;     2. 假如要花费3天(72小时) 去drop这张表,可以把时间分散到6个晚上,每个晚上drop 1/3Gb数据.
Night 1: SQL> ALTER TABLE BIGTAB DEALLOCATE UNUSED KEEP 1707M; (2Gb*5/6) Night 2: SQL> ALTER TABLE BIGTAB DEALLOCATE UNUSED KEEP 1365M; (2Gb*4/6) Night 3: SQL> ALTER TABLE BIGTAB DEALLOCATE UNUSED KEEP 1024M; (2Gb*3/6) Night 4: SQL> ALTER TABLE BIGTAB DEALLOCATE UNUSED KEEP 683M; (2Gb*2/6) Night 5: SQL> ALTER TABLE BIGTAB DEALLOCATE UNUSED KEEP 341M; (2Gb*1/6) Night 6: SQL> DROP TABLE BIGTAB;
    同样的方法也对LOB段适用.
SQL> ALTER TABLE <table_name> MODIFY LOB (<lob_column>) DEALLOCATE UNUSED KEEP <value>M;
    三、其它需要注重的地方:     1、假如你不注重的已经执行了drop操作,那这种方法就不能再使用了,因为Drop table操作会首先把表段转化成临时段,然后开始清理临时段中的extents,即使Drop操作被中断了,Smon会接后用户进程继续执行临时段的清理工作。     2、这种方法只适合表段。

上一篇:详细介绍 Oracle 数据库的聚簇技术 人气:732
下一篇:Oracle Database缓冲区漏洞 人气:508
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐