第一部分:故障现象和分析和建议:
1. 报错一:
. . 正在导出表 BASE_BIGTEXT
EXP-00056: 遇到 ORACLE 错误 1555
ORA-01555: snapshot too old: rollback segment number 9 with name "_SYSSMU9$" too small
分析:
快照过旧。 长查询遇到短事务。
短事务:DML修改数据,会把旧数据 复制一份 放入 撤销表空间的回滚段中。这是oracle的特点、优点和最大卖点,更新不阻塞
查询。
当另外一个会话提交sql语句,查询数据时,需要查询正在被修改的数据,sql会去撤销表空间的某一个回归段中查询被更改以前的数据。
由于查询的数据量很大,导致查询的时间很长。
撤销表空间的回滚段,由于时间 或者 空间压力,被清除出撤销表空间。
当查询需要用到 回滚段时,回滚段已经被清除,就会出现以上报错。
目前数据库的配置参数:
undo_retention integer 10800 秒 3小时
撤销表空间的大小为:
TS# NAME
1 UNDOTBS1
BYTES BLOCKS CREATE_BYTES BLOCK_SIZE NAME
4288675840 523520 4288675840 8192 /dev/rundo1_4g_01
4G
建议:
1、备份的时间点,和业务操作和计划任务,最好串行。夜间的备份,job 串行执行。
2、增加撤销表空间的容量,建议增加至12G
3、undo_retention 这个参数,撤销表空间的回滚段保留时间。需要根据实际的情况
进行设置,这里不提供建议,请本地数据库管理员根据数据库实际运行状态,进行设置,
太大,和太小,都不好。
2、报错二:
. . 正在导出表 T_14041239842000_E
EXP-00007: 字典未显示 YNDXTMS.T_14041239842000_E 列
. . 正在导出表 T_140412398420023_E
EXP-00007: 字典未显示 YNDXTMS.T_140412398420023_E 列
. . 正在导出表 T_140412398420031_E
EXP-00007: 字典未显示 YNDXTMS.T_140412398420031_E 列
. . 正在导出表 T_140412398420039_E
分析:数据库正在处
1. 报错一:
. . 正在导出表 BASE_BIGTEXT
EXP-00056: 遇到 ORACLE 错误 1555
ORA-01555: snapshot too old: rollback segment number 9 with name "_SYSSMU9$" too small
分析:
快照过旧。 长查询遇到短事务。
短事务:DML修改数据,会把旧数据 复制一份 放入 撤销表空间的回滚段中。这是oracle的特点、优点和最大卖点,更新不阻塞
查询。
当另外一个会话提交sql语句,查询数据时,需要查询正在被修改的数据,sql会去撤销表空间的某一个回归段中查询被更改以前的数据。
由于查询的数据量很大,导致查询的时间很长。
撤销表空间的回滚段,由于时间 或者 空间压力,被清除出撤销表空间。
当查询需要用到 回滚段时,回滚段已经被清除,就会出现以上报错。
目前数据库的配置参数:
undo_retention integer 10800 秒 3小时
撤销表空间的大小为:
TS# NAME
1 UNDOTBS1
BYTES BLOCKS CREATE_BYTES BLOCK_SIZE NAME
4288675840 523520 4288675840 8192 /dev/rundo1_4g_01
4G
建议:
1、备份的时间点,和业务操作和计划任务,最好串行。夜间的备份,job 串行执行。
2、增加撤销表空间的容量,建议增加至12G
3、undo_retention 这个参数,撤销表空间的回滚段保留时间。需要根据实际的情况
进行设置,这里不提供建议,请本地数据库管理员根据数据库实际运行状态,进行设置,
太大,和太小,都不好。
2、报错二:
. . 正在导出表 T_14041239842000_E
EXP-00007: 字典未显示 YNDXTMS.T_14041239842000_E 列
. . 正在导出表 T_140412398420023_E
EXP-00007: 字典未显示 YNDXTMS.T_140412398420023_E 列
. . 正在导出表 T_140412398420031_E
EXP-00007: 字典未显示 YNDXTMS.T_140412398420031_E 列
. . 正在导出表 T_140412398420039_E
分析:数据库正在处