ORA-12012 ORA-12008 ORA-01555

【錯誤提示】

Errors in file /u/oracle/product/diag/rdbms/wsj/wsj/trace/wsj_j001_23086.trc:
ORA-12012: 自動執行工作124時發生錯                                                                         ORA-12008: 具體化視觀表重新整理路徑發生錯誤
ORA-01555: 瞬間拷貝太久: ?到回區段編號3 與名稱 "_SYSSMU3$" 過小
ORA-02063: ? line ぇ玡, ? L_HRM
ORA-06512: ? "SYS.DBMS_SNAPSHOT", line 2558
ORA-06512: ? "SYS.DBMS_SNAPSHOT", line 2771
ORA-06512: ? "SYS.DBMS_IREFRESH", line 685
ORA-06512: ? "SYS.DBMS_REFRESH", line 195
ORA-06512: ? line 1
Mon Dec 26 18:54:02 2011
SMON: Parallel transaction recovery tried
Mon Dec 26 18:55:51 2011
Thread 1 cannot allocate new log, sequence 5843

【問題分析】

SQL> select * from dba_objects t where t.object_type='MATERIALIZED VIEW';
 
OWNER                          OBJECT_NAME                                                                      SUBOBJECT_NAME                  OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE         CREATED     LAST_DDL_TIME TIMESTAMP           STATUS  TEMPORARY GENERATED SECONDARY  NAMESPACE EDITION_NAME
------------------------------ -------------------------------------------------------------------------------- ------------------------------ ---------- -------------- ------------------- ----------- ------------- ------------------- ------- --------- --------- --------- ---------- ------------------------------
SYSMAN                         MGMT_ECM_MD_ALL_TBL_COLUMNS                                                                                          67367                MATERIALIZED VIEW   2009/8/15 上 2009/8/15 上午  2009-08-15:00:40:30 VALID   N         N         N                 19
INOUT                          MV_BAS_DEPT                                                                                                         100899                MATERIALIZED VIEW   2011/12/20  2011/12/20 下午 2011-12-20:13:08:42 VALID   N         N         N                 19
INOUT                          MV_ECPY_FILE                                                                                                         78309                MATERIALIZED VIEW   2011/5/26 上 2011/5/26 上午  2011-05-26:08:50:43 VALID   N         N         N                 19
INOUT                          MV_ECPD_FILE                                                                                                         78314                MATERIALIZED VIEW   2011/5/26 上 2011/5/26 上午  2011-05-26:08:55:48 VALID   N         N         N                 19
INOUT                          MV_BAS_EMP                                                                                                           76866                MATERIALIZED VIEW   2011/5/12 上 2011/5/12 上午  2011-05-12:10:45:26 VALID   N         N         N                 19
INOUT                          MV_BAS_BU                                                                                                            76876                MATERIALIZED VIEW   2011/5/12 上 2011/5/12 上午  2011-05-12:10:50:14 VALID   N         N         N                 19
INOUT                          MV_ATT_RECORD                                                                                                        81426                MATERIALIZED VIEW   2011/6/24 上 2011/6/24 上午  2011-06-24:08:38:35 VALID   N         N         N                 19
INOUT                          MV_BAS_EMPLOYEE                                                                                                     101612                MATERIALIZED VIEW   2011/12/27  2011/12/27 下午 2011-12-27:13:53:49 VALID   N         N         N                 19
 
8 rows selected
 
SQL> select * from dba_jobs t where t.BROKEN='Y';
 
       JOB LOG_USER                       PRIV_USER                      SCHEMA_USER                    LAST_DATE   LAST_SEC         THIS_DATE   THIS_SEC         NEXT_DATE   NEXT_SEC         TOTAL_TIME BROKEN INTERVAL                                                                           FAILURES WHAT                                                                             NLS_ENV                                                                          MISC_ENV                                                           INSTANCE
---------- ------------------------------ ------------------------------ ------------------------------ ----------- ---------------- ----------- ---------------- ----------- ---------------- ---------- ------ -------------------------------------------------------------------------------- ---------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ---------------------------------------------------------------- ----------
         3 INOUT                          INOUT                          INOUT                          2011/8/15 上 08:29:02                                      2011/8/24 上 07:14:52               5841 Y      sysdate+1                                                                                16 PRO_EDATA_TOTAL;                                                                 NLS_LANGUAGE='TRADITIONAL CHINESE' NLS_TERRITORY='TAIWAN' NLS_CURRENCY='NT$' NLS 0102000200000000                                                          0
 
可以看出這個PRO_EDATA_TOTAL任務8月15日執行報錯就一直沒有成功。

SQL> select * from dba_objects t where t.OBJECT_name='PRO_EDATA_TOTAL';
 
OWNER                          OBJECT_NAME                                                                      SUBOBJECT_NAME                  OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE         CREATED     LAST_DDL_TIME TIMESTAMP           STATUS  TEMPORARY GENERATED SECONDARY  NAMESPACE EDITION_NAME
------------------------------ -------------------------------------------------------------------------------- ------------------------------ ---------- -------------- ------------------- ----------- ------------- ------------------- ------- --------- --------- --------- ---------- ------------------------------
INOUT                          PRO_EDATA_TOTAL                                                                                                      76035                PROCEDURE           2011/5/4 下午 2011/12/27 下午 2011-12-27:14:54:39 VALID   N         N         N                  1
可以看出PRO_EDATA_TOTAL為INOUT下一個存儲過程。

【解決問題】

調出存儲過程,修改執行。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16381228/viewspace-714006/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16381228/viewspace-714006/

### 关于 Oracle 错误 ORA-01555ORA-22924 的原因及解决方案 #### ORA-01555 Snapshot Too Old 错误分析与解决办法 当事务槽被覆盖且无法回滚到足够旧的版本时,Oracle 数据库将返回 ORA-1555 错误[^3]。此错误通常发生在长时间运行查询期间,如果这些查询依赖于一致性读取(Consistent Read),而在此过程中其他并发更新操作已经改变了数据块的内容,则可能导致快照过期。 为了防止此类情况发生- 增加 `UNDO_RETENTION` 参数值来延长撤销记录保留时间; - 调整应用程序逻辑减少长事务的发生频率; - 使用分区技术优化大容量数据处理效率; ```sql ALTER SYSTEM SET UNDO_RETENTION=3600 SCOPE=BOTH; ``` 上述命令设置撤销保留时间为一小时。 #### ORA-22924 Numeric Value Out Of Range 错误解析及其对策 ORA-22924 数字超出范围错误明尝试存储转换数值超出了目标字段所能容纳的最大限度。这种情形可能源于不同系统间传输数据类型不匹配是程序内部计算溢出等问题引起。 针对这种情况建议采取如下措施: - 审查涉及运算达式的合法性并确保其结果不会越界; - 对输入参数做严格校验,在必要时候实施截断舍入策略; - 修改相应列定义以适应更大规模的数据量级需求; 例如调整某一列为更大的精度: ```sql ALTER TABLE my_table MODIFY (my_column NUMBER(38, 10)); ``` 通过以上方式可有效规避因数值大小不合适引发的相关异常状况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值