最近在迎接安全审计,其中有一条需求是: 文件完整性检测对应数据库为安装的程序文件、配置文件(排除数据文件、日志文件) 也就是需要定期对数据库软件的重要文件做内容校验,避免重要文件被篡改。 整体思路是: 1. 由于oracle的文件太多,我们假设重要的可执行文件目录为$ORACLE_HOME/bin和 […]
Direct IO+asm引起css initialization
某数据库升级到12c后(应用代码也升级了),出现了大量css initialization的等待:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
SQL> select event,sql_id,count(*) from v$session where event='CSS initialization' group by event,sql_id; EVENT SQL_ID COUNT(*) ---------------------- ------------- ---------- CSS initialization 1qkdw0dtyjydf 5 CSS initialization 2g9g4as2nasad 1 CSS initialization 5r5mwAS0m4mxq 1 CSS initialization 712df0y5u236f 529 CSS initialization aasd9k80jrvax 342 CSS initialization a4uvs112123q6 1 CSS initialization c5ax6wp98nam4 1 CSS initialization fsadasd6asd12 4 |
怀疑是否是12c的新特性导致。 CSS initialization 说明: 在RAC(或使用ASM的单实例)数据库环境下,当前台进程 […]
not exists对外层查询的影响
又一个类似『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 […]