最近在做一个省的调优时发现该省的数据库总是不定期的出现业务堵塞,而且晚上出现的情况更加严重些。为了分析该情况,部署了一个statspack,每隔10分钟收集一次数据。 发现在发生堵塞的时候,statspack中top 5 event的第一位是enqueue: [crayon-678352eb53b6 […]
周末从化温泉之旅
咳咳,早上刚起来,没刮胡子,扎到各位看官的眼睛了,请多包涵。-_-! 从化温泉区的泉眼有十三处之多,分布在河东、河西两岸。温度高低不一,最高达73度,最底有30度,水质属碳酸氡钠型温泉(苏打泉),温泉水质晶莹透亮,无色无味,主要含有钠、镁、钙、钾、氟、二养化硫,氡等多种对人体有利的元素。 我们去的仙 […]
recover时报错ora-289,有意思
oracle的alter database recover语句实在很弱智,明明目录中有arch文件,却不去找这个文件。 看下面的2个例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
-- 例子1: sys@ORALOCAL(10.1.26.26)> alter database datafile 'e:\test02.dbf' offline; Database altered. Elapsed: 00:00:02.73 sys@ORALOCAL(10.1.26.26)> sys@ORALOCAL(10.1.26.26)> alter database recover datafile 'e:\test02.dbf'; Database altered. Elapsed: 00:01:00.25 sys@ORALOCAL(10.1.26.26)> alter database datafile 'e:\test02.dbf' online; Database altered. Elapsed: 00:00:00.43 sys@ORALOCAL(10.1.26.26)> |
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
-- 例子2: sys@ORALOCAL(10.1.26.26)> alter database datafile 'e:\test02.dbf' offline; Database altered. Elapsed: 00:00:00.50 sys@ORALOCAL(10.1.26.26)> alter system switch logfile; System altered. Elapsed: 00:00:01.03 sys@ORALOCAL(10.1.26.26)> / System altered. Elapsed: 00:00:05.14 sys@ORALOCAL(10.1.26.26)> / System altered. Elapsed: 00:00:00.15 sys@ORALOCAL(10.1.26.26)> / System altered. Elapsed: 00:00:05.28 sys@ORALOCAL(10.1.26.26)> / System altered. Elapsed: 00:00:00.15 sys@ORALOCAL(10.1.26.26)> / System altered. Elapsed: 00:00:00.21 sys@ORALOCAL(10.1.26.26)> / System altered. Elapsed: 00:00:00.32 sys@ORALOCAL(10.1.26.26)> / System altered. Elapsed: 00:00:00.35 sys@ORALOCAL(10.1.26.26)> / System altered. Elapsed: 00:00:05.17 sys@ORALOCAL(10.1.26.26)> alter database recover datafile 'e:\test02.dbf'; alter database recover datafile 'e:\test02.dbf' * ERROR at line 1: ORA-00279: change 801109 generated at 12/08/2008 13:21:12 needed for thread 1 ORA-00289: suggestion : D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORALOCAL\ARCHIVELOG\2008_12_08\O1_MF_1_55_%U_.ARC ORA-00280: change 801109 for thread 1 is in sequence #55 Elapsed: 00:00:00.59 sys@ORALOCAL(10.1.26.26)> sys@ORALOCAL(10.1.26.26)> sys@ORALOCAL(10.1.26.26)> alter database recover cancel; Database altered. Elapsed: 00:00:01.18 sys@ORALOCAL(10.1.26.26)> sys@ORALOCAL(10.1.26.26)> sys@ORALOCAL(10.1.26.26)> alter database recover automatic datafile 'e:\test02.dbf'; Database altered. Elapsed: 00:00:02.29 sys@ORALOCAL(10.1.26.26)> alter database datafile 'e:\test02.dbf' online; Database altered. Elapsed: 00:00:00.39 sys@ORALOCAL(10.1.26.26)> |
可见,不加automatic […]
drop user报错ora-942
今天在一个新建的测试库上drop user的时候,报错ora-942:
1 2 3 4 5 6 7 8 9 10 |
sys@ORALOCAL(10.1.26.26)> drop user HEJIANM cascade; drop user HEJIANM cascade * ERROR at line 1: ORA-00604: error occurred at recursive SQL level 1 ORA-00942: table or view does not exist ORA-06512: at line 11 Elapsed: 00:00:10.50 |
对于942的报错,我们常用的分析方法是设置一个942的errorstack或者10046的trace,在这里,我用了10046的方式来trace这个问题: [cr […]
一次cpu的user比例过高的调优
近期遇一个省的数据库说总是繁忙,idle很小,在凌晨稍微跑几个比较大的统计脚本,idle就出现0的情况,导致业务发生堵塞。 经过连续几天的观察,发现cpu曲线大致如下: 2008年11月18日: 和白鳝交流了一下,老白说cpu的user%比例过高可能是由于buffer get比较高的sql引起。可以 […]
oracle像什么?
oracle不是一个数据库公司,oracle是一个信息化公司。 oracle像一把伞,Database是伞的伞柄,Midware是伞柄上的伞骨,各类的application是伞骨上的伞面。 .
手工安装数据库和创建实例
有时候,我们没有xwindows的界面,需要在silent模式下创建数据库,我们可以用如下的方式创建。 下面的例子是以windows xp,oracle 10201版本。 修改安装目录中的response目录下的custom.rsp文件,可以copy一个后修改。 注意下面的#need change! […]
AQ导致不能drop user cascade
由于工程割接,在新数据库上测试imp一个用户需要多少时间,在把imp的报错慢慢修正后,再一次drop user进行重新导入,却发现不能drop user了:
1 2 3 4 5 6 |
SQL> drop user newsims cascade; drop user newsims cascade * ERROR at line 1: ORA-00604: error occurred at recursive SQL level 1 ORA-24005: must use DBMS_AQADM.DROP_QUEUE_TABLE to drop queue tables |
但是在当前用户下查询user_query_tables会发现没有记录: [c […]
truncate异常中断后,发生DFS LOCK HANDLE
环境: oracle 9206 三节点rac。hp 11.11。 【10月29日,故障发生】 在一次truncate一个大表的过程中(以下操作均在节点1(gdrac1)上操作):
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 26 27 |
SQL> select sum(bytes)/1024/1024/1024 size_g from user_segments where segment_name='ALERTBUFF'; SIZE_G ---------- 329.8125 1* select tablespace_name,PARTITIONED from user_tables where table_name='ALERTBUFF' SQL> / TABLESPACE_NAME PAR ------------------------------ --- DATA_DYNAMIC NO SQL> select EXTENT_MANAGEMENT,SEGMENT_SPACE_MANAGEMENT from user_tablespaces where tablespace_name='DATA_DYNAMIC'; EXTENT_MAN SEGMEN ---------- ------ LOCAL MANUAL SQL> select index_name,tablespace_name,PARTITIONED from user_indexes where table_name='ALERTBUFF'; INDEX_NAME TABLESPACE_NAME PAR ------------------------------ ------------------------------ --- IDX_ALERTBUFF_ALERTTIME DATA_DYNAMIC NO PK_ALERTBUFF DATA_DYNAMIC NO |
我们执行了truncate table xxx reu […]
DSI学习笔记
DSI的全称是DATA SERVER INTERNALS,是oracle为售后服务工程师进行的培训教程。 DSI含以下课程:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
DSI301:ADVANCED SERVER SUPPORT SKILLS DSI302:DATA MANAGEMENT DSI303:DATABASE BACKUP AND RECOVERY DSI304:QUERY MANAGEMENT DSI305:DATABASE TUNING DSI306:VERY LARGE DATABASES DSI307:DISTRIBUTION AND REPLICATION DSI308:PARALLEL SERVER DSI401E:ADVANCE SUPPORT SKILLS DSI401:DUMPS CRASHES AND CORRUPTIONS DSI402E:DATA TYPE AND BLOCK STRUCTURES DSI402:SPACE AND TRANSACTION MANAGEMENT DSI403E:RECOVERY ARCHITECTURE COMPONTS DSI404E:QUERY OPTIMIZER DSI405:INSTANCE TUNING DSI408:REAL APPLICATION CLUSTERS INTERNALS |
301笔记:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
设置event的方法: 1.通过初始化参数event="<event name> <action> [:<event name> <action> ]" 2.alter session set events '<event name> <action> [:<event name> <action> ]' 3.alter system set events '<event name> <action> [:<event name> <action> ]' 4.exec dbms_system.SET_EV(sid,serial#,event name,level,'action'); 5.oradebug <command>; 注:event="<event name> <action> [:<event name> <action> ]"的说明如下: 一.event name: (1)可以是一个event的名称,如果不是event的名称,就默认为immediate。(但是immediate关键字不能出现在初始化文件中) (2)可以是event的数字,如10046,10053,范围是10000至10999。每个event号码的含义后续会介绍。 二.当设定了event name后,action有可能有3种取值:crash、debugger、trace,其中trace我们比较常用。这里具体说说trace的这种用法: 指定trace时,语法为: <event name> "trace" "name" <trace name> <trace qualifier>[,<trace qualifier>]... 这里<trace name>是一个内部的trace 标记,如context。 这里<trace qualifier>可以是forever、off、level n,一般情况下n是trace的级别,n越高级别越高;但是如果是dump数据块的时候,n指dba(data block address,数据块的地址)。 综上,可以写event="10046 trace name context forever:10053 trace name context forever,level 10" 注意,当初始化文件中有2个event="xxxxx",以后面一个为准,前面一个失效。 |
event的种类: [cra […]
即将参加Oracle 11g产品升级及应用体验大会
这个月底,我将参加在深圳的oracle的11g产品升级及应用体验大会。 该会议是由Oracle举办,AMD/Novell公司协办,是专门针对ISVs 的应用升级/移植的活动。Oracle 公司资深技术人员将解答有关升级过程中的疑难问题,同时还可以和两个厂家资深技术专家共同探讨最新产品的技术特点。 不 […]
十一游香江野生动物园
十一期间,陪琪琪回了趟东莞,去见了琪琪的父母。琪琪的妈妈很热心,爸爸也很好。琪琪家的教育方式和我家有很大不同,琪琪比较独立,父母对她都很放心。对我也比较信任,呵呵。在拜访了琪琪的父母之后,我们一起去了香江野生动物园。里面10只大熊猫,100多只白虎,13只考拉,460余种2万余只珍奇动物野生动物,确 […]