1.先把建表的sql导出来,把所有的initial ...的地方改小
2.执行修改后的sql建表
3.导入dmp

解决方案 »

  1.   

    建表的SQL没有initial的地方啊比如一个表如下:
    DROP TABLE EMPLOYEE CASCADE CONSTRAINTS ; CREATE TABLE EMPLOYEE ( 
      EMP_ID            VARCHAR2 (20)  NOT NULL, 
      EMP_NAME          VARCHAR2 (50), 
      EMP_DEPT_ID       VARCHAR2 (10), 
      EMP_JOB_ID        VARCHAR2 (20), 
      EMP_SEX           VARCHAR2 (2), 
      EMP_BIRTH         DATE, 
      EMP_PERSONAL_ID   VARCHAR2 (30), 
      EMP_START_DATE    DATE, 
      EMP_TABLE_STATUS  VARCHAR2 (2), 
      EMP_PASSWORD      VARCHAR2 (128), 
      CONSTRAINT PK_EMPLOYEE
      PRIMARY KEY ( EMP_ID ) ) ; 是不是有默认值的,那在哪里可以更改创建一个表时分配空间的初始化值啊
      

  2.   

    还有啊
    我的Temp表空间也很大
    我在网上看到有人说temp表空间Drop重建一下就好了
    于是我就drop重建了一个50M的
    结果,几天来不见Temp表空间有什么使用啊
    使用率一直是0。1%
    这个是为什么啊
    原来很大的,我新建的表空间设置的是允许自增的啊
      

  3.   

    temp表空间主要用于排序,如group by ,distinct,analyze 等等操作时,
    并且当sort_area内存空间不够用时。并且可以自动释放。
      

  4.   

    用toad看表的script复制下来的啊
      

  5.   

    toad生成的该表创建语句没有storage子句,你那个表应该是分区表,要想得到正确的建表语句,从dmp中获得:imp file=<xxx>.dmp userid=<user>/<pass> tables=EMPLOYEE indexfile=crt_EMPLOYEE.sql fromuser=<user> touser=<user>看看 crt_EMPLOYEE.sql 中的是不是与你刚才的有所不同?
      

  6.   

    连接到:Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
    With the Partitioning option
    JServer Release 8.1.7.0.0 - Production经由常规路径导出由EXPORT:V08.01.07创建的文件
    已经完成ZHS16GBK字符集和ZHS16GBK NCHAR字符集中的导入
    。。正在跳过表“EMPLOYEE”成功中止导入,但出现警告。我用的是:
    imp file=d:\mmmm.dmp userid=abc/xyz table=employee
    indexfile=crt_employee.sql fromuser=abc touser=abc可是在哪里有crt_employee.sql文件啊
      

  7.   

    噢,我搜索到了
    在我的C:\Documents and Settings\Administrator目录下
    内容如下:
    REM  CREATE TABLE "HYI"."EMPLOYEE" ("EMP_ID" VARCHAR2(20) NOT NULL ENABLE, 
    REM  "EMP_NAME" VARCHAR2(50), "EMP_DEPT_ID" VARCHAR2(10), "EMP_JOB_ID" 
    REM  VARCHAR2(20), "EMP_SEX" VARCHAR2(2), "EMP_BIRTH" DATE, 
    REM  "EMP_PERSONAL_ID" VARCHAR2(30), "EMP_START_DATE" DATE, 
    REM  "EMP_TABLE_STATUS" VARCHAR2(2), "EMP_PASSWORD" VARCHAR2(128)) PCTFREE 
    REM  10 PCTUSED 40 INITRANS 1 MAXTRANS 255 LOGGING STORAGE(INITIAL 40960 
    REM  NEXT 40960 MINEXTENTS 1 MAXEXTENTS 505 PCTINCREASE 50 FREELISTS 1 
    REM  FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "SCMDATA" ;
    REM  ... 306 rows
    CONNECT HYI;
    CREATE UNIQUE INDEX "HYI"."PK_EMPLOYEE" ON "EMPLOYEE" ("EMP_ID" ) PCTFREE 
    10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 40960 NEXT 40960 MINEXTENTS 1 
    MAXEXTENTS 505 PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL 
    DEFAULT) TABLESPACE "SCMDATA" LOGGING ;
    REM  ALTER TABLE "HYI"."EMPLOYEE" ADD CONSTRAINT "PK_EMPLOYEE" PRIMARY KEY 
    REM  ("EMP_ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 
    REM  STORAGE(INITIAL 40960 NEXT 40960 MINEXTENTS 1 MAXEXTENTS 505 
    REM  PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) 
    REM  TABLESPACE "SCMDATA" ENABLE ;
    REM  ALTER TABLE "HYI"."EMPLOYEE" ENABLE CONSTRAINT "PK_EMPLOYEE" ;
      

  8.   

    “分区表”是什么意思啊?为什么在Toad里看到的是不一样的还有啊,我怎么修改那些initial的地方啊
    他们不是都在dmp文件里存着的吗
    有很多表
    我是不是要一个一个改小啊
      

  9.   

    不是分区表
    在pl/sql developer工具中,如果是分区表,storage部分是出不来的,想不到toad连不是分区表的表storage都出不来(或许你的toad版本低,我没有用过toad).imp的时候把tables=去掉,加owner=<>,将所有表的sql都导出来,用ultraedit批量替换
      

  10.   

    drabit(square),真的很感谢你啊
    我用的是Toad7.2.0.0
    替换后怎么办,再导入dmp文件里吗?
    怎么导入的
    还得请教啊
      

  11.   

    是不是,我把修改过的创建数据库所有Table的SQL执行一下
    把这些表都先创建出来
    再导入dmp文件时已经有表了
    就只导入数据了偶试一试:)
      

  12.   

    再次谢谢你啊 drabit(square)