遷移表到新的表空間

抬頭看見班主任發表於2015-03-12
在表中查資料插不進去報錯,表空間剩餘不足:
解決辦法:
檢視錶空間總大小:
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部落格 ” ,連結:http://blog.itpub.net/30152793/viewspace-1457123/,如需轉載,請註明出處,否則將追究法律責任。

相關文章