oracle 8.1.7
我创建了一个表空间称为A
然后在A空间上创建了一个帐户B
赋予connect和dba权限在toad上面用B登陆as sysdba,运行下面的sql
出现ORA-02001: 用户 SYS 不允许创建可用列表组的索引
但是我是用B登陆啊,不是用SYS帐户登陆啊
ALTER TABLE MED.T
 DROP PRIMARY KEY CASCADE;
DROP TABLE A.T CASCADE CONSTRAINTS;CREATE TABLE A.T
(
  T_ID             INTEGER               NOT NULL,
  T_TITTLE         VARCHAR2(128),
  T_CONTENT        LONG,
)
TABLESPACE A
PCTUSED    40
PCTFREE    10
INITRANS   1
MAXTRANS   255
STORAGE    (
            INITIAL          40K
            NEXT             40K
            MINEXTENTS       1
            MAXEXTENTS       UNLIMITED
            PCTINCREASE      50
            FREELISTS        1
            FREELIST GROUPS  1
            BUFFER_POOL      DEFAULT
           )
LOGGING 
NOCACHE
NOPARALLEL;CREATE UNIQUE INDEX A.T_PK ON A.T
(T_ID)
LOGGING
TABLESPACE A
PCTFREE    10
INITRANS   2
MAXTRANS   255
STORAGE    (
            INITIAL          40K
            NEXT             40K
            MINEXTENTS       1
            MAXEXTENTS       UNLIMITED
            PCTINCREASE      50
            FREELISTS        1
            FREELIST GROUPS  1
            BUFFER_POOL      DEFAULT
           )
NOPARALLEL;
ALTER TABLE A.T ADD (
  CONSTRAINT T_PK
 PRIMARY KEY
 (T_ID)
    USING INDEX 
    TABLESPACE A
    PCTFREE    10
    INITRANS   2
    MAXTRANS   255
    STORAGE    (
                INITIAL          40K
                NEXT             40K
                MINEXTENTS       1
                MAXEXTENTS       UNLIMITED
                PCTINCREASE      50
                FREELISTS        1
                FREELIST GROUPS  1
               ));

解决方案 »

  1.   

    oracle 8.1.7 
    我创建了一个表空间称为A 
    然后在A空间上创建了一个帐户B 
    赋予connect和dba权限 在toad上面用B登陆as sysdba,运行下面的sql 
    出现ORA-02001: 用户 SYS 不允许创建可用列表组的索引 
    但是我是用B登陆啊,不是用SYS帐户登陆啊 
    关键是你用了as  sysdba 
      

  2.   

    以任何用户登路,只要你指定了as sysdba就会忽略掉你
    前面指定的用户名和密码(即便你指定个不存在的用户或者错误的密码也是一样),统一改为sys登路了。