SQL> show parameter undo_retention; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ undo_retention integer 86400
3.得到数据块大小
1 2 3 4 5 6 7 8
SQL> show parameter db_blo NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_block_buffers integer 0 db_block_checking string FALSE db_block_checksum string TYPICAL db_block_size integer 8192
4.将以上三者的数据相乘就是所需undo表空间的大小数
1 2 3 4 5
SQL> select (11.305*86400*8192)/1024/1024/1024 undoTablespace_GB from dual; UNDOTABLESPACE_GB ----------------- 7.4520263671875
发现undo表空间不够的时候,赶紧增加undo表空间的大小,执行语句如下:
1 2 3
alter tablespace undotbs1 add datafile '/u01/database/instance_name/undotbs02.dbf' size 100M autoextend on next 128M maxsize 24G; alter tablespace undotbs1 add datafile '/u01/database/instance_name/undotbs03.dbf' size 100M autoextend on next 128M maxsize 24G; alter tablespace undotbs1 add datafile '/u01/database/instance_name/undotbs04.dbf' size 100M autoextend on next 128M maxsize 24G;