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

2021-08-07 11:56:28 字數 1053 閱讀 8558

經常會遇到資料表檔案儲存滿了,資料庫連線不上,如何為表空間增加新的資料檔案呢?

分析:

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 表空間名稱 add datafile '資料檔案存放路徑' size 2g;

注:如果要為臨時表空間擴容,使用下面的語句

alter tablespace 臨時表空間名稱 add tempfile '臨時表空間存放路徑' size 2g;

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

背景 當通過oracle中的create table as select 語句建立一張新錶時,新錶的資料量為比較大,如10億,這時sql plus很可能就會提示 ora 01653 錯誤資訊。這個錯誤資訊暗示表空間大小不夠,需要為表空間增加資料檔案。分析 1.查詢表空間剩餘位元組大小 select ...

Oracle臨時表空間

oracle臨時表空間主要是用來做查詢和存放一些快取的資料的,磁碟消耗的乙個主要原因是需要對查詢的結果進行排序,如果沒有猜錯的話,在磁碟空間的 記憶體 的分配上,oracle使用的是貪心演算法,如果上次磁碟空間消耗達到1gb,那麼臨時表空間就是1gb,如果還有增長,那麼依此類推,臨時表空間始終保持在...

Oracle 臨時表空間

我多表查詢大概五十萬條資料的檢視引發了乙個錯誤,報空間記憶體不足,開始思考分析還有哪些情況下是會使用到temp臨時表空間,在海量資料的情況下表空間不足是常見的問題 ora 01114 將塊寫入檔案 201 時出現 io 錯誤 塊 3136640 ora 27072 檔案 i o 錯誤 additio...