June 23, 2006
Oracle Diagnostics:又见ORA-04031
作者:eygle
出处:http://blog.eygle.com
今天,一个朋友的数据库出现问题,连接上去一看,原来又是ORA-04031:
|
[oracle@statdata bdump]$ sqlplus "/ as sysdba" SQL*Plus: Release 8.1.7.0.0 - Production on 星期五 6月 23 11:04:31 2006 (c) Copyright 2000 Oracle Corporation. All rights reserved. ERROR: |
sql*plus无法连接,想了一下才记起,还有svrmgrl可以用:
|
[oracle@statdata dbs]$ svrmgrl Oracle Server Manager Release 3.1.7.0.0 - Production Copyright (c) 1997, 1999, Oracle Corporation. All Rights Reserved. Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production SVRMGR> connect internal pool","DATABASE","sga heap","state objects") |
在Oracle8.1.7.0.0中,ORA-04031的问题是由来已久的,使用svrmgrl也不能执行shutdown immediate了.只能通过shutdown abort关闭数据库后重起.
| SVRMGR> connect internal Connected. SVRMGR> shutdown abort; ORACLE instance shut down. |
进一步检查发现这个数据库处于初始态运行,共享池设置的只有30M,过小的共享池设置也是导致ORA-04031的原因之一:
shared_pool_size = 31457280
db_block_buffers = 2048
对这两个参数进行了放大调整,主机毕竟有4G内存,调整后,ORA-04031错误应该会少很多了.
数据库关闭后,共享内存并未及时释放:
|
SVRMGR> connect internal ------ Shared Memory Segments -------- ------ Semaphore Arrays -------- ------ Message Queues -------- |
杀掉残余的Oracle进程后,共享内存释放:
|
[oracle@statdata dbs]$ ps -ef|grep ora /export/home/oracle/product/8.1.7/bin/tnslsnr LISTENER -inherit (ADDRESS=(PROTOCOL=beq))) /export/home/oracle/product/8.1.7/bin/tnslsnr LISTENER -inherit ------ Shared Memory Segments -------- ------ Semaphore Arrays -------- ------ Message Queues -------- [oracle@statdata dbs]$ svrmgrl Oracle Server Manager Release 3.1.7.0.0 - Production Copyright (c) 1997, 1999, Oracle Corporation. All Rights Reserved. Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production SVRMGR> connect internal |
此时数据库可以成功启动.
Posted by eygle at 3:53 PM | Comments (0)
陌上花开,可缓缓归矣
作者:eygle
出处:http://blog.eygle.com
今天,是小惠惠在公司工作的最后一天,在来北京的一年之后,她选择回到杭州,回到家乡,和亲爱的人在一起.虽然所有朋友都支持她的这个决定,但是在离去是总会有些不舍.而且,我失去了我的一个DBA.
希望她在新的工作岗位上,能够一帆风顺,不断进步.能够在Biti大师的言传身教之下,成为一个更出色的DBA.
引用一下她自己的总结:
来北京1年。工作4年。上大学以来8年。
流年似水,指间悄悄淌过。
我唯一的愿望,我愿我
保持一双清澈的眼睛。
祝愿小惠惠能够永远"保持一双清澈的眼睛".
Posted by eygle at 3:23 PM | Comments (0)
《深入浅出Oracle》内容简介
作者:eygle
出处:http://blog.eygle.com
《深入浅出Oracle-DBA入门、进阶与诊断案例》一书已经列入ITPUB技术丛书第三册,即将由人民邮电出版社出版,以下是本书的内容介绍:
本书分为9章,具体结构划分如下:
第一章:数据库的启动和关闭,从基础入手,讲解Oracle数据库的启动和关闭,并深入探讨数据库启动关闭的核心本质及内部处理。
第二章:参数及参数文件,这一部分从Oracle启动必需的参数文件入手,讲解重要参数、参数文件对于Oracle的作用,并结合RAC环境,Oracle10g环境介绍参数文件等的不断改进和变迁。
第三章:数据字典,深入到数据库的核心,全面了解数据字典的机制和重要性。
第四章:内存管理,Oracle的内存管理非常重要,本章就SGA、PGA的管理进行探讨,并深入介绍Oracle内存管理技术在Oracle8i/9i/10g不同版本中的变迁。
第五章:Buffer Cache与Shared Pool原理,本章深入介绍了Buffer Cache和Shared Pool的原理,并涉及闩锁和热点块等深入话题。
第六章:重做,重做机制是Oracle恢复的保障,本章针对Oracle的重做机制进行探讨,并涉及重做的内部原理及工作机制。
第七章:回滚与撤销,回滚和事务密切相关,本章从基础出发,介绍Oracle的回滚机制,进而深入研究和探讨回滚机制的内部操作及ORA-01555错误等相关知识。
第八章:等待事件,等待事件在数据库性能诊断中起着极为重要的作用,在不同版本中,Oracle一直在不断加强等待事件的功能,本章从等待事件入手,进一步讲解数据库性能诊断和优化知识。
第九章:性能诊断与SQL优化,这一章是实践的总结,通过一些实践的案例,介绍一种思路和方法给大家,解决问题是学习的最终目的。
关于本书:
根据Gartner公司的最新统计数据,在2005年,Oracle数据库以48.6%的市场占有率继续稳居关系数据库市场的首位,在过去这一年中,国内的Oracle从业市场和学习环境都有了很大的发展和进步,市场进一步规范和成熟,从事数据库管理工作的朋友们也越来越多。
为了让更多进入Oracle领域的朋友能够快速了解和掌握Oracle技术,让具备一定经验和积累的Oracle从业人员继续深入学习,作者倾力撰写了本书。
本书作者活跃于国内著名Oracle技术论坛ITPUB(www.itpub.net),并全力打造国内最具影响力的个人Oracle技术站点Eygle.com(www.eygle.com),本书从基础出发,逐层深入,并结合实际工作中的诊断案例进行全面讲解,力图从点到面,让读者对每个主题都有深入的了解和认识。
本书是ITPUB技术丛书的第三本,在《Oracle数据库DBA专题技术精粹》和《Oracle数据库性能优化》二书出版的2年多以来,ITPUB和 Oracle市场都有了长足的发展,希望本书的出现能为读者带来更深入的技术知识和更多的实践经验。
本书特点:
目前市场上的Oracle书籍普遍存在的问题是模式单一,要么只讲基础知识,要么侧重代码编程实例,要么针对具体的版本特性(Oracle8i/Oracle9i/Oracle10g等),要么缺少实践应用检验,很少能对Oracle相关知识进行全面深入讲解。
本书针对这些问题,从基础知识入手,再进行深入研究,结合性能调整、诊断案例实践,将Oracle知识全面、系统、深入的展现给读者;本书内容更涉及Oracle8i/Oracle9i/Oracle10g,将Oracle的版本变化,功能改进,一以贯之的展现出来,让大家看到这些变革的真正原因以及Oracle的不断技术创新,通过真实案例的学习,更可以加深大家对现实环境的了解,从而提高实践能力。
本书是作者多年实践工作的积累和总结,各篇章更从DBA的成长历程入手,引导大家快速进入并深入Oracle知识的国度。
本书继续贯彻了作者“由点到线再及面”的学习方法,既可以让初学者参考学习,又可以帮助具备一定基础的中级DBA进行进阶学习,不同层次的学习者都能从本书的不同内容中受益。
希望本书能够一如既往的得到大家的支持和喜爱.谢谢大家.
Posted by eygle at 3:19 PM | Comments (0)
