oracle資料庫中刪除了大量資料後表空間的大小怎

2021-04-26 06:16:02 字數 690 閱讀 6842

1樓:夜半鬼吹燈

資料是存放在資料檔案中的,不是直接寫在物理硬碟上,資料檔案是無法自動縮小專的,分配

屬了多大就是多大,用下面的sql可以查出表空間的具體使用情況,刪了大量資料後應該有一個或幾個表空間出現大量空閒。

select t.tablespace_name,

to_char(nvl(t.user_bytes / 1024 / 1024, 0), '99,999,990.900') "size (m)",

to_char(nvl(t.bytes / 1024 / 1024, 0), '99,999,990.900') "used (m)"

from dba_data_files t

如果想要釋放的話就把空間利用率不高的表空間備份一下,然後幹掉重建成合適的size,再重新匯入,dump方式有這種針對表空間的操作。這種需求比較鬼畜,很麻煩,幹掉表空間的時候還要注意off line什麼的,我也沒玩過,只能說祝你好運吧。

2樓:殊途焉能同歸

刪除資料為什麼表空間的大小要變大?表空間大小不是事先定義好的麼?如果你增加資料他可以自動擴大, 但是刪除資料能擴大麼?

3樓:匿名使用者

你是說表空間當前的佔用大小吧,資料量增加佔用就越大,刪除了資料佔用就變小。但是總的表空間是不變的,單表空間佔用過大或不夠時可以清理或者擴充。

oracle資料庫刪除表中一條資料sql語句

sql delete from 資料庫.表名 where id 1 講解 如果不用跨庫,可以省略 資料庫 1代表唯一的一條記錄,是引數。delete from 表名 where 條件 mit 提交 保留表,只刪除資料 truncate table mytable 或者 delete from myt...

sql連線oracle資料庫tables裡面不顯示錶

1 通過sysdb角色檢視資料庫是否正常,然後進入下一步。2 解壓檔案的32位客戶端如圖所示 需要把這個解壓到安裝目錄下面的product檔案目錄下面。3 將oracle安裝目錄中的tnsnames.ora 位於 oracle home network admin中 拷貝到該目錄下。4 可以通過解壓...

請問如何查詢oracle資料庫中是否有某個表的

1 看使用者的表的資訊如同marliuang所說,不再贅述。當然了你用a登入後也可以用命令 selecttnamefromtab 檢視專。2 顯示亂碼是因為oracle中的回屬收站 recyclebin 的緣故,為了防止使用者誤刪除,oracle引入了 站這一概念,你可以使用命令 purgerecy...