Linux中修改oracle臨時表空大小

2021-05-23 21:56:53 字數 1335 閱讀 9450

其實這是從網上學來的,算不上很高深,怕自己忘記了,記下來。

為什麼要修改oracle臨時表空的大小呢?因為臨時表空所在的檔案系統沒有空間了。本來設定的是2g的臨時表空

針對這種情況,本來想用:alter database tempfile '/oradata/temp01.dbf' resize 1024m進行改變大小的。但在toad中看了一下minimum size,說最小也只能縮到2048m,也就是不能直接縮小了,上網查到乙個曲線救國的方法:

1.在其它有空間的地方新建乙個中轉的臨時表空

2.用alter database default temporary tablespace 語句把臨時表空指向新的臨時表空。

3.用drop tablespace把舊的臨時表空刪除

4.在原來的檔案系統上新建乙個小一點的臨時表空

5.再用alter database default temporary tablespace把臨時表空指向這個小一點的臨時表空。

6..用drop tablespace把中轉的臨時表空刪除。

實際方法如下:

1.新建乙個用於中轉的臨時表空:

create temporary tablespace temp2 tempfile

'/setup/temp02.dbf' size 2048m autoextend off

extent management local uniform size 1m;

2.把臨時表空指向中轉表空:

alter database default temporary tablespace temp2;

3.刪除原來的臨時表空:

drop tablespace temp  including contents and datafiles;

4.在原來的檔案系統新建乙個小一點的臨時表空

create temporary tablespace temp tempfile

'/oradata/temp01.dbf' size 1024m autoextend off

extent management local uniform size 1m;

5.把臨時表空再指向新建好的表空:

alter database default temporary tablespace temp;

6.刪除用於中轉的表空:

drop tablespace temp2  including contents and datafiles;

以上在oracle9i環境中通過。

如果想看看臨時表空的表檔案放在**,可以在tablespace中看,也可以在sys使用者的檢視v_$tempfile(或者是v$tempfile)中看。

Oracle 刪除其他Session中的臨時表

因為表kol xx fin050 temp 為臨時表,而且有其他session正在使用。處理步驟 1 先從 dba objects user objects中查詢到該錶的object id select object id from dba objects where object name upp...

關於解決oracle資料庫insert 臨時辦法

由於專案需要使用oracle資料庫,之前遇到乙個insert不成功。原以為官方會解決,但是到目前應該還是沒解決。以下是我自己的解決辦法,這樣修改不清楚有什麼不良效果,但能實現功能 mysql不合適 thinkphp library think db query.php 中的insert public...

在oracle中,修改主鍵

3 修改主鍵 第一步 增加列key no alter table tb zhaozhenlong add key no int 第二部 給key no更新值 update tb zhaozhenlong set key no rownum commit 第三步 將key no置為非空 alter t...