oracle ora-00001日志,分割分区时遇到ORA-00604 ORA-00001错误

2011年11月2日

在做表分割的时候碰到如下错误:

SQL> alter table TBCS.CS_LOG_GPRS_ADJUST split partition P_R_955_MAX at (955,TO_DATE('2012-03-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')) into (partition P_R_955_201202,PARTITION P_R_955_MAX);

alter table TBCS.CS_LOG_GPRS_ADJUST split partition P_R_955_MAX at (955,TO_DATE('2012-03-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')) into (partition P_R_955_201202,PARTITION P_R_955_MAX)

*

ERROR at line 1:

ORA-00604: error occurred at recursive SQL level 1

ORA-00001: unique constraint (SYS.I_TABPART_BOPART$) violated

数据库版本是:

SQL> select * from v$version;

BANNER

----------------------------------------------------------------

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

PL/SQL Release 10.2.0.1.0 - Production

CORE 10.2.0.1.0 Production

TNS for Linux: Version 10.2.0.1.0 - Production

NLSRTL Version 10.2.0.1.0 - Production

查看MOS,导致错误的原因是未公布的Bug 3748430 解决办法是打补丁Patch 3748430或者是升级到10.2.0.4版本,该版本已经修复了该Bug。

打好补丁以后,再次执行以上SQL语句,不会出现错误信息,问题解决了。

打补丁步骤:

1.再MOS上下载补丁包。

2.解压补丁包

[oracle@testmanaual patch]$ uzip p3748430_10201_LINUX.zip

[oracle@testmanaual patch]$ ls -l

总用量 76

drwxr-xr-x 4 oracle oinstall 4096 2006-01-19 3748430

-rw-r--r-- 1 root root 68866 10月 29 17:12 p3748430_10201_LINUX.zip

3.进入到补丁目录中

[oracle@testmanaual patch]$ cd 3748430/

4.执行以下命令,应用补丁

[oracle@testmanaual 3748430]$ opatch apply

Invoking OPatch 10.2.0.1.0

Oracle 中间补丁程序安装程序版本 10.2.0.1.0

版权所有 (c) 2005, Oracle Corporation。保留所有权利。。

Oracle 主目录 : /u01/oracle/product/10.2.0/db_1

主产品清单: /u01/oracle/oraInventory

从 : /u01/oracle/product/10.2.0/db_1/oraInst.loc

OPatch 版本 : 10.2.0.1.0

OUI 版本 : 10.2.0.1.0

OUI 位置 : /u01/oracle/product/10.2.0/db_1/oui

日志文件位置 : /u01/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/opatch-2011_Oct_29_17-53-39-CST_Sat.log

ApplySession 将中间补丁程序 '3748430' 应用到 OH '/u01/oracle/product/10.2.0/db_1'

调用 fuser 来检查活动的进程。

Invoking fuser on "/u01/oracle/product/10.2.0/db_1/bin/oracle"

OPatch 从产品清单中检测到非集群 Oracle 主目录, 将仅对本地系统打补丁。

请关闭本地系统上在此 ORACLE_HOME 之外运行的 Oracle 实例。

(Oracle 主目录 = '/u01/oracle/product/10.2.0/db_1')

本地系统是否已准备打补丁?

是否继续? [y|n]

y

User Responded with: Y

为 Oracle 主目录备份文件和产品清单 (不是用于自动回退)

正在备份受补丁程序 '3748430' 影响的文件以用于恢复。此操作将需要一些时间...

正在备份受补丁程序 '3748430' 影响的文件以用于回退。此操作将需要一些时间...

正在为组件 oracle.rdbms, 10.2.0.1.0 打补丁...

用 "lib/libserver10.a/kkpo.o" 更新归档文件 "/u01/oracle/product/10.2.0/db_1/lib/libserver10.a"

正在对目标 ioracle 运行 make 命令

ApplySession 将中间补丁程序 '3748430' 添加到产品清单

本地系统已打补丁, 可以重新启动。

OPatch succeeded.

5.补丁已成功的打上了,查看打上的补丁:

[oracle@testmanaual 3748430]$ opatch lsinventory

Invoking OPatch 10.2.0.1.0

Oracle 中间补丁程序安装程序版本 10.2.0.1.0

版权所有 (c) 2005, Oracle Corporation。保留所有权利。。

Oracle 主目录 : /u01/oracle/product/10.2.0/db_1

主产品清单: /u01/oracle/oraInventory

从 : /u01/oracle/product/10.2.0/db_1/oraInst.loc

OPatch 版本 : 10.2.0.1.0

OUI 版本 : 10.2.0.1.0

OUI 位置 : /u01/oracle/product/10.2.0/db_1/oui

日志文件位置 : /u01/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/opatch-2011_Oct_29_17-54-25-CST_Sat.log

Lsinventory Output file location : /u01/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/lsinv/lsinventory-2011_Oct_29_17-54-25-CST_Sat.txt

--------------------------------------------------------------------------------

已安装的顶级产品 (1):

Oracle Database 10g 10.2.0.1.0

此 Oracle 主目录中已安装 1 个产品。

中间补丁程序 (1):

Patch 3748430 : applied on Sat Oct 29 17:54:17 CST 2011

Created on 18 Jan 2006, 11:40:01 hrs PST8PDT

Bugs fixed:

3748430

--------------------------------------------------------------------------------

OPatch succeeded.

6.如果打补丁过程中出现错误,需要回退操作的话,执行以下命令:

[oracle@testmanaual patch]$ cd 3748430

[oracle@testmanaual 3748430]$ opatch rollback -id 3748430

注意事项:在给系统打补丁之前最后先对数据库做一个完全备份。[@more@]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值