oracle的表如何跨表空間儲存

2021-05-07 14:43:18 字數 1159 閱讀 5229

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...