oracle unused 语法_set unused的用法(ORACLE删除字段)

博客围绕Oracle删除字段展开,针对大数据量分区表直接删除字段耗时久、影响其他应用的问题,介绍使用set unused标记字段不可用,待系统空闲时再drop unused的解决方法,还提及set unused原理、语法,以及删除字段时的其他相关操作和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

set unused的用法(ORACLE删除字段)

一、问题

现场有一张大数据量的分区表,数据量在10G以上。因某种原因需要删除其中的某些字段。如果直接用

alter table1 drop (column1,column2);

或者alter table1 drop column column1;和alter table1 drop column column2;

的话,需要执行很长时间,这期间该表被锁,会影响到其它应用。

二、解决方法

使用set unused,等系统空闲时再drop unused。

1.

alter table table1 set unused (column1,column2);

或者

alter table table1 set unused column column1;

alter table table2 set unused column column2;

2.

alter table drop unused columns checkpoint 1000;

三、知识点(set unused的用法)

原理:清楚掉字典信息(撤消存储空间),不可恢复。

可以使用 SET UNUSED 选项标记一列或者多列不可用。

使用DROP SET UNUSED 选项删除被标记为不可用的列。

语法:

ALTER TABLE table SET UNUSED (COLlist多个) 或者 ALTER TABLE table SET UNUSED COLUMN col单个;

ALTER TABLE table DROP UNUSED COLUMNS [checkpoint 1000];

set unused不会真地删除字段。

除了alter table drop field外,也可以

alter table set unused field;

alter table drop unused;

set unused系统开销比较小,速度较快,所以可以先set unused,然后在系统负载较小时,再drop。如系统负载不大,也可以直接drop。

不管用何种方法,都不会收回空间。

如果你有这个需求,要删除某一个表上的某些列,但是由于这个表拥有非常大量的资料,如果你在尖峰时间直接执行 ALTER TABLE ABC DROP(COLUMN);可能会收到

ORA-01562 - failed to extend rollback segment number string,

这是因为在这个删除列的过程中你可能会消耗光整个RBS,造成这样的错误出现,因此这样的做法并不是一个好方法,就算你拼命的加大RBS空间来应付这个问题,也不会是个好主意。

我的建议做法:

1>

CREATE TABLE T1 (A NUMBER,B NUMBER);

SQL> begin

2 for i in 1 …… 100000

3 loop

4 insert into t1 values (i,100);

5 end loop;

6 commit;

7 end;

SQL> select count(*) from t1;

ORACLE删除字段(set unused的用法)

一.问题 现场有一张大数据量的分区表,数据量在10G以上.因某种原因需要删除其中的某些字段.如果直接用 alter table1 drop (column1,column2); 或者alter tab ...

oracle删除字段中的空格、回车及指定字符

create or replace procedure PROC_test is --Description:删除字段中的指定字符(回车chr(13).换行chr(10)) --By LiChao - ...

oracle删除字段时候判断字段是否存在

declare v_count number; begin ) into v_count from all_tab_columns a where a.TABLE_NAME = 'XXX1' and ...

oracle 删除字段中空格

update  sales_report set region =  REGEXP_REPLACE(region,  '( ){1,}', '')

Oracle 增加修改删除字段

Oracle 增加修改删除字段 添加字段的语法:alter table tablename add (column datatype [default value][null/not null],…. ...

oracle删除表字段和oracle表增加字段

这篇文章主要介绍了oracle表增加字段.删除表字段修改表字段的使用方法,大家参考使用吧   添加字段的语法:alter table tablename add (column datatype [d ...

Oracle SET UNUSED的用法

SET UNUSED的用法 原理:清楚掉字典信息(撤消存储空间),不可恢复.    可以使用 SET UNUSED选项标记一列或者多列不可用.    使用DROP SET UNUSED选项删除被被标记 ...

Oracle删除修改字段

Oracle 增加修改删除字段 添加字段的语法:alter table tablename add (column datatype [default value][null/not null],…. ...

Oracle 增加修改删除字段与添加注释

添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….); 修改字段的语法:alter ...

随机推荐

jQuery TimeCircles 倒计时

在线实例 默认 倒计时 使用方法

c# 文件/文件夹操作

1.判断文件夹是否存在并创建 if (!Directory.Exists(tempFolderName)) { Directory.CreateDirectory(tempFolderName); }

socket.io emit callback调用探秘

socket.io https://socket.io/ https://socket.io/docs/ What Socket.IO is Socket.IO is a library that e ...

redis数据操作笔记

redis是key-value的数据结构,每条数据都是一个键值对键的类型是字符串 注意:键不能重复,值的类型分为五种:字符串string 哈希hash 列表list 集合set 有序集合zset 一. ...

C#Lambda表达式详解

Lambda表达式教程 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心创 ...

tp数据库操作

1.常见的数据库操作//插入记录// $insert=Db::execute("insert into tp_user (username,password) values ('dome', ...

unity3d 角色头顶信息3D&2D遮挡解决方案(一)

先上效果图,只凭文字描述,脑补应该有些困难- - 如图:有三个角色(我们暂且从左到右叫它们A.B.C),一个2D UI(中间动作选择的框框),一个cube(右边的方块) cube挡住了角色C的头顶信息 ...

Windows下用Nginx配置遇到的问题

Nginx是一款轻量级的web服务器/反向代理服务器,更详细的释义自己百度了.目前国内像新浪.网易等都在使用它.先说下我的服务器软件环境: 系统:Windows Server + IIS + ngin ...

<Spring Cloud>入门五 hystrix

1.服务熔断 1.1引入坐标 org.springframework.cloud

反编译Android的apk包得到源码(使用工具:dex2jar和jd-gui)

1. 先从 http://download.csdn.net/detail/dingyuming1991/9618125 下载反编译工具dex2jar和jd-gui(当然也可以google搜索下载): ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值