背景:
當通過oracle中的create table ... as select 語句建立一張新錶時,新錶的資料量為比較大,如10億,這時sql*plus很可能就會提示「ora-01653: ...」錯誤資訊。這個錯誤資訊暗示表空間大小不夠,需要為表空間增加資料檔案。
分析:
1. 查詢表空間剩餘位元組大小
select tablespace_name, sum(bytes)/1024/1024 as "free space(m)"
from dba_free_space
where tablespace_name = '&tablespace_name'
group by tablespace_name;
注:如果是臨時表空間,請查詢dba_temp_free_space
select tablespace_name, free_space/1024/1024 as "free space(m)"
from dba_temp_free_space
where tablespace_name = '&tablespace_name';
2. 如果不知道表空間資料檔案目錄規劃,可以先查詢出表空間所有資料檔案
select tablespace_name, file_id, file_name, bytes/1024/1024 as "bytes(m)"
from dba_data_files
where tablespace_name = '&tablespace_name';
注:如果是臨時表空間,請查詢dba_temp_files
select tablespace_name, file_id, file_name, bytes/1024/1024 as "space(m)"
from dba_temp_files
where tablespace_name = '&tablespace_name';
3. 為空間不足的表空間增加資料檔案
alter tablespace &tablespace_name add datafile '&datafile_name' size 2g;
注:如果要為臨時表空間擴容,使用下面的語句
alter tablespace &tablespace_name add tempfile '&datafile_name' size 2g;
如何為ORACLE表空間或臨時表空間增加資料檔案?
經常會遇到資料表檔案儲存滿了,資料庫連線不上,如何為表空間增加新的資料檔案呢?分析 1.查詢表空間剩餘位元組大小 select tablespace name,sum bytes 1024 1024 as free space m from dba free space where tablespa...
temp表空間不足 oracle之臨時表空間組
在乙個臨時表空間 組中,使用者可以定義很多臨時表 空間。乙個臨時表空間組包含至少乙個臨時表空間,但是沒有包含最大個臨時表空間個數。注意,臨時表空間組的名子和臨時表空間的名字必須不相同,不然會出現錯誤。任何臨時表空間都可以 在乙個臨時 表空間中新增 刪除甚至 移動到其他臨時表空間組中。臨時表空間的好處...
Ora 25153 臨時表空間為空
使用者反映記賬操作時,提示ora 25153 臨時表空間為空 1 先查詢表空間情況 select from dba tablespaces where contents temporary 查詢返回兩條記錄,說明存在兩個臨時表空間,如下 2 再檢視檢視dba temp files和v tempfil...