2012年初刚入职时遇到的问题
问题背景描述:用PL/SQL DEVELOPER 导出生产库1的ITS用户里的数据对象xxx.sql,在把xxx.sql导入到生产库2,出现的问题:
create unique index ITS.SYS_C0010951 onITS.EVENT_REGULATION (EVENT_SUMMARY)
tablespace ITS
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextentsunlimited
)
ORA-02327: 无法以数据类型 NAMED TABLE TYPE 的表达式创建索引
答:
storage部分是指定对象的存储特性的(初始分配多大空间,每次分配多少,最大分配多少等),这种写法我记得是在手工段管理的表空间中才能使用的。从9i开始,表空间的段管理模式默认都变成自动的了,也就是storage这部分是由系统自动设置的。不能自己手工设置
你手工设置,会报错
pl/sql developer中提取的建表和建索引语句,总是带storage部分,应该把这部分都删除掉
create unique index ITS.SYS_C0010951 onITS.EVENT_REGULATION (EVENT_SUMMARY)
tablespace ITS
这样就可以了