為ORACLE表空間或臨時表空間增加資料檔案

2021-06-27 23:10:22 字數 1204 閱讀 9386

背景:

當通過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...