Author Archives: yangtingkun

DDL触发器设置导致DDL无法执行(一)

公司测试数据库发现执行DDL报错。 由于篇幅所限,这里简单描述一下问题产生的现象。 打算进行个测试,结果发现建表时报错: SQL> CREATE TABLE T_EXCHANGE (ID NUMBER, CREATED DATE, TYPE VARCHAR2(18)) 2 PARTITION BY RANGE (CREATED) SUBPARTITION BY LIST (TYPE) 3 (PARTITION P1 VALUES LESS THAN (TO_DATE(’2012-1′, ‘YYYY-MM’)) 4 (SUBPARTITION P1SP1 VALUES (’TABLE’), 5 SUBPARTITION P1SP2 VALUES (’INDEX’), … Continue reading →

Posted in ORACLE | Tagged , , , , | Leave a comment

20120222ACOUG&Oracle技术研讨会——Meeting Thomas Kyte

标题很长,没有办法,因为要表达的东西很多。 今天是ACOUG和Oracle联合组织的一期活动,和以往最大的区别在于,这一期我们请来了大名鼎鼎的Thomas Kyte,也就是ASK TOM中的Tom。正是由于Tom的明星人气,导致ACOUG的60个名额在4个小时内就已经满了。 近距离接触大师的机会是非常难得的,更难得是除了有机会聆听大师的演讲,还有机会向大师提问,唯一可惜的是,Tom对于我的提问回答是NO。当然我问的是12C的新特性,由于Oracle的策略所致,Tom无法在产品正式发布之前进行任何新特性的透露。 Tom的演讲的主体是Oracle的技术发展,总结了从9i到11g以来Oracle在各个方面所带来技术改变;而Eygle演讲的主体则是一个深入的技术细节,描述了一个数据库崩溃后如何进一步诊断和恢复。 明天在上海还有一场同样的ACOUG活动,这里预先祝愿活动圆满成功了。

Posted in NEWS | Leave a comment

获取表空间是否可自动扩展的SQL

好长时间没写SQL了,今天看到同事在使用一个检查表空间是否可自动扩展的SQL,不但效率不高,而且非常的累赘,忍不住自己写了一个。 原始SQL如下: SQL> SELECT DISTINCT tablespace_name, autoextensible 2 FROM DBA_DATA_FILES 3 WHERE autoextensible = ‘YES’ 4 UNION 5 SELECT DISTINCT tablespace_name, autoextensible 6 FROM DBA_DATA_FILES 7 WHERE autoextensible = ‘NO’ 8 AND tablespace_name NOT IN 9 (SELECT DISTINCT tablespace_name 10 … Continue reading →

Posted in ORACLE | Tagged , , | Leave a comment

ORA-600(kgeade_is_0)错误

一个和并行执行有关的bug。 虽然是并行执行相关,但是报错的并不是Pnnn进程,事实上,实在RAC环境中查询GV$表导致了这个错误。 Wed May 04 15:56:02 EAT 2011 Starting ORACLE instance (normal) LICENSE_MAX_SESSION = 0 LICENSE_SESSIONS_WARNING = 0 Interface TYPE 1 lan900 192.168.194.0 configured FROM OCR FOR USE AS a cluster interconnect Interface TYPE 1 lan901 10.142.194.0 configured FROM OCR … Continue reading →

Posted in BUG | Tagged , , , | Leave a comment

ORA-600(15214)错误

告警日志中包含ORA-600[15214]错误。 错误信息为: Fri Feb 03 01:21:47 EAT 2012 Errors IN file /oracle/app/admin/orcl/bdump/orcl2_p155_29897.trc: ORA-00600: internal error code, arguments: [15214], [0], [2], [], [], [], [], [] Fri Feb 03 01:21:49 EAT 2012 Trace dumping IS performing id=[cdmp_20120203012149]Fri Feb 03 01:21:47 EAT … Continue reading →

Posted in BUG | Tagged , , , , , | Leave a comment

ORA-600(kjzhablar:idx)错误

客户告警日志出现ORA-600[kjzhablar:idx]错误,已经碰到过ORA-7445[kjzhablar:idx]的错误,虽然错误函数相同,但是二者关系不大。 错误信息为: Sat May 14 18:54:55 EAT 2011 Errors IN file /oracle/app/admin/orcl/bdump/orcl1_diag_3889.trc: ORA-00600: internal error code, arguments: [kjzhablar:idx], [1], [1], [0x9FFFFFFFFD343AB4], [], [], [], [] Sat May 14 18:54:57 EAT 2011 Trace dumping IS performing id=[cdmp_20110514185457]Sat May 14 18:54:55 EAT … Continue reading →

Posted in BUG | Tagged , , , , | Leave a comment

ORA-600(1883)错误

一个数据泵导致的错误。 在告警日志中错误如下: Sat Oct 08 17:08:28 EAT 2011 The VALUE (30) OF MAXTRANS parameter ignored. Sat Oct 08 17:08:29 EAT 2011 ALTER SYSTEM SET service_names=’SYS$SYS.KUPC$C_1_20111008170828.CU3GP’ SCOPE=MEMORY SID=’cu3gp1′; Sat Oct 08 17:08:29 EAT 2011 ALTER SYSTEM SET service_names=’SYS$SYS.KUPC$C_1_20111008170828.CU3GP’,’SYS$SYS.KUPC$S_1_20111008170828.CU3GP’ SCOPE=MEMORY SID=’cu3gp1′; kupprdp: … Continue reading →

Posted in BUG | Tagged , , , , , | Leave a comment

ORA-7445(krslvna)错误

告警日志中出现ORA-7445[krslvna]错误,随后导致数据库的崩溃。 错误信息为: Thu Sep 8 04:12:07 2011 Starting ORACLE instance (normal) LICENSE_MAX_SESSION = 0 LICENSE_SESSIONS_WARNING = 0 Interface TYPE 1 lan900 192.168.11.0 configured FROM OCR FOR USE AS a cluster interconnect Interface TYPE 1 lan901 10.142.132.0 configured FROM OCR FOR … Continue reading →

Posted in BUG | Tagged , , , | Leave a comment

EXCHANGE分区导致主键重复

分区表的EXCHANGE交换分区不检查数据有效性,可能导致LOCAL主键索引出现重复值。 通过一个简单的例子来说明这个问题: SQL> CREATE TABLE T_PART_EXCHANGE (ID NUMBER, NAME VARCHAR2(30), TYPE VARCHAR2(18)) 2 PARTITION BY LIST (TYPE) 3 (PARTITION P1 VALUES (’TABLE’), 4 PARTITION P2 VALUES (DEFAULT)); TABLE created. SQL> CREATE INDEX IND_PART_EXCHANGE_TYPEID ON T_PART_EXCHANGE(TYPE, ID) LOCAL; INDEX created. SQL> … Continue reading →

Posted in ORACLE | Tagged , , | Leave a comment

语句级并行提示

最近才发现并行提示增加了语句级并行的功能。 以前添加并行都是对指定的表添加,最近才发现,如果不加表名,是指定这个语句的并行度: SQL> CREATE TABLE t_p_i AS 2 SELECT * 3 FROM dba_objects 4 WHERE 1 = 2; TABLE created. SQL> CREATE TABLE t_p_s AS 2 SELECT * 3 FROM dba_objects; TABLE created. SQL> SET autot ON EXP SQL> INSERT … Continue reading →

Posted in ORACLE | Tagged , | Leave a comment