12 2013 档案
摘要:转自 http://www.cnblogs.com/fygh/archive/2011/04/12/2013809.html一次死锁追踪经历 最近,刚跳槽到一新公司,就遇到生产数据库晚上突然出现大面积中断,并持续近一小时,而发生事故时,我没有在现场,错过了直接获取信息的机会;过后boss要求追查原因,于是艰难的排查过程开始了。 开始以为是数据库某个JOB运行出现异常引起或者是因为程序里面哪个鸟人写了垃圾语句造成了大面积的死锁,于是将收集的trace信息拿到本地分析,从收集到的trace信息看,数据库在19:49:28时出现了锁,系统cancel了它,而且是连续三个,之后数据库大部分连接都是Ab
阅读全文
摘要:转自 http://www.oecp.cn/hi/zhaolihong/blog/1980最近在项目中使用SqlServer的时候发现在高并发情况下,频繁更新和频繁查询引发死锁。通常我们知道如果两个事务同时对一个表进行插入或修改数据, 会发生在请求对表的X锁时,已经被对方持有了。由于得不到锁,后面的Commit无法执行,这样双方开始死锁。但是select语句和update语句同 时执行,怎么会发生死锁呢?看完下面的分析,你会明白的……首先举个例子: CREATE PROC p1 @p1 int AS SELECT c2, c3 FROM t1 WHERE c2 BETWEEN @p1 AND
阅读全文
摘要:转自 http://www.oracle-base.com/articles/8i/dbms_application_info.php#end_to_end_tracing_javaheDBMS_APPLICATION_INFOpackage allows programs to add information to theVSESSION_LONGOPSviews to make tracking of session activities more accurate. Later releases of Oracle can make use of this in
阅读全文
摘要:转自 http://www.oracle-base.com/articles/11g/real-time-sql-monitoring-11gr1.phpReal-Time SQL Monitoring reports are available from three locations:Enterprise Manager - Click the "Performance" tab, then the "SQL Monitoring" link at the bottom-right of the page to display the "M
阅读全文
摘要:转自 http://www.oracle-base.com/articles/misc/sql-trace-10046-trcsess-and-tkprof.phpThe quickest way to capture the SQL being processed by a session is to switch on SQL trace or set the 10046 event for a representative period of time. The resulting trace files can be read in their raw state or transla
阅读全文
摘要:转自 http://www.juliandyke.com/Diagnostics/Trace/EnablingTrace.htmlThere are several ways to enable traceEnabling Trace at Instance LevelTrace can be enabled when the instance is started by adding the following line to the init.ora file sql_trace = TRUEThis will enable trace for all sessions includ...
阅读全文
摘要:TheDBMS_XPLANpackage provides an easy way to display the output of theEXPLAINPLANcommand in several, predefined formats. You can also use theDBMS_XPLANpackage to display the plan of a statement stored in the Automatic Workload Repository (AWR) or stored in a SQL tuning set. It further provides a way
阅读全文
摘要:转自 http://blog.csdn.net/tianlesoftware/article/details/5857023一.SQL_TRACE当SQL语句出现性能问题时,我们可以用SQL_TRACE来跟踪SQL的执行情况,通过跟踪,我们可以了解一条SQL或者PL/SQL包的运行情况,SQL_TRACE命令会将SQL执行的整个过程输出到一个trace文件中,我们可以读这个trace文件来了解在这个SQL执行过程中Oracle都做了哪些操作。可以通过sql命令启动SQL_TRACE,或者在初始化参数里面。SQL>altersessionset sql_trace=true;或者SQL&g
阅读全文
摘要:转自 http://www.cnblogs.com/heshan664754022/archive/2013/05/23/3095040.html首先我们要登录到sqlplus上SQL>sqlplus scott/tiger为了方便查找跟踪文件我们在跟踪文件后面加上后缀'look_for_me',也可以不加,我们下面的例子也没有加。SQL>alter session set tracefile_identifier='look_for_me';第一步查看跟踪文件的路径和文件名SQL>show parameter user_dump_dest;-
阅读全文
摘要:转自 http://www.csdn.net/article/2012-04-16/2804631众所周知,SQL注入攻击是最为常见的Web应用程序攻击技术。同时SQL注入攻击所带来的安全破坏也是不可弥补的。以下罗列的10款SQL工具可帮助管理员及时检测存在的漏洞。BSQL HackerBSQL H...
阅读全文
摘要:转自 http://blog.csdn.net/tianlesoftware/article/details/6603608一. deferred segment creation 说明 从Oracle 11.2.0.1版本开始,Oracle又提供了一种新的空间分配方法: Create一个非分区表时,这个Table Segment并没有立刻创建, 而是直到有第一行记录插入的时候才去创建这个Segment,这和我们以前的Segment的创建和空间分配方法是不一样.这样的段也被称为延迟段.从11.2.0.2版本开始,增加了对分区表和LOB字段的支持。并且功能得到增强: (1)既支持分区对象也支持非
阅读全文
摘要:转自 http://blog.csdn.net/dbaheng/article/details/14450275备注: 对11.2.0.x 有效官方文档的说明:DEFERRED_SEGMENT_CREATIONProperty DescriptionParameter typeBooleanDefault value trueModifiable ALTER SESSION, ALTER SYSTEMRange of valuestrue | falseBasic No DEFERRED_SEGMENT_CREATION specifies the sema...
阅读全文
摘要:转自 http://blog.itpub.net/22034023/viewspace-772460/LOG FILE SYNC概述来新公司工作,很大的一段时间都在调优日志写,提升系统的TPS,在这方面也积累了一些理论知识和实践经验,之前零零散散在微博上也发了很多关于log file sync的帖子,篇幅都很短,有些是自己优化系统过程中的一个心得,有些是看书过程中的一点感悟,这次把他们汇集起来,变得也更有可读性一些,作为自己的一个总结,也希望里面的内容也或多或少能够帮助到你。log file sycn是ORACLE里最普遍的等待事件之一,一般log file sycn的等待时间都非常短 1-5
阅读全文
摘要:转自 http://blog.itpub.net/29371470/viewspace-1062703/在日常工作中,经常有人通过工具去查看对象的定义,其实有时候这样去查看也很烦的。在工作中,也有同事问我怎么获取对象定义,今天我做个总结给大家,希望对大家有所帮助!获取对象定义的包为:dbms_metadata,其中的get_ddl函数是获取对象的函数GET_DDL函数返回创建对象的原数据的DDL语句,参数说明1、object_type ---需要返回原数据的DDL语句的对象类型2、name --- 对象名称3、schema ---对象所在的Schema,默认为当前用户所在所Schema4、ve
阅读全文
摘要:转自 http://blog.itpub.net/22034023/viewspace-773483/ 传统读取数据的方式是服务器进程通过读取磁盘,然后把数据加载到共享内存中,这样后面的进程就可以通过共享内存访问这些数据,不用再通过缓慢的磁盘读取来完成。direct path read读取数据块...
阅读全文
摘要:转自 http://blog.itpub.net/17203031/viewspace-702387我们之前探讨过AWR报告的手工方法(http://space.itpub.net/17203031/viewspace-700471),借助AWR报告的定时snapshot功能,我们可以有选择性的选取时间段系统数据进行分析,最后获取综合诊断情况。除了AWR报告,Oracle10g版本中还推出了ASH和ADDM两个工具,用于进行系统细粒度分析和自动化专家优化方案。其中,ASH(Active Session History)是一种比AWR更加细粒度分析系统会话、发现前端应用梗塞之处的工具。对于Ora
阅读全文
摘要:转自 http://blog.itpub.net/23135684/viewspace-627430ASH (Active Session History)ASH以V$SESSION为基础,每秒采样一次,记录活动会话等待的事件。不活动的会话不会采样,采样工作由新引入的后台进程MMNL来完成。ASH buffers 的最小值为1MB,最大值不超过30MB。内存中记录数据。期望值是记录一小时的内容。生成ASH报告:SQLPLUS>@?/rdbms/ashrpt.sqlASH内存记录数据始终是有限的,为了保存历史数据,引入了自动负载信息库(Automatic Workload Reposito
阅读全文
摘要:转自 http://raugher.blog.51cto.com/3472678/966938和ash相关的视图·vsession_wait视图用以实时记录活动session的等待情况,是当前信息;·vsession_wait的简单增强,记录活动session的最近10次等待;·vsession_wait,这部分内容记录在内
阅读全文
摘要:转自 http://blog.itpub.net/29371470/viewspace-1063994/1. Buffer busy waits从本质上讲,这个等待事件的产生仅说明了一个会话在等待一个Buffer(数据块),但是导致这个现象的原因却有很多种。常见的两种是:--当一个会话视图修改一个数据块,但这个数据块正在被另一个会话修改时。--当一个会话需要读取一个数据块,但这个数据块正在被另一个会话读取到内存中时。在新的版本中,第二种情况已经被独立出来,以read by other session取代~Buffer busy waits等待事件常见于数据库中存在的热快的时候,当多个用户频繁地
阅读全文
摘要:转自 http://blog.itpub.net/29371470/viewspace-1063534/一、分区表的概述: Oracle的表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通常,分区可以使某些查询以及维护操作的性能大大提高。此外,分区还可以极大简化常见的管理任务,分区是构建千兆字节数据系统或超高可用性系统的关键工具。 分区功能能够将表、索引或索引组织表进一步细分为段,这些数据库对象的段叫做分区。每个分区有自己的名称,还可以选择自己的存储特性。从数据库管理员的角度来看,一个分区后的对象具有多个段,这些段既可进行集体管理,也可单独管理,这就使数据库管理员
阅读全文
摘要:转自 http://blog.itpub.net/29371470/viewspace-1064297/1、前言 Profiler是ORACLE PL/SQL 的一个调试优化跟踪方案,使用profiler可以跟语句执行过程中消耗的时间等。在日常开发过程中,我们可能会常常遇到一些sql语句、存储过程在使用过程中,消耗过多的资源,为了细化了某条具体的语句,我们可以使用profiler。这样大大的减少了我们寻找问题语句的时间,提高效率,在优化的过程中,profiler起到一个很好的效果2、profiler的一些包的介绍--proftab.sql介绍在当前用户建表及序列等,具体如下;plsql_pro
阅读全文
摘要:转自 http://www.dba-oracle.com/t_oracle_deferred_segment_creation.htmAs Oracle is known to do, features are added to new releases of the database. In Oracle 11g R2, one such new feature was called segment creation on demand. It quickly came to be known as deferred segment creation.Touted as a space-sa
阅读全文
摘要:转自 http://blog.csdn.net/leshami/article/details/6208594--==============================-- Buffer cache 的调整与优化(一)--============================== Buffer Cache是SGA的重要组成部分,主要用于缓存数据块,其大小也直接影响系统的性能。当Buffer Cache过小的时候,将会造成更多的free buffer waits事件。 下面将具体描述Buffer Cache的作用,调整与优化。一、SGA的所有组件 从动态视图v$sga_dynamic_c
阅读全文
摘要:转自 http://blog.csdn.net/leshami/article/details/6226767--************************************-- Oracle 表缓存(caching table)的使用--************************************1.使用caching table 的原因 在通常的情况下,应用程序访问在cache中的数据块将按照LRU算法来进行处理。然而对于小表的访问,当使用全表扫描时,则该表 中的块会放置LRU列表最近最少使用尾部的(LRU端),因此很快就被淘汰出局。然而使用基于成本优化的方法,对于
阅读全文
摘要:转自 http://blog.csdn.net/leshami/article/details/6208268--=======================================-- 共享池的调整与优化(Shared pool Tuning)--======================================= 共享池(Shared pool)是SGA中最关键的内存片段,共享池主要由库缓存(共享SQL区和PL/SQL区)和数据字典缓存组成。其中库缓存的作用是存放频繁使用的sql,pl/sql代码以及执行计划。数据字段缓存用于缓存数据字典。在内存空间有限的容量下,数据库
阅读全文
摘要:转自 http://blog.csdn.net/leshami/article/details/6195483--=======================-- Oracle 硬解析与软解析--======================= Oracle 硬解析与软解析是我们经常遇到的问题,什么情况会产生硬解析,什么情况产生软解析,又当如何避免硬解析?下面的描述将给出软硬解析的产生,以及硬解析的弊端和如何避免硬解析的产生。一、SQL语句的执行过程 当发布一条SQL或PL/SQL命令时,Oracle会自动寻找该命令是否存在于共享池中来决定对当前的语句使用硬解析或软解析。 通常情况下,SQL语
阅读全文
摘要:转自 http://www.juliandyke.com/Blog/?p=301IntroductionThis post describes the implementation of supplemental logging in the Oracle database with particular emphasis on Oracle GoldenGate.The research was performed in Oracle 11.2.0.3 on OEL 5.6 running in VirtualBox. The Oracle GoldenGate version was 11
阅读全文
摘要:转自 http://blog.itpub.net/26613085/viewspace-1064010/上篇文章通过logminer查看oracle日志的操作,对数据库进行的操作如下SQL> create table dcits_test(id number);Table created.SQL> insert into dcits_test values(1);1 row created.SQL> insert into dcits_test values(2);1 row created.SQL> insert into dcits_test values(3);1
阅读全文
摘要:转自 http://blog.csdn.net/leshami/article/details/6130866--==================================================--日志记录模式(LOGGING、FORCE LOGGING、NOLOGGING)--==================================================一、日志记录模式(LOGGING、FORCE LOGGING、NOLOGGING)1.三者的含义LOGGING:当创建一个数据库对象时将记录日志信息到联机重做日志文件。LOGGING实际上是对象的一个
阅读全文
摘要:转自 http://www.eygle.com/faq/Nologging&append.htm最初的问题是这个帖子:http://www.itpub.net/showthread.php?threadid=239905请大家仔细看那些测试的例子.看了Tom的解释,始终觉得牵强.开始以为可能是bug经过观察和测试,终于发现了Nologging的秘密我们知道,Nologging只在很少情况下生效通常,DML操作总是要生成redo的这个我们不多说.关于Nologging和append,一直存在很多误解.经过一系列研究,终于发现了Nologging的真相.我们来看一下测试:1.Nologgi
阅读全文
摘要:HOWTO: Set Up IIS and the Jakarta isapi_redirect ConnectorIntroductionThe isapi_redirect.dll is a version of mod_jk compiled as an ISAPI Filter (not A...
阅读全文
摘要:转自 http://blog.csdn.net/wuxbeyond/article/details/12048293今天一个朋友给了一个dmp文件让我导入,没告诉我任何信息。最后还是成功导入了。下面就做个简单测试。测试导出2分文件 一份是用expdp导出,一份是用exp导出expdp system/...
阅读全文
摘要:转自 http://blog.csdn.net/xb12369/article/details/9625615查看版本信息:[sql] view plaincopyselect*fromv$version;查看数据库字符集:[sql] view plaincopySELECTuserenv('language')FROMdual;如果字符集为ZHS16GBK/ZH16GBK,那么使用order by默认是按照汉字的拼音顺序进行排序的;如果为其他(如UTF8),那么汉字的排序是按照BINARY排序的。数据库字符集不为中文字符集的情况下怎样让其按照汉字拼音排序?答案是设置NLS_S
阅读全文
摘要:转自 http://blog.csdn.net/tianlesoftware/article/details/4915223一、什么是Oracle字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台。影响Oracle数据库字符集最重要的参数是NLS_LANG参数。它的格式如下: NLS_LANG = language_territory.charset它有三个组成部分(语言、地域和字符集),
阅读全文
摘要:[Oracle]搞懂Oracle字符集转自 http://www.2cto.com/database/201307/224749.htmlhttp://www.2cto.com/database/201307/224749.html基本概念字符集(Character set):是一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。常见的字符集有ASCII,ZHS16GB231280,ZHS16GBK等。字符编码(Character Encoding):是一套法则,使用该法则能够对自然语言的字符的一个集合(如字母表或音节表),与其它的一个集合
阅读全文
摘要:转自 http://blog.itpub.net/27425054/viewspace-768041【前言】使用oracle的过程中,出现汉字的时候总是出现乱码现象,疑惑好久。今天决心把字符集的问题彻底搞清楚。下面将通过迭代的方法,由字符集的基本概念逐层深入并过渡到oracle问题上。1. 字符集1)常用的字符集:单字节编码分为:7位编码和8位编码US7ASCII:单字节7位编码,定义了128个符号,不支持中文。WE8ISO8859P1:单字节8位编码字符集。 多字节编码分为固定长度编码和变长编码ZHS16GBK:双字节字符集ZHS16GBK中,编码长度固定,一个中文汉字是一个字符,一个英文.
阅读全文
摘要:1.备份数据库RMAN> show all;RMAN configuration parameters are:CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # defaultCONFIGURE BACKUP OPTIMIZATION OFF; # defaultCONFIGURE DEFAULT DEVICE TYPE TO DISK; # defaultCONFIGURE CONTROLFILE AUTOBACKUP OFF; # defaultCONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVIC
阅读全文
摘要:Question:I understand that there are times that you need to force a log switch for backups, but I have noted that Oracle has two ways to force a logfile switch, ALTER SYSTEM SWITCH LOGFILE and ALTER SYSTEM ARCHIVELOG CURRENT.What is the difference betweenALTER SYSTEM SWITCH LOGFILE and ALTER SYSTEM
阅读全文
摘要:转自 http://blog.itpub.net/519536/viewspace-5671451.使用自动备份恢复spfileora10g@linux5 /home/oracle$rman target /Recovery Manager: Release 10.2.0.4.0 - Production on Sat Mar 14 03:00:39 2009Copyright (c) 1982, 2007, Oracle. All rights reserved.connected to target database: ORA10G (DBID=3998073128)RMAN>lis
阅读全文
摘要:SGA_TARGET PropertyDescriptionParameter typeBig integerSyntaxSGA_TARGET =integer[K | M | G]Default value0(SGA autotuning is disabled forDEFERREDmode autotuning requests, but allowed forIMMEDIATEmode autotuning requests)ModifiableALTER SYSTEMRange of values64 MB to operating system-dependentBasicYes.
阅读全文
摘要:转自 http://blog.csdn.net/perfect_db/article/details/8778256Oracle 11g R1下的自动内存管理(AMM)Oracle在简化内存管理方面过去几年做了巨大的努力,从Oracle 9i通过PGA_AGGREGATE_TARGET参数实现PGA自动管理开始,Oracle 10g通过SGA_TARGET参数实现了SGA的自动管理,Oracle 11g更是惊人地实现了数据库所有内存块的全自动化管理,它使得动态管理SGA和PGA成为现实。写本文时,自动内存管理(AMM)已经在主流平台上得到支持,包括Linux,Windows,Solaris,H
阅读全文
摘要:--LAST_DAY select cast(convert(varchar(7),dateadd(mm,1,'2012-02-04'),120) + '-01' as datetime) - 1 "LAST_DAY"; select DATEADD(mm, DATEDIFF(mm, 0, '2012-02-04')+1, 0)-1 "LAST_DAY"; --First Day select cast(convert(varchar(7),'2012-02-04',120) + '
阅读全文