恢复SET UNUSED操作
来源:互联网 发布:c语言运算符优先级规律 编辑:程序博客网 时间:2024/05/16 04:46
边学习边分享哈,以下方法已经过本人测试
可以使用 SET UNUSED 选项标记一列或者多列不可用。
使用DROP SET UNUSED 选项删除被被标记为不可用的列。
语法:
ALTER TABLE table SET UNUSED (COLlist多个) 或者 ALTER TABLE table SET UNUSED COLUMN col单个;
ALTER TABLE table DROP UNUSED COLUMNS;
SET UNUSED不会真地删除字段,可恢复。
如何修复被设置为UNUSED的字段,以下的方法可以恢复(以下步骤执行前要做好备份),没有经验的DBA不要轻易尝试。
创建实验表TEST_UNUSED_COLUMNS
1、CREATE TABLE TEST_UNUSED_COLUMNS
(
TEST_1 VARCHAR2(2),
TEST_2 VARCHAR2(2),
TEST_3 VARCHAR2(2),
TEST_4 VARCHAR2(2),
TEST_5 VARCHAR2(2)
);
INSERT INTO TEST_UNUSED_COLUMNS VALUES('A1','A2','A3','A4','A5');
INSERT INTO TEST_UNUSED_COLUMNS VALUES('B1','B2','B3','B4','B5');
INSERT INTO TEST_UNUSED_COLUMNS VALUES('C1','C2','C3','C4','C5');
COMMIT;
2、SELECT * FROM TEST_UNUSED_COLUMNS;
--查询结果
TEST_1 TEST_2 TEST_3 TEST_4 TEST_5
A1 A2 A3 A4 A5
B1 B2 B3 B4 B5
C1 C2 C3 C4 C5
3、
---设置TEST_5不可用
ALTER TABLE TEST_UNUSED_COLUMNS SET UNUSED COLUMN TEST_5;
SELECT * FROM TEST_UNUSED_COLUMNS;
--查询结果
TEST_1 TEST_2 TEST_3 TEST_4
A1 A2 A3 A4
B1 B2 B3 B4
C1 C2 C3 C4
以下进行恢复
1、用管理员身份登录,sys、system均可
2、查找TEST_UNUSED_COLUMNS在数据库中分配的编号
SSELECT OBJ# FROM OBJ$ WHERE NAME='TEST_UNUSED_COLUMNS';
--查询结果
OBJ#
53916
--
SELECT COL#,INTCOL#,NAME FROM COL$ WHERE OBJ#=53916;
--查询结果
COL# INTCOL# NAME
1 1 TEST_1
2 2 TEST_2
3 3 TEST_3
4 4 TEST_4
0 5 SYS_C00005_11022820:28:45$
3、更新
UPDATE COL$ SET COL#=INTCOL# WHERE OBJ#=53916;
UPDATE TAB$ SET COLS=COLS+1 WHERE OBJ#=53916;
UPDATE COL$ SET NAME='TEST_5' WHERE OBJ#=53916 AND COL#=5;
UPDATE COL$ SET PROPERTY=0 WHERE OBJ#=53916;
commit;
4、重启数据库
SELECT * FROM TEST_UNUSED_COLUMNS;
--查询结果
TEST_1 TEST_2 TEST_3 TEST_4 TEST_5
A1 A2 A3 A4 A5
B1 B2 B3 B4 B5
C1 C2 C3 C4 C5
恢复完成
- 恢复SET UNUSED操作
- 恢复SET UNUSED操作
- 恢复Set unused的字段数据
- alter set unused用法
- unused的用法和恢复
- Oracle set unused的用法
- Oracle set unused的用法
- Oracle set unused的用法
- Oracle set unused的用法
- Oracle set unused的用法
- Oracle set unused的用法
- Oracle SET UNUSED的用法
- Oracle set unused的用法
- 【转】dcba的文章:Oracle的SET UNUSED COLUMN操作到底做了什么?
- ocp-047-4 drop column set unused
- ORACLE删除字段(set unused…
- Oracle中关于恢复unused列的方法
- 如何恢复oracle中unused删除的字段
- [zz] 标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast
- javascript 内部函数的this
- POJ 2004解题报告
- perl语言中的标量数据(一)
- jms /queue问题解决
- 恢复SET UNUSED操作
- 配置linux ip
- 实训java第二课 数据类型 进制 等额本息还款
- 3G嵌入式软件人才全线告急 月薪过万人才难觅
- Spring学习总结3(bean的属性详解)
- poj 2395 Out of Hay
- OD一按CTRL+G就自动退出了(转)
- C++读书笔记之抽象
- MySQL优化设置