在Oracle中,sys用户下面的表中的列是不可用drop的,如果drop会报错:
SQL> desc test
Name Null? Type
------------------------------------------------- ----------------------------
ID NOTNULL NUMBER(38)
NAME VARCHAR2(20)
NAME1 CLOB
SQL> show user
USER is "SYS"
SQL> alter table test drop column name;
alter table test drop column name
*
ERROR at line 1:
ORA-12988: cannot drop column from tableowned by SYS
如果想删除sys表中的列,可以创建另一个表,与这个表的结构就差要删除的列,这样的话,如果表的数据量大,导数据会比较慢!
相关阅读:
GoldenGate不使用数据泵完成Oracle-Oracle的双向复制
使用GoldenGate的数据泵进行Oracle-Oracle的单向复制
如何对 Oracle 数据泵(expdp/impdp) 进行 debug
Oracle 数据库导出数据泵(EXPDP)文件存放的位置
Oracle 10g 数据泵分区表的导出