又一个类似『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的手工切换。 你可能会说,在当今已经 […]
修复ora-21700数据字典错误
在一次升级12c的过程中,由于之前有些问题,每修复一个问题,就需要重新执行一次升级脚本。由于重复多次执行了升级脚本,当再次执行升级脚本到phase 65的时候,dbms_stats_internal这个包创建不了了。 我们在$ORACLE_HOME/diagnostics/catupgrd0.log […]
另类解决dataguard的BAD PARAM ORA-16053
有一个库,在主库添加了一个tora10g的配置,发现原来已经存在的rora10g和lora10g都发生了异常,不再继续传日志。检查v$archive_dest显示status为BAD PARAM,error为:ORA-16053 DB_UNIQUE_NAME is not in the Data G […]
12c无法按照预期修改parallel_max_servers
客户有个12c的环境,正在做xtts的迁移,从10g迁移到12c。其中一项要求是12c的一些初始化参数和10g一致,如parallel_max_servers。发现设置后,重启了数据库,还是无法达到预期的修改值。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
SQL> show parameter parallel_max_servers NAME TYPE VALUE ---------------------- ----- --------- parallel_max_servers integer 474 SQL> alter system set parallel_max_servers=585 scope=spfile; shutdown immediate; startup; SQL> show parameter parallel_max_servers NAME TYPE VALUE ---------------------- ----- --------- parallel_max_servers integer 474 |
打开其alertlo […]
升级到12.1.0.2之后rman无法删除已经归档日志
客户一个数据库,架构是2地3中心,本地有primary和standby,远程还有一个standby。 primary的rman archivelog deletion policy是ship to all standby 同城standby的rman archivelog deletion poli […]
12c比10g索引回表消耗增多的问题
问题是这样的: 在12c中,我们测试了2种情况: 第一种是加了hint,使得12c的执行计划和10g类似,只是由于12c的nlj_batching,多了一次nestloop。但是执行计划本质是相同的,都是索引S_CONTACT_X_U1返回表查询。 第二种是使用了10g的outline hint,O […]