SQL> create tablespace XXX datafile 'd:\oracle\product\10.1.0\oradata\lnn\data_1.dbf' size 2000M;
表空间已创建。SQL> create tablespace YYY datafile 'd:\oracle\product\10.1.0\oradata\lnn\data_2.dbf' size 2000M;
表空间已创建。SQL> create user xiaobai identified by xiaobai;
用户已创建。sqlplus xiaobai/xiaobai@lnn              用户xiaobai登陆创建数据表
SQL> create table XYZ(username varchar2(30),password varchar2(30))storage(initial 10k next 10k pctincrease 0);
表已创建。现在此数据表没有指定表空间,那么该表会存放在XXX和YYY哪个表空间里???
还有如果创建表时要求指定表空间,命令该怎么写???

解决方案 »

  1.   


    -- 如果不指定tablespace,create table會在用戶默認tablespace中創建。下面是一個例子CREATE TABLE HR.EMPLOYEES
    (
      EMPLOYEE_ID     NUMBER(6),
      FIRST_NAME      VARCHAR2(20 BYTE),
      LAST_NAME       VARCHAR2(100 BYTE) CONSTRAINT EMP_LAST_NAME_NN NOT NULL,
      EMAIL           VARCHAR2(25 BYTE) CONSTRAINT EMP_EMAIL_NN NOT NULL,
      PHONE_NUMBER    VARCHAR2(20 BYTE),
      HIRE_DATE       DATE CONSTRAINT EMP_HIRE_DATE_NN NOT NULL,
      JOB_ID          VARCHAR2(10 BYTE) CONSTRAINT EMP_JOB_NN NOT NULL,
      SALARY          NUMBER(8,2),
      COMMISSION_PCT  NUMBER(2,2),
      MANAGER_ID      NUMBER(6),
      DEPARTMENT_ID   NUMBER(4)
    )
    TABLESPACE EXAMPLE
    PCTUSED    0
    PCTFREE    10
    INITRANS   1
    MAXTRANS   255
    STORAGE    (
                INITIAL          64K
                NEXT             1M
                MINEXTENTS       1
                MAXEXTENTS       UNLIMITED
                PCTINCREASE      0
                BUFFER_POOL      DEFAULT
               )
    NOLOGGING 
    NOCOMPRESS 
    NOCACHE
    NOPARALLEL
    MONITORING
    ENABLE ROW MOVEMENT;-- employees會在example表空間中創建
      

  2.   


    有可能xxxyyy中都没有,不指定时会存放在默认表在空间中,用户和表都是如此。
      

  3.   

    没有指定表空间 放在用户默认的表空间里
    建表是指定表空间
    create table tb
    (
    ...   
    )
    tablespace my_space
    ;
      

  4.   


    你现在建立的用户应该是放在users表空间里。 你可以这样查询
    select default_tablespace from dba_users where user_name = 'XIAOBAI'
      

  5.   

    是说用户默认的表空间和创建的XXX,YYY是不同的.DBF文件?
    那么这个.DBF文件是在d:\oracle\product\10.1.0\oradata\lnn\ 下的那个?可以模拟删掉这个空间再恢复吗?
      

  6.   

    没有指定表空间会放地USER表空间的,可以通过修改默认表空间或修改表的表空间来改变