如何修复被设置为UNUSED的字段
来源:互联网 发布:淘宝伊人靓妆假货 编辑:程序博客网 时间:2024/06/05 10:10
如何修复被设置为UNUSED的字段,以下的方法可以恢复(以下步骤执行前要做好备份)。
1、创建实验表TTTA
SQL> CREATE TABLE TTTA ( A INTEGER,B INTEGER,C VARCHAR2(10),D INTEGER);
表已创建。
SQL> INSERT INTO TTTA VALUES (1,2,'3',4);
已创建 1 行。
SQL> INSERT INTO TTTA VALUES (2,3,'4',5);
已创建 1 行。
SQL> COMMIT;
提交完成。
ALTER TABLE TTTA SET UNUSED COLUMN C; 将ttta表中的C字段设置成不可用的
2、以下进行恢复
以管理员的身份登陆,其中的oracle是当时安装oracle10g时设置的密码
SQL> conn sys/oracle as sysdba
查找ttta在数据库中分配的编号
SQL> SELECT OBJ# FROM OBJ$ WHERE NAME='TTTA';
OBJ#
----------
32067
SELECT COL#,INTCOL#,NAME FROM COL$ WHERE OBJ#=32067;
COL# INTCOL# NAME
---------- ---------- ------------------------------
1 1 A
2 2 B
0 3 SYS_C00003_08031720:09:55$ 被UNUSED的字段
3 4 D
SQL> SELECT COLS FROM TAB$ WHERE OBJ#=32067;
COLS
----------
3 ------字段数变为3了
SQL> UPDATE COL$ SET COL#=INTCOL# WHERE OBJ#=32067;
已更新4行。
SQL> UPDATE TAB$ SET COLS=COLS+1 WHERE OBJ#=32067;
已更新 1 行。
UPDATE COL$ SET NAME='C' WHERE OBJ#=32067 AND COL#=3;
UPDATE COL$ SET PROPERTY=0 WHERE OBJ#=32067;
SQL> COMMIT; --提交事务,使之前所做的操作生效
3、重启数据库
SQL> SELECT * FROM SCOTT.TTTA;
A B C D
---------- ---------- ---------- ----------
1 2 3 4
2 3 4 5
恢复完成
1、创建实验表TTTA
SQL> CREATE TABLE TTTA ( A INTEGER,B INTEGER,C VARCHAR2(10),D INTEGER);
表已创建。
SQL> INSERT INTO TTTA VALUES (1,2,'3',4);
已创建 1 行。
SQL> INSERT INTO TTTA VALUES (2,3,'4',5);
已创建 1 行。
SQL> COMMIT;
提交完成。
ALTER TABLE TTTA SET UNUSED COLUMN C; 将ttta表中的C字段设置成不可用的
2、以下进行恢复
以管理员的身份登陆,其中的oracle是当时安装oracle10g时设置的密码
SQL> conn sys/oracle as sysdba
查找ttta在数据库中分配的编号
SQL> SELECT OBJ# FROM OBJ$ WHERE NAME='TTTA';
OBJ#
----------
32067
SELECT COL#,INTCOL#,NAME FROM COL$ WHERE OBJ#=32067;
COL# INTCOL# NAME
---------- ---------- ------------------------------
1 1 A
2 2 B
0 3 SYS_C00003_08031720:09:55$ 被UNUSED的字段
3 4 D
SQL> SELECT COLS FROM TAB$ WHERE OBJ#=32067;
COLS
----------
3 ------字段数变为3了
SQL> UPDATE COL$ SET COL#=INTCOL# WHERE OBJ#=32067;
已更新4行。
SQL> UPDATE TAB$ SET COLS=COLS+1 WHERE OBJ#=32067;
已更新 1 行。
UPDATE COL$ SET NAME='C' WHERE OBJ#=32067 AND COL#=3;
UPDATE COL$ SET PROPERTY=0 WHERE OBJ#=32067;
SQL> COMMIT; --提交事务,使之前所做的操作生效
3、重启数据库
SQL> SELECT * FROM SCOTT.TTTA;
A B C D
---------- ---------- ---------- ----------
1 2 3 4
2 3 4 5
恢复完成
- 如何修复被设置为UNUSED的字段
- 修复被设置为unused的字段
- 修复被设置为unused的字段
- 修复被设置为unused的字段
- 修复被设置为unused的字段(转载)
- 修复被设置为unused的字段(转载) - zchengdw的专栏 - CSDNBlog
- 如何恢复oracle中unused删除的字段
- 如何drop大表的中不用的字段 set unused column
- 恢复Set unused的字段数据
- ORACLE删除字段(set unused的用法)
- ORACLE删除字段(set unused的用法)
- ORACLE删除字段(set unused的用法)
- AXIS部署的WebService服务端,如何设置协议报文DTO字段为大写
- 润乾报表DQL组件如何为查询字段的检索条件设置编辑风格
- Mysql中如何设置日期字段默认值为当前日期
- Mysql中如何设置日期字段默认值为当前日期
- mysql中如何设置某字段Key 为MUL
- Mysql中如何设置日期字段默认值为当前日期
- 三种想其他线程地址空间注入自己带吗
- Servlet 中文乱码问题及解决方案剖析
- Apache+php+mysql的安装与配置 - 之一(Apache的配置参数篇)
- 蛇 和 鹰
- 比较Oracle中的alter table t move和alter table t shrink space
- 如何修复被设置为UNUSED的字段
- 从今天开始我要写每天的进展 java环境搭建
- net面试问答(大汇总)
- 如何删除JSP编译后的空行
- 由Timer所引发的VB动画
- 今年过年,我回家了
- 第三章Python解析list,dictionary,set
- POJ-1042:Gone Fishing
- 一种“一次开发,不同手机平台都能运行”的应用开发方案