日期:2014-05-17  浏览次数:20940 次

急!!oracle数据库中,是否可以将一个已经建立的bigfile表空间改成smallfile
如题

在线等》。。。。。。

------解决方案--------------------
可以啊!
ALTER TABLE old_table_name RENAME TO new_table_name;

大写的字母是关键字,小写的是你原先的表名和要改的表名!
------解决方案--------------------


没试过,应该不行, 楼主还是重新创建个吧.

从google搜的..

查询数据库默认的表空间类型:
SQL> select property_name,property_value from database_properties where property_name='DEFAULT_TBS_TYPE';

PROPERTY_NAME PROPERTY_VALUE
------------------ ------------------
DEFAULT_TBS_TYPE BIGFILE


在10g中,有一个特性,就是bigfile tablespace,这种类型的表空间只能有一个数据文件,且该数据文件允许有4G的数据快,即如果db_block_size=8k的话,最大容量为4G*8K=32T,当然,这个还要看操作系统的限制了。

修改数据库默认的表空间类型为smallfile,就可以为表空间创建多个数据文件了。

SQL> alter database set default smallfile tablespace;

Database altered.

也可以在创建表空间时,指定表空间类型:create smallfile/bigfile tablespace ....

------解决方案--------------------
我刚帮你去网上搜了一下 好像没有相关内容
查了下文档
create 的时候加个bigfile倒是可以

可是在alter tablespace里面好像没看到相关的选项
------解决方案--------------------
表空间的很多参数设定是和物理存储直接有关的,一旦建立就无法修改,比如BIGFILE模式。

唯一的办法是导出或者转移数据,删除表空间之后重建。