问题: 11g的一个库,启库时,报错shared pool不够。由于我是在一个测试的机器上,我不需要那么多的share pool,我只需800M的shared pool就够了。 但指定shared pool的大小为800M在初始化文件中,起库就报错: SQL> startup ORA-00371: […]
data file init write等待
发生data file init write的等待是数据文件正在发生扩展,在11g中,这往往和SMCO和Wnnn进程的自动预扩展有关。 在生产环境中,如果在生产高峰期出现预扩展,可能会造成短暂的hang住,或者CPU突然的升高,或者查询dba_free_space的hang住。但是,预扩展这个功能是 […]
删除分区缓慢的一次分析
在客户处遇到个问题,客户昨晚清理数据,删除一些表的分区,第一个表跑了20多分钟,但是差不多数据量的另外一个表,跑了好几个小时才完成。为何类似的数据在drop 分区的时候,有那么大的差异? 检查了改删除分区的语句,发现是update了global索引,并且,还用到了parallel 8的并行。 [cr […]
收集统计信息degree不生效的问题
在10.2以上的版本,收集统计信息,如使用dbms_stats.gather_table_stats,还是在ebs中调用fnd_stats.GATHER_TABLE_STATS,有的时候虽然用了degree的参数,如degree=8,但是会发现仍然不使用并行。在10046的trace中,我们可以看到 […]
ORA-00000 normal, successful completion
当hosts文件配置错误时,用sqlplus登录后startup nomount,就会报错ORA-00000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
[oracle11g@testdb2 dbs]$ sqlplus "/ as sysdba" SQL*Plus: Release 11.2.0.4.0 Production on Mon Apr 21 13:48:32 2014 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected. SQL> startup nomount ORA-00000: normal, successful completion SQL> alter database mount; ERROR: ORA-01012: not logged on SQL> [root@testdb2 etc]# cat hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.56.250 wrong_server #192.168.56.132 testdb2 |
修改host文件后:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
[root@testdb2 etc]# cat hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 #192.168.56.250 wrong_server 192.168.56.132 testdb2 再次启动: SQL> startup nomount ORACLE instance started. Total System Global Area 1052274688 bytes Fixed Size 2259840 bytes Variable Size 1023411328 bytes Database Buffers 20971520 bytes Redo Buffers 5632000 bytes SQL> 正常。 |
另外,除了写错,如果丢失hosts文 […]
台湾之行(DAY ONE and DAY TWO)
这个月休了2周的年假,去了一趟台湾。在饱览台湾的人文之美后,我首先要感谢一下我的公司,甲骨文中国,如果放在别的单位,我估计我休假两周回来后,是否还留有我的岗位……有朋友说,回来之后写个攻略吧,嗯……怎么说呢,如果你按照我的攻略走,你也许不能完全体会到台湾的人文之美,台湾的美,要靠你搭乘它的捷运、扶梯 […]
如何还原virtualbox导出的RAC镜像文件
在virtualbox中建立虚拟机,往往是3个文件夹:节点1(ol6-121-rac1),节点2(ol6-121-rac2),共享存储文件夹(ol6-121-rac)。当我们选择“管理”-“导出虚拟电脑”,导出成ova文件备份,就能看到2个主机,每个主机一个ova文件。另外,细心的你可能会发现,在备 […]
当Parallel DML遇到分布式事务、分区表和LOB时
今天遇到一个问题,某sql的并发度虽然已经全部获得但是只有少数几个slave干活。
1 2 3 4 |
alter session enable parallel dml; insert /*+ parallel(t 16)*/一个本地分区表t select /*+ full(a parallel(a 32))*/* from 远程分区表a@dblink where 时间>=xxxx and 时间<xxxxx; |
insert要求有16个并发,虽然在v$PX_SESSION看到其获得的degree是16,但是并不是这16个slave都在干活,从sqlmonito […]
latch:transaction allocation
今天遇到一个sql,发生了大量的134的latch,134的latch是transaction allocation。数据库版本是9208. 该sql是:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
SELECT DECODE(l.request, 0, 'Holder: ', 'Waiter: ') || l.sid sess, s.SQL_HASH_VALUE, l.id1, l.id2, l.lmode, l.request, l.type FROM V$LOCK l, v$session s WHERE (l.id1, l.id2, l.type) IN (SELECT id1, id2, type FROM V$LOCK WHERE request > 0) and l.SID = s.SID and exists (select sw.seq#, sw.sid || ',' || s.serial# sids, s.username, s.SQL_HASH_VALUE from v$session_wait sw, v$session s, dba_objects a where sw.sid = s.sid and sw.event in ('latch free', 'enqueue') and s.status = 'ACTIVE' and sw.STATE = 'WAITING' and s.username is not null and sw.seconds_in_wait > 30 and (a.object_id = s.row_wait_obj# or a.data_object_id = s.row_wait_obj#)) ORDER BY l.id1, l.request; |
据客户反映,这个sql之前没有出现问题,只是昨天做了修改,增加了对v$sess […]
current_timestamp在job中不准的问题
有些job中跑应用程序,希望记下时间戳,但是取了current_timestamp之后,发现时间和实际的时间不准,查了几个小时。这是因为在job中跑的时候,current_timestamp是GMT格林尼治时间。 见下面的testcase,我们设置数据库服务器的时区是东八区的北京时间;客户端plsq […]
小谈12c的in memory option
(1) in memory option(以下简称imo)将随着12.1.0.2发布 (2)in memory option不会取代TimesTen(以下简称TT),因为这是2种层面的产品,TT还是会架在DB层之前,和应用紧密相连,为应用提供缓存,imo在DB层,可以做到高可用如RAC,DG等一些T […]
在跨年时出现执行计划的突变
遇到这样一个问题,客户的某系统在进入2014年后,某sql执行就非常慢,看到这个sql的执行计划发生了改变,原来很好的走hash连接的执行计划变成了走索引的nest loop的执行计划。在收集统计信息后,恢复正常。 这个故障的测试案例,我们可以这样模拟: [crayon-677ea8bb8a9e04 […]