Oracle中与撤销表空间相关的参数有:
UNDO_MANAGEMENT :撤销表空间管理参数
UNDO_TABLESPACE :撤销表空间名称
UNDO_RETENTION :保持撤销的时间长度,默认为900秒
SQL> SHOW PARAMETER UNDO_MANAGEMENT
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
SQL> SHOW PARAMETER UNDO_TABLESPACE
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_tablespace string UNDOTBS1
SQL> SHOW PARAMETER UNDO_RETENTION
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_retention integer 900
----创建撤销表空间
CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\CTCMC\UNDOTBS2-1.DBF' SIZE 10M;
---切换撤销表空间
SQL> SHOW PARAMETER UNDO_MANAGEMENT
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
SQL> SHOW PARAMETER UNDO_TABLESPACE
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_tablespace string UNDOTBS1
SQL> ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTBS2;
系统已更改。
SQL> SHOW PARAMETER UNDO_TABLESPACE;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_tablespace string UNDOTBS2
---查询UNDO表空间的使用情况分析
col 开始时间 for al8
col 结束时间 for al8
SELECT TO_CHAR(MIN(BEGIN_TIME),'YYYYMMDD HH24:MI:SS') 开始时间,
TO_CHAR(MIN(END_TIME),'YYYYMMDD HH24:MI:SS') 结束时间,
SUM(UNDOBLKS) 使用UNDO总快,
SUM(TXNCOUNT) 事务执行总数,
MAX(MAXQUERYLEN) 最长的查询S,
MAX(MAXCONCURRENCY) 最高并发事务,
SUM(SSOLDERRCNT) 出错1555总数,
SUM(NOSPACEERRCNT) 无可用空间总数
FROM V$UNDOSTAT;