ITPub博客

首页 > 数据库 > Oracle > 迁移表到新的表空间

迁移表到新的表空间

原创 Oracle 作者:抬头看见班主任 时间:2015-03-12 13:38:01 0 删除 编辑
在表中查数据插不进去报错,表空间剩余不足:
解决办法:
查看表空间总大小:
SELECT
   tablespace_name,
   sum(bytes) / 1024 / 1024 total
  FROM
   dba_data_files
  GROUP BY
   tablespace_name

查看表空间剩余大小:
 SELECT
   tablespace_name,
   sum(bytes) / 1024 / 1024 free
  FROM
   dba_free_space
  GROUP BY
   tablespace_name


查看表空间使用情况:
SELECT
 a.tablespace_name,
 total,
 free,
 total - free used
FROM
 (
  SELECT
   tablespace_name,
   sum(bytes) / 1024 / 1024 total
  FROM
   dba_data_files
  GROUP BY
   tablespace_name
 ) a,
 (
  SELECT
   tablespace_name,
   sum(bytes) / 1024 / 1024 free
  FROM
   dba_free_space
  GROUP BY
   tablespace_name
 ) b
WHERE
 a.tablespace_name = b.tablespace_name;

迁移表空间:
alter table KXNC_BONUS_RECORD move tablespace  KXDW_DATA

迁移表之后还要在新的表空间中重建索引:
迁移表到新的表空间之后,rowid会发生变化,返回表查询是就找不到rowid,查询表就不会走索引,所以要重建索引
alter index USER_ID_5 rebuild tablespace  KXDW_DATA;


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30152793/viewspace-1457123/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-03-05

  • 博文量
    18
  • 访问量
    36824