又一个类似『12c比10g索引回表消耗增多的问题』的案例,同事在12c中跑的buffer get很高,但是在10g中跑的buffer很低。怀疑是不是12c的优化器有问题。 这个10g的环境和12c的环境,数据量大致一样,只是有很少部分的不同,但是就是这个很少部分不同,造成了not exists中的子 […]
无法修改xs$null用户密码
修为安全审计的原因,发现数据库中有一个XS$NULL用户,尝试为其修改密码,发现报错。即使是sys用户也无法修改XS$NULL用户的密码:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
SQL> --11.2.0.4 SQL> alter user XS$NULL identified by oracle; alter user XS$NULL identified by oracle * ERROR at line 1: ORA-01031: insufficient privileges SQL> --12.1.0.2 SQL> alter user XS$NULL identified by oracle; alter user XS$NULL identified by oracle * ERROR at line 1: ORA-28222: may not modify reserved user SQL> |
在线文档说,这是一个内部的保留账户,它不是一个user,只允许oracle实例访问,无法通过外 […]
12c的asm中混搭11g DB和12c DB,报错ora-600[kfnSlaveGroupUse]
客户的一个数据库,是12c的cluster环境,这个环境中有11g的db和12c的db。当客户准备在一个diskgroup上的数据库拉起来的时候(这个cluster是放多个测试库,是从几十个生产库的disk通过存储级复制的方式,集中起来的。生产库那边一个cluster只有一个database,只有2 […]
SP2-0642: SQL*Plus internal error state 2130, context 0:0:0
今天一个10g的客户端,连接12c的数据库,报错:
|
1 2 3 4 5 6 7 8 |
sqlplus user/passwd@10.11.22.33:1525/mysrv SQL*Plus: Release 11.1.0.6.0 - Production on Thu Jun 11 10:05:29 2009 Copyright (c) 1982, 2007, Oracle. All rights reserved. SP2-0642: SQL*Plus internal error state 2130, context 0:0:0 Unsafe to proceed |
而这个客户端连接其他12c的数据库是没有问题的。 这是因为建立的service已经是非标准的service,包含了failover type等参数。见下面的Test Case: [c […]
10g之后支持中文逗号作为查询分隔符
客户的开发在12c的测试库发版本(SQL代码),能顺利发布,但是在10g库发布同样的一套代码,却报错ora-911了。发现是代码中带有中文的逗号。所以他们希望确认一下,为什么12c能用中文逗号做分隔符,而10g不支持。 这是12c的新特性吗?有官方文档支撑吗? 测试了一下,确实在10g报错,但是12 […]
某客户核心数据库库升级前的问题处理和升级步骤
这个升级发生在1年前,客户的这个核心数据库可能是当时全球最大的9i OLTP数据库。有120多TB。 我的分享分成2部分,前一部分,讲讲这近1年来,帮助客户在升级测试中处理的一些问题。后面一部分,将他们的升级步骤,主要讲升级的架构变化,如何利用这个架构来减少风险。 (一)升级前的问题处理(那些年我们 […]
Oracle 7和8的dataguard切换
在oracle 7和oracle 8的时代,就已经有了dataguard,那个时候还不叫dataguard,叫做standby server。那个时候没有switchover的命令,所有的操作必须手工完成。下面,我们就来谈谈oracle 7或8的dataguard的手工切换。 你可能会说,在当今已经 […]