Oracle快速替換UNDO表空間方法

2021-08-09 15:03:52 字數 2008 閱讀 6031

undo表空間不夠用,有兩種處理方法:

1、擴大表空間大小;

2、建立新的undo表空間,刪除原來的。

確認undo表空間名稱

select name from v$tablespace; 

檢查資料庫undo表空間占用空間情況以及資料檔案存放位置;

select file_name,bytes/1024/1024 from dba_data_files where tablespace_name like 'undotbs1';

alter   database  undotbs1 datafile   '/opt/oracle/oradata/inms/undotbs02.dbf'   resize   4000m;

1、建立新的

undo

表空間,並設定自動擴充套件引數;

create undo tablespace undotbs2 datafile '/oradata/oradata/ddptest/undotbs1.dbf' size    2 1000m reuse autoextend on next 800m maxsize unlimited; 

2、動態更改

spfile

配置檔案;

alter system set undo_tablespace=undotbs2 scope=both; 

3、刪除原有的

undo

表空間;

drop tablespace undotbs1 including contents; 

4、確認刪除是否成功;

select name from v$tablespace; 

5、確定

$oracle_home/dbs/spfileoinms.ora

內容是否發生變更:

$more spfileoinms.ora 

*.undo_management='auto'

*.undo_retention=10800

*.undo_tablespace='undotbs2' 

如果沒有發生變更請執行如下語句:

sql> create pfile from spfile; 

file created. 

6、刪除原

undo

表空間的資料檔案,其檔名為步驟中執行的結果。

#rm $oracle_base/oradata/$oracle_sid/undotbs01.dbf

根據實際情況,採用擴大undo表空間的方式只能支撐一段時間。執行一段時間之後,

undo

表空間資料檔案終會達到上限。因此,採用第二中方案進行處理。可以使用一下指令碼,交替替換

undotbs1

和undotbs2

表空間的方式,可以快速解決問題。

create undo tablespace undotbs1 datafile '/u01/oracle/oradata/orcl/undotbs1.dbf' size 512m reuse autoextend on next 512m maxsize unlimited;

alter system set undo_tablespace=undotbs1 scope=both;

drop tablespace undotbs2 including contents;

rm '/u01/oracle/oradata/orcl/undotbs2.dbf'

create undo tablespace undotbs2 datafile '/u01/oracle/oradata/orcl/undotbs2.dbf' size 512m reuse autoextend on next 512m maxsize unlimited;

alter system set undo_tablespace=undotbs2 scope=both;

drop tablespace undotbs1 including contents;

rm '/u01/oracle/oradata/orcl/undotbs1.dbf'

ORACLE的undo表空間操作

1.檢視undo表空間 select file id,file name,tablespace name,sum bytes 1024 1024 total mb,autoextensible from dba data files group by file name,file id,tables...

專案中遇到的undo表空間不足的替換

1.查詢資料庫的undo表空間名 select name from v tablespace 2.檢查資料庫undo表空間占用空間情況以及資料檔案存放位置 select file name,bytes 1024 1024 from dba data files 3.檢視回滾段的使用情況,哪個使用者正...

oracle學習之5管理undo表空間

1 undo段用於儲存事務所修改的資料舊值,其中儲存著被修改資料塊的位置以及修改前資料。undo資料的作用 回退事務,讀一致性,事務恢復,倒敘查詢。2 管理undo表空間 使用undo引數 a undo management 該初始化引數用於指定undo資料的管理方式,如果要使用自動管理模式,必須設...