Oracle 10g Limits - Logical Database Limits
Oracle 10g(Oracle 10.2)的限制,便于查询。 Reference: http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/toc.htm[@more@] Logical Database Limits Item Type Limit CREATE MATERIALIZED VIEW definition Maximum size
由9itemp表空间遭遇ORA-01652错误蔓延开来 zt
http://www.dbadoc.com/2009/11/9i_temp_ora_1652[@more@]一套核心的rac生产系统,最近老遭遇ORA-01652无法扩临展时表空间的错误,临时表空间有60G,查看使用率在96%左右.按说这么打的temp表空间不应该存在不够用的情况,怀疑是oracle没有自动回收不再使用的临时表空间,google也没有很好的回收的办法,大概总结了一下有这些办法,并且蔓延开很多东西。从我的测试来看:alter tablespace temp coalesce; alter tablespace temp default storage(pctincrease 1); alter tablespace temp permenant(不适用于create temporary tablespace 创
Oracle动态性能视图之v$session_longops zt
与此相关的很好的一个文章见:http://www.gplivna.eu/papers/v$session_longops.htm[@more@]与此相关的很好的一个文章见:http://www.gplivna.eu/papers/v$session_longops.htm动态性能视图v$session_longops中可以查看系统中长时间事务的执行进度。一个操作是否可以在这个视图中查到有一个重要的标准是:这个事务的执行时间超过了6秒,但并不是说,所有超过六秒的事务都会显示在这个视图中。例如,你可以在这个视图中找到hash join的长事务,但是你永远不可能找到nested loop join类型的长事务,即使这个事务超过了6秒并且很复杂。用如下
Oracle Index Internals
ZT fromhttp://hi.baidu.com/dbaeyes/blog/item/5bd7c31c3c63838087d6b616.html [@more@]摘录自Oracle Index Internals Classic Oracle Index Myths Oracle B-tree indexes can become “unbalanced” over time and need to be rebuilt Deleted space in an index is “deadwood” and over time requires the index to be rebuilt If an index reaches “x” number of levels, it becomes inefficient and requires the index to be rebuilt If an index has a poor clustering factor, the index needs to be rebuilt To impro
查看oracle隐藏参数
--查看所有隐藏参数selecti.ksppinm name,i.ksppdesc description,cv.ksppstvl value,cv.ksppstdf isdefault,decode(bitand(cv.ksppstvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE') ismodified,decode(bitand(cv.ksppstvf,2),2,'TRUE','FALSE') isadjusted fromsys.x$ksppi i,sys.x$ksppcv cvwherei.inst_id=userenv('Instance') andcv.inst_id=userenv('Instance') andi.indx=cv.indx andi.ksppinm like '_%' escape ''order byreplace(i.ksppinm,'_','');--查看指定隐藏参数selectx.ksppinm name,x.ksppdesc description,y.ksppstvl valu
ORACLE的动态注册行为 zt
http://www.laoxiong.net/oracle_dynamic_register.html[@more@] 大家都知道,ORACLE实例在启动时,或使用命令ALTER SYSTEM REGISTER 或每隔一分钟,实例的PMON会向监听进行注册,告知监听,实例的服务名,实例名等信息。 不同的平台有不同的行为,本文所描述的是在LINUX下的行为。ORACLE版本为10.2.0.1。 讲到动态注册,跟监听密切相关,下面先看看监听的行为: 监听在启动时,会从$ORACLE_HOME/network/admin/listener.ora读取监听配置,如果该文件不存在,则监听会在 主机名对应的IP和1521端口上进行监听。如果主机名在
Oracle中的Hash Join详解 zt
=========================================================== 作者: tolywang(http://tolywang.itpub.net) 发表于:2007.07.04 10:38 分类: Oracle数据库管理 出处:http://tolywang.itpub.net/post/48/303510 --------------------------------------------------------------- [@more@] 一、 hash join概念hash join(HJ)是一种用于equi-join(而anti-join就是使用NOT IN时的join)的技术。在Oracle中,它是从7.3开始引入的,以代替sort-merge和nested-loop join方式,提高效率。在CBO(hash join只有
Oracle9i中的PGA
作者: yaanzy(http://yaanzy.itpub.net) 发表于: 2005.09.29 09:29 分类: Oracle技术 出处: http://yaanzy.itpub.net/post/1263/42085[@more@] --------------------------------------------------------------- 1、PGA的结构 Oracle的内存结构,除了SGA(System Global Area)之外,Oracle进程还使用下面三个全局区:The Process Global Area (PGA)The User Global Area (UGA)The Call Global Area (CGA)很多人都搞不清楚PGA和UGA两者之间的区别,实际上两者之间的区别跟一个进程和一个会话之间的区别
对部分表空间作不完全恢复
http://grassbell.itpub.net/post/26/32426[@more@]ft,前两天因为程序的bug,有个服务人员把客户的资料给删了,3天后才知道。然后他们领导找到我,让我搞定。整个库有170g,他们提供了一个机器只有50g的空间,做全库的不完全恢复是不可能了。后来大师在metalink上找到了这么一个方法,可以只恢复被删除记录的表所在的表空间,偶搞了一把,比TSPITR 好用多了。http://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=223543.1在恢复用的机器上配置好与源数据库相同的目录,环境变量设好ORACLE
Dead Transaction引起的Shutdown Hang
从 DBARoad:我的DBA之路 作者:OoNiceDream[@more@]在 一个测试库上,同事进行了一些操作之后,UNDO表空间撑爆了,之后Shutdown immediate时HANG住了。shutdown abort,重启后做了很多操作,例如切换UNDO表空间、DROP原UNDO表空间、将UNDO表空间改为手工管理并将需要恢复的回滚段 offline、drop等,这些操作不是失败就是无效,shutdown时依然Hang住。 其实按理来说,这是一个正常的现象,因为Dead Transaction需要由smon进程进行恢复,因而在恢复没有结束前,数据库也就无法shutdown下来了。有时还可以看到另一种现象,那就是在
[分享] 复合索引branch block上存储几个列的信息 zt
http://q.yesky.com/group/review-11028252.html[@more@] 这是很早之前研究的问题,已经忘记了是什么案例导致去研究这个问题。 不过这个问题本省就很有意思,当在两个或者多个列上创建索引时,究竟branch block中会纪录几个列的信息? 首先我们知道branch block中存储结构大致是这样的 pointer - value - pointer - value - pointer.其中pointer指向leaf block或者下一层branch block. 那么这个value的值就是为了区分左右指针所指向的两个leaf block中(或者下一层branch block中)的值,这样从root
数据库优化项目的流程之实施 zt
http://blog.oraclefans.cn/baishan1/entry/dba%E6%97%A5%E8%AE%B0_%E7%AC%AC%E4%B8%80%E9%83%A8_%E8%A1%A5%E5%85%85_3[@more@]0.1.1. 优化项目的流程之实施 优 化方案的实施实际上最重要的不是技术,而是实施的规范性。优化的实施方案已经完成,所有的实施脚本都已经完成编写,实施的时候只是按照实施方案规定的步 骤,一个一个步骤的执行就行了。不过对于较为大型的优化项目,最好设置一个专职的实施指令长、一个操作人员和一个审核人员。 指令长的职责是发出实施指令,操作人员负责实施操作,审核人员对每个操作的步骤进行审核
数据库优化项目的流程之方案 zt
http://blog.oraclefans.cn/baishan1/entry/dba%E6%97%A5%E8%AE%B0_%E7%AC%AC%E4%B8%80%E9%83%A8_%E5%90%8E%E8%AE%B0_2_%E4%BC%98%E5%8C%96%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%B5%81%E7%A8%8B%E4%B9%8B%E6%96%B9%E6%A1%88[@more@]zy 0.1.1. 优化项目的流程之方案 优化方案的设计是整个优化项目成败的关键,通过对系统的全面分析,为系统设计合理的优化方案,需要方案的设计者对系统有很强的理解,并且能够针对每个可能的性能问题提出针对性的优化方案。 编 写优化方案分为两个阶段,第一阶段是通过分析数据提出优化的整体思路与方案
10g,11g sql auto tuning 测试
DBMS_SQLTUNE包的使用[@more@]11gselectDBMS_SQLTUNE.REPORT_SQL_MONITOR(session_id=>sys_context('userenv','sid'),report_level=>'ALL') as reportfrom dual;10gSELECT a.status,c.piece,c.sql_textFROM v$session a,v$sqltext c WHERE a.sql_address=c.address(+)and a.audsid=userenv('sessionid') ORDER BY c.piece;SELECT a.status,c.sql_text,c.sql_idFROM v$session a,v$sql c WHERE a.sql_address=c.address(+)and a.sid=749 ORDER BY c.sql_id;SELECT c.*FROM V$SESSION_WAIT_HISTORY c WHERE c.sid=userenv('sid');gran
ASK_tom 文章3 查看当前用户的SID等v$session信息 zt
方法有三个1。select * from v$session where audsid=userenv('sessionid');2。SELECT SYS_CONTEXT ('USERENV', 'SESSION_USER') FROM DUAL;3。select * from v$session where sid = ( select sid from v$mystat where rownum=1);[@more@]第一 和第三个都是使用过, 第2个我还真的第一次见过!记住了!!!!方法(一) 使用 userenv 函数select sid,audsid from v$session where audsid=userenv('sessionid');参数可以是如下!CLIENT_INFOCLIENT_INFO returns up to 64 bytes of user session information that can be stored by an appl
Performance Tools Quick Reference Guide
metalink:438452.1[@more@]Subject:Performance Tools Quick Reference Guide Doc ID:438452.1Type: BULLETIN Modified Date: 03-NOV-2008Status: PUBLISHED Performance ToolsQuick Reference GuideJuly 2007ContentsIntroductionQuery TuningEnterprise Manager (SQL Tuning Advisor)AWR SQL ReportSQLTXPLAINTRCANLZRPL/SQ_ ProfilerLTOM (Session Trace Collector)OPDGOS DataOS_WatcherDatabase TuningEnterprise Manager ADDMADDM ReportSTATSPACKAWR ReportOPDGHang, Locking, and Transient IssuesASH ReportLTOM (Hang Detecto
怎样获取发生错误的会话信息 zt
http://www.laoxiong.net/how_to_get_session_occured_error.html[@more@]某些Oracle错误,并不是总是伴随着产生trace文件,这些错误,对Oracle来说并不是严重的错误,比如像ORA-01555这样的错误。我们可以设置一个事件,在发生错误时,产生一个Trace文件,事件通常使用下面的命令格式:view plaincopy to clipboardprint?alter system set events '<error_number> trace name errorstack level <level>'; alter session set events '<error_number> trace name errorstack level <level>'; alter system
一个老外高手的Favorite Metalink Articles
有点老,文章是2006年写的[@more@] When you answer questions in public forums, you typically end up either the same question many times or pointing the poster to a particular slice of the documentation or a Metalink document. Some of the more frequently suggested documents and tools I use from Metalink:Why is my index not used?ORA-600/7445 Lookup FacilityBackup & Recovery FAQRMAN FAQSemaphors & Shared Memory ExplainedShared MemoryKernal Parameters and how they relate to OracleW
查找没有使用绑定变量的sql zt
http://www.itpub.net/335137.html[@more@]1. Jametong减产前40个字符相同, 有多于5个不同sql版本的sql语句^_^select substr(sqltext,1,40) sql_text,count(*)from v$sqlgroup by substr(sqltext,1,40)having count(*) >= 5;2. husthxd定位应该使用绑定变量的sql语句 SELECT substr(sql_text,1,40) "SQL", count(*) , sum(executions) "TotExecs" FROM v$sqlarea WHERE executions < 5 GROUP BY substr(sql_text,1,40) HAVING count(*) > 30 ORDER BY 2 / 40表示sql语句的前40个字符是一样的,5表示执行次数
Oracle 10g第2版新特性之性能特性 zt
http://space.itpub.net/47598/viewspace-330872[@more@]挂起但未瘫痪:附连内存的 SGA 查询 假设您使用 Oracle 企业管理器诊断和解决性能问题。一天,出现了一个棘手的问题:一个设计糟糕的应用程序引起了严重的库高速缓存锁定问题,并且数据库呈现挂起状态。您必须快速确定导致该问题发生的会话,并快速终止这些会话。 您可以启动 Oracle 企业管理器来诊断此问题。且慢!如果整个数据库充满了挂起的会话,那么 Oracle 企业管理器中的查询是否也会挂起? 如果使用 Oracle 数据库 10g 第 2 版,则答案是否定的。正如我在第 2 部分