oracle的乙個表所在表空間,空間已經佔滿,其他表空間有剩餘空間.實現表存在另外的表空間.
方案一:利用原表重建分割槽表
1:原表temp,存在欄位id,time;
2:temp存在紀錄;
3:根據原表temp建立新的分割槽表temp_new
create table temp_new (id, time) partition by range (time)
partition p1 values less than (to_date('2004-7-1', 'yyyy-mm-dd')) tablespace space01,
partition p2 values less than (to_date('2005-1-1', 'yyyy-mm-dd')) tablespace space02,
partition p3 values less than (to_date('2005-7-1', 'yyyy-mm-dd')) tablespace space03,
partition p4 values less than (maxvalue) tablespace space04 )
as select id, time from temp;
4:重新命名表名
rename temp to temp_old;
rename temp_new to temp;
5:查詢分割槽紀錄儲存情況
select count(1) from temp partition (space01);
select count(1) from temp partition (space02);
select count(1) from temp partition (space03);
select count(1) from temp partition (space04);
select count(1) from temp_old;
--分割槽儲存紀錄數之和與原紀錄數相同,跨表空間分割槽儲存成功.
有點:方法簡單易用,採用ddl語句,不會產生undo,而只會產生少量redo,效率相對較高,而且建表完成後資料已經分布到各個分割槽中.
缺點:對於資料庫的一致性方面需要額外考慮.無法通過手工鎖表的方式保證一致性.
適用於修改不頻繁的表,在空閒時進行操作,表的資料量不宜太大.
Oracle 如何擴充套件表空間
第一步 檢視oracle表空間的使用情況 select dbf.tablespace name,dbf.totalspace 總量 m dbf.totalblocks as 總塊數,dfs.freespace 剩餘總量 m dfs.freeblocks 剩餘塊數 dfs.freespace dbf....
Oracle表空間 表
表 table 表空間是對儲存系統檔案 使用者資訊等資料的乙個空間。oracle表空間屬於oracle中的儲存結構,是由資料檔案組成,乙個資料庫例項可以有n個表空間,每個資料庫至少有乙個表空間 system表空間 乙個表空間下可以有n張表。可以通過表空間來實現對oracle的調優 oracle資料庫...
如何為ORACLE表空間或臨時表空間增加資料檔案?
經常會遇到資料表檔案儲存滿了,資料庫連線不上,如何為表空間增加新的資料檔案呢?分析 1.查詢表空間剩餘位元組大小 select tablespace name,sum bytes 1024 1024 as free space m from dba free space where tablespa...