修改oracle数据库默认创建的表空间为小文件表空间

来源:互联网 发布:胸大是怎样的体验知乎 编辑:程序博客网 时间:2024/06/05 09:07

修改数据库默认建的表空间为小文件表空间:
又一次安装oracle数据库安装好后,创建表空间报错
create  tablespace db01
datafile '/opt/oracle/db/oradata/oradb/db01.dbf' size 10M,
         '/opt/oracle/db/oradata/oradb/db02.dbf' size 10M;

SQL> create tablespace db01
  2  datafile '/opt/oracle/db/oradata/oradb/db01.dbf' size 10M,
  3           '/opt/oracle/db/oradata/oradb/db02.dbf' size 10M;
create tablespace db01
*
ERROR at line 1:
ORA-32774: more than one file was specified for bigfile tablespace DB01
SQL>
提示错误说大文件表空只能有一个数据文件,原来数据库装好后建表空间默认的是大文件表空间
查询数据字典可以看到数据库默认的是大文件表空间
SQL> select PROPERTY_NAME,PROPERTY_VALUE from database_properties where PROPERTY_NAME ='DEFAULT_TBS_TYPE';
PROPERTY_NAME        PROPERTY_VALUE
-------------------- ------------------------------
DEFAULT_TBS_TYPE     BIGFILE

如果想建小文件表空间,就需要在create后面加上smallfile就可以建成功了
SQL> create smallfile tablespace db01
  2  datafile '/opt/oracle/db/oradata/oradb/db01.dbf' size 10M,
  3           '/opt/oracle/db/oradata/oradb/db02.dbf' size 10M;

Tablespace created.

或者把系统默认的表空间类型改为小文件表空间用下面的语句修改
alter database set default smallfile tablespace;

SQL> alter database set default smallfile tablespace; 

Database altered.

SQL> select PROPERTY_NAME,PROPERTY_VALUE from database_properties where PROPERTY_NAME ='DEFAULT_TBS_TYPE';

PROPERTY_NAME        PROPERTY_VALUE
-------------------- ------------------------------
DEFAULT_TBS_TYPE     SMALLFILE

SQL>
修改成功
在次用上面的语句创建表空就不报错了
删除表空间连数据文件一起删除
SQL> drop tablespace db01 including contents and datafiles; 
Tablespace dropped.

SQL> create  tablespace db01
  2  datafile '/opt/oracle/db/oradata/oradb/db01.dbf' size 10M,
  3           '/opt/oracle/db/oradata/oradb/db02.dbf' size 10M;

Tablespace created.

这时建的表空间默认是小文件表空间了不用加上smallfile了,如果想建立大文件表空间加上bigfile就可以了

原创粉丝点击