各位大侠:
表空间TS_TABLESPACE1 中存储了表: t1, t2, ... t20 。
表空间TS_TABLESPACE1的大小是500MByte. 经过alter table t1/t2/t3/..t15 move tablespace TS_TABLESPACE2后, 表空间TS_TABLESPACE2的大小变大了,
但是TS_TABLESPACE1 并没有随着表t1..t15的转移而变小, 这是为什么呢?
如果我需要把TS_TABLESPACE1变小而又不会丢失数据,该怎么办呢?
谢谢。
表空间TS_TABLESPACE1 中存储了表: t1, t2, ... t20 。
表空间TS_TABLESPACE1的大小是500MByte. 经过alter table t1/t2/t3/..t15 move tablespace TS_TABLESPACE2后, 表空间TS_TABLESPACE2的大小变大了,
但是TS_TABLESPACE1 并没有随着表t1..t15的转移而变小, 这是为什么呢?
如果我需要把TS_TABLESPACE1变小而又不会丢失数据,该怎么办呢?
谢谢。
解决方案 »
- oracle 修改进程数后 数据库连不上
- oracle 数据库闪回
- oracle使用索引的问题
- Oracle中 某字段类型为varchar2 但数据类似 Timestamp 形如“20080904100555,055” ,如何进行日期先后的比较?
- 目前为此Oracle哪个版本最稳定??
- 大家好,能否介绍几个ORACLE比较好的国内学习网站!
- 请教一个oracle的简单问题
- Oracle的基础问题~~~~~,各位大哥帮帮忙哈~~~
- 直接执行没问题,但用JDBC调用就出错,郁闷!
- 请教ORACLE806 监听不能启动问题
- 有谁知道在哪张系统表中保存着所有用户表的字段名称,及字段类型信息及主键字段名称信息?
- Oracle 数据库表中数据导出问题?
可以用命令:alter database datafile '...' resize ... 把tablespace1中的数据为空的数据块剔除掉!
1. 那些表不是移到另外的表空间了吗?
怎么“truncate移走的那些表 ” 或者“drop 掉移走的那些表呢?”
2. “ alter database datafile '...' resize ... 把tablespace1中的数据为空的数据块剔除掉! ”
我该怎么判断tablespace1中数据为空的数据块?感谢各位 !
也用不着你自己来判断空的数据块(如果到了那个地步,数据库还怎么维护)。1)EXECUTE dbms_stats.gather_schema_stats('TEST');
2)select bytes/1024/1024 free_size from dba_data_files where tablespace_name='TEST';
获得空闲空间
3)select SUM(BYTES/1024/1024) total_size from dba_free_space where tablespace_name='TEST';
获得共有空间4)然后吧共有空间-空闲空间 就是实际应该占有的空间,
alter database datafile 'd:\...' resize xM ;
这里x=total_size-free_size;如果文件比较多应该注意按照文件处理.