
Oracle Advanced Knowledge
mydba_bin
这个作者很懒,什么都没留下…
展开
-
Oracle10g32位升级到64位方法
1、备份32位数据库上的pfile。2、shutdown 32位数据库,进行冷备份全库。3、装好64 位的oracle。4、用备份好的32位数据库的pfile启动64位oracle。5、 在64位平台下编绎所有对象SQL> @?/rdbms/admin/utlirp.sql 6. 重建数据字典(10.2.0.5)SQL> @$ORACLE_HOME/rdbms/ad原创 2014-03-24 17:20:10 · 1296 阅读 · 0 评论 -
sql profile使用说明
sql profile实验:create table binbin (id number);insert into binbin values('1');commit;beginfor i in 1..1000loopinsert into binbin values('2');end loopcommit;end;SQL> begin 2 f原创 2013-08-14 18:52:16 · 1181 阅读 · 0 评论 -
分页语句特殊搞法-内联改join
SQL> select * from (select rows_.*, rownum rn from ( select piresult.* from (select null IMPLEMENT_RESULT_ID, baseinfo.implement_id, 2 baseinfo.cycle_id, baseinfo.emp_class_id, baseinfo.org_原创 2013-08-15 14:55:27 · 1605 阅读 · 0 评论 -
不要乱加hint
不要乱加hintSQL> SELECT id FROM (SELECT /*+ INDEX(si SIE_INVOICES_N3) */ si.id FROM binbin1 si, 2 binbin2 bs where si.id = bs.id and si.type ='AR_INVOICE' AND 3 si.import_failed_reaso原创 2013-08-15 14:45:58 · 786 阅读 · 0 评论 -
帮朋友处理ora-00600 [2662]和ora-00600 [4194]错误
recover database using backup controlfile until cancel *._allow_resetlogs_corruption=true*._allow_error_simulation=true加入两个隐含参数再启动SQL> alter database open resetlogs;alt原创 2013-08-13 23:00:30 · 1515 阅读 · 0 评论 -
由于没有收集直方图而走全表
SELECT T.INSTOREITEMID, II.TEXTATTR12, T.binbin2ID FROM binbin1 T, binbin2 II WHERE II.TEXTATTR11 = '0' AND T.binbin2ID=II.binbin2ID ;no rows selectedElapsed: 00:04:14.28Execution Plan--------原创 2013-08-13 14:14:04 · 690 阅读 · 0 评论 -
or改写为union all性能提升n倍
SQL> explain plan for SELECT SUM(OCCOUNT) as EVENTCOUNT , F_4 FROM binbin1 WHERE binbin1.EUIDCODE like '19739-19740-704013-%' or binbin1.EUIDCODE like '19739-19740-704018-%' or binbin1.EUIDCODE like '原创 2013-08-13 14:38:25 · 2299 阅读 · 1 评论 -
分页语句优化
SQL> select * from ( select row_.*, rownum rownum_ from ( select i.itemname, i.ITEMDESC, 2 --物料描述 3 i.LOTNUM, 4 --批次 5 case when o.requestflag = 'Y' then '物资申领' else (select原创 2013-08-13 14:22:12 · 689 阅读 · 0 评论 -
Oracle HANGANALYZE 功能诊断 DB hanging
Oracle 数据库可能因为hang住而产生严重的性能问题,而通过HANGANALYZE 功能产生的日志可以帮助我们快速的定位是否是2个或者多个进程死锁了,有多少进程收到影响。 从而帮助我们诊断出数据库的问题。 一. HANGANALYZE 的2种使用方式:(1) The “HANGANALYZE” command is available since Oracle Re转载 2013-07-03 14:56:14 · 792 阅读 · 0 评论 -
enq:SQ contention / row cache lock / DFS lock handle(SV) 等待事件 说明
enq:SQ contention/row cache lock/DFS lock handle(SV) 这三个等待事件都与Oracle 的Sequence 有关。 有关Sequence说明,参考我的Blog: Oracle Sequence Cache参数说明 http://blog.youkuaiyun.com/tianlesoftware/archive/2010/1转载 2013-07-03 19:32:32 · 1262 阅读 · 0 评论 -
分页优化-蛋疼的空值
select * from (SELECT BH.LAST_UPDATE_DATE, BH.LAST_UPDATED_BY, BH.CREATION_DATE, BH.CREATED_BY, BH.LAST_UPDATE_LOGIN, BH.EN原创 2013-08-15 20:06:56 · 1066 阅读 · 0 评论 -
两节点时间不同步导致CRS-0184
节点二:[oracle@rac2 ~]$ crs_stat -tCRS-0184: Cannot communicate with the CRS daemon节点一:[root@rac1 ~]# crs_stat -tName Type Target State Host------------------------原创 2013-08-17 10:50:49 · 1986 阅读 · 0 评论 -
hanganalyze诊断数据库hang的原因
环境:redhat 6.1+11.2.0.3RAC实验:节点一sessions:SQL> select userenv('sid') from dual;USERENV('SID')-------------- 62SQL> create table binbin(id number,name varchar2(20));Table creat原创 2013-08-17 22:14:34 · 1300 阅读 · 0 评论 -
非归档数据文件offline drop处理
1、模拟数据文件offline drop;alter database datafile 5 offline drop;2、手工切换检查点,使检查点更新。alter system checkpoint;3、将redo中的日志覆盖。alter system switch logfile; --切换几次4、查看检查点情况。select file#,to_char(CHEC原创 2013-12-10 12:49:48 · 1021 阅读 · 0 评论 -
ORA-00603 和ORA-00600: internal error code, arguments: [kdsgrp1]解决过程
1、查看alert log 报错如下:Thu Nov 7 17:21:27 2013Errors in file /eas2/oracle/oraeas/udump/oraeas_ora_12596.trc:ORA-00600: internal error code, arguments: [kdsgrp1], [], [], [], [], [], [], []Thu Nov原创 2013-11-07 18:23:57 · 1986 阅读 · 0 评论 -
数据库级别跨resetlogs和incarnation恢复
1、创建测试表SQL> conn scott/oracleConnected.SQL> create table binbin as select * from user_objects;Table created.SQL> select count(1) from binbin; COUNT(1)---------- 16SQL> alter原创 2013-10-01 23:12:09 · 976 阅读 · 0 评论 -
误删表空间异机恢复
1、创建测试表空间SQL> create tablespace test datafile '/opt/oracle/oradata/ORCL/test01.dbf' size 50m autoextend on;Tablespace created.2、创建测试表SQL> create table test101 tablespace test as select * from原创 2013-10-01 19:37:44 · 926 阅读 · 0 评论 -
bbed处理一个坏块的过程
在备份过程中遇到一个坏块,报错如下:RMAN> backup database format='/home/ora10g/backup/dbfull_%U.bak';Starting backup at 2013-09-14using target database control file instead of recovery catalogallocated channel原创 2013-09-14 22:17:41 · 1091 阅读 · 0 评论 -
在本机建一个空实例恢复被truncate的表
1、先在原库用rman做好备份。[oracle@localhost backup]$ rman target /Recovery Manager: Release 10.2.0.1.0 - Production on ÐÇÆÚÈÕ 9ÔÂ 15 12:28:43 2013Copyright (c) 1982, 2005, Oracle. All rights reserved.c原创 2013-09-15 15:55:16 · 1119 阅读 · 0 评论 -
升级前必做操作创建restore point --rac环境
在升级之前可以创建restore point ,当升级失败时,可以退回到之前创建还原点那个时刻。Flashback Database 和 restore points 都可以提供一个基于时间点的回滚。restore points只能恢复到一个固定的时间点,只抓去一次状态。flashback database 能恢复到开启flashback database 之后的任意一个点,不断的去写日志到f原创 2013-09-13 11:27:15 · 1470 阅读 · 0 评论 -
10046跟踪
SQL_TRACE是Oracle提供的用于进行SQL跟踪的手段,是强有力的辅助诊断工具.在日常的数据库问题诊断和解决中,SQL_TRACE是非常常用的方法。本文就SQL_TRACE的使用作简单探讨,并通过具体案例对sql_trace的使用进行说明.一、 基础介绍(a) SQL_TRACE说明SQL_TRACE可以作为初始化参数在全局启用,也可以通过命令行方式在具体s转载 2013-05-29 11:33:00 · 545 阅读 · 0 评论 -
Oracle 常见的33个等待事件
之前整理过一篇文章: Oracle 等待事件 http://blog.youkuaiyun.com/tianlesoftware/archive/2010/05/31/5635934.aspx 一.等待事件的相关知识: 1.1 等待事件主要可以分为两类,即空闲(IDLE)等待事件和非空闲(NON-IDLE)等待事件。1). 空闲等待事件指转载 2013-07-03 18:55:07 · 970 阅读 · 0 评论 -
何时会发生db file sequential read等待事件?
”db file sequential read”单块读等待是一种最为常见的物理IO等待事件,这里的sequential指的是将数据块读入到相连的内存空间中(contiguous memory space),而不是指所读取的数据块是连续的。该wait event可能在以下情景中发生:最为常见的是执行计划中包含了INDEX FULL SCAN/UNIQUE SCAN,此时出现”db file转载 2013-06-29 16:15:24 · 720 阅读 · 0 评论 -
alter session|system set events
一、Oracle跟踪文件 Oracle跟踪文件分为三种类型,一种是后台报警日志文件,记录数据库在启动、关闭和运行期间后台进程的活动情况,如表空间创建、回滚段创建、某些alter命令、日志切换、错误消息等。在数据库出现故障时,应首先查看该文件,但文件中的信息与任何错误状态没有必然的联系。后台报警日志文件保存BACKGROUND_DUMP_DEST参数指定的目录中,文件格式为SIDALR转载 2013-05-29 19:32:12 · 1415 阅读 · 0 评论 -
Oracle 11.2.0.1 升级到 11.2.0.3 示例
Oracle 11.2.0.1 单实例升级到11.2.0.3。 Oracle 升级的步骤都差不多。 先升级Oracle software,然后升级Oracle instance。Oracle 11.2.0.2的patchset No 是:10098816。 关于该Patchset 的下载地址,参考我之前的blog: Oracle 11.2.0.2 Patch 说明转载 2013-05-25 23:19:00 · 720 阅读 · 0 评论 -
CURSOR_SHARING介绍
参考文章:http://blog.chinaunix.net/u2/68465/showart_683673.htmlhttp://blog.chinaunix.net/u/10516/showart_1302846.html一.CURSOR_SHARING介绍:控制可以终止共享相同的共享游标的 SQL 语句类型。EXACT 精确匹配,空格,字母大小写都严格匹配。转载 2013-05-10 16:14:18 · 1001 阅读 · 0 评论 -
Oracle checkpoint详解
from:http://www.dbabeta.com/2008/all_about_oracle_checkpoint.htmlcheckpoint扫盲什么是checkpointcheckpoint的作用检查点分类checkpoint相关概念术语RBA(Redo Byte Address), Low RBA(LRBA), High RBA(HR转载 2013-05-10 15:45:08 · 610 阅读 · 0 评论 -
AWR报告的详细操作及说明
空间管查看( 36 ) / 评论( 0 ) / 评分( 0 / 0 )我认为每一个要成为ORACLE性能分析的高手,都应该对ORACLE的AWR有一个比较深入的理解和使用。学会从AWR快照分析中获得对自己有用的信息,是性能分析专家不可少的一个方面,如果再能结合应用服务的日志结合分析的话,是能够分析出一些关键的存在性能问题的SQL,从这些SQL中再进行反推是应用的转载 2013-05-08 23:27:27 · 1719 阅读 · 0 评论 -
oracle awr报告生成与分析
Automatic Workload Repository(AWR)是10g引入的一个重要组件。 在里面存贮着近期一段时间内(默认是7天)数据库活动状态的详细信息。 1、生成awr报告 以oracle用户登录 sqlplus / as sysdba @?/rdbms/admin/awrrpt.sql 2、分析报告 SQL ord转载 2013-05-08 23:48:13 · 1132 阅读 · 0 评论 -
BBED工具
一、BBED工具1.BBED的安装oracle11g中缺bbed包,oracle11g bbed install and example上传(sbbdpt.o ssbbded.o bbedus.msb,该三个文件拷贝oracle的linux64版本的)文件$ORACLE_HOME/rdbms/lib/ssbbded.o$ORACLE_HOME/rdbms/lib/s转载 2013-04-17 09:01:18 · 746 阅读 · 0 评论 -
锁 死锁 阻塞 Latch 等待 详解
锁这东西是纯概念性的东西,但是作用又非常大。以前整理过两篇文章,今天又看了点书,觉得还不是很清楚。 就重新整理了下。 在想要不要把以前的文章删掉,这样在blog里是比较简介的,但后来又一想。这些连接在其他的地方可能被引用了。 就决定还是保留着了,也算见证自己成长的一个过程。 ORACLE锁机制http://blog.youkuaiyun.com/tianlesoftware/转载 2013-04-13 13:09:55 · 611 阅读 · 0 评论 -
oracle学习笔记(阻塞、死锁)
1.block2.deadlock阻塞举例1:当一个session修改某条数据未提交时,另一个session也要修改该条数据,则此时第二条SQL会一直处于等待状态(此时行锁TX发挥作用),(修改该表其他数据是能操作的)如果再开一个session删除(drop)该表,则这里会出现ORA-00054错误,提示资源正忙(此时表的表锁TM发挥作用);oracle要给行加锁必须先给表加锁。转载 2013-04-13 13:23:20 · 614 阅读 · 0 评论 -
ORACLE的锁机制
数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作。转载 2013-05-29 20:06:00 · 641 阅读 · 0 评论 -
FAST_START_MTTR_TARGET参数
从Oracle10gR2开始,数据库可以实现自动调整的检查点.使用自动调整的检查点,Oracle数据库可以利用系统的低I/O负载时段写出内存中的脏数据,从而提高数据库的效率。因此,即使数据库管理员设置了不合理的检查点相关参数,Oracle仍然能够通过自动调整将数据库的Crash Recovery时间控制在合理的范围之内。当FAST_START_MTTR_TARGET参数未设置时,自动检转载 2013-05-30 16:18:37 · 1042 阅读 · 0 评论 -
Oracle RAC 基本概念及入门
1、什么是cluster 一个cluster是由两个或是多个独立的、通过网络连接的servers组成的。几个硬件供应商多年以来提供了Cluster性能的各种需求。一些Clusters仅仅为了提供高可用性的,在当前活动的node发生故障时转移到次节点node。另一些是为了提供分布式的连接、工作的可扩展性。另一个Cluster的共同特点是,对于一个应用程序,它可以看做是一个单独的serv转载 2013-06-29 14:44:11 · 940 阅读 · 0 评论 -
并行(Parallel)和OLAP系统
并行(Parallel)和OLAP系统 并行的实现机制是:首先,Oracle会创建一个进程用于协调并行服务进程之间的信息传递,这个协调进程将需要操作的数据集(比如表的数据块)分割成很多部分,称为并行处理单元,然后并行协调进程给每个并行进程分配一个数据单元。比如有四个并行服务进程,他们就会同时处理各自分配的单元,当一个并行服务进程处理完毕后,协调进程就会给它们分配另外的单元,如此反复,直到表上的转载 2013-06-29 09:56:43 · 937 阅读 · 0 评论 -
自动负载信息库:AWR的引入
自动负载信息库:AWR的引入内存中记录的ASH信息始终是有限的,为了保存历史数据,这些信息最终需要写入磁盘。这些历史信息的存储,引出了Oracle 10g的另外一个新特性:自动负载信息库(Automatic Workload Repository,AWR)。1. AWR的采样机制:AWR收集关于该特定数据库的操作统计信息和其他统计信息,Oracle以固定的时间间隔(默认为每小时转载 2013-06-28 23:18:14 · 865 阅读 · 0 评论 -
Oracle Library Cache Lock 解决思路
一. Library Cache Lock Library cacheHandle 里保存了lock 和 pin 的信息。而且在Library cache handle 和child cursor 上都有lock 和pin。它们称为library cache lock和library cache pin。 Library cachelock/pin是用来控制对l转载 2013-07-05 16:31:00 · 777 阅读 · 0 评论 -
oracle嵌套循环的执行计划优化
嵌套循环连接处理的两个数据集被称为外部循环(outer loop,也就是驱动数据源,driving row soulce )和内部循环〔 inner loop )。外部循环为左子节点,内部循环为右子节点.如图10 一6 所示,当外部循环执行一次的时候,内部循环需要针对外部循环返回的每条记录执行一次。 外部循环称为外表或者驱动表,而内部循环称为内表或者被驱动表 嵌套循环连接转载 2013-06-08 21:16:37 · 1017 阅读 · 0 评论 -
INS-35354] The system on which you are attempting to install Oracle RAC is not part of a valid clust
INS-35354] The system on which you are attempting to install OracleRAC is not part of a valid cluster CAUSE: Prior to installing Oracle RAC, you must create a validcluster. This is done by deplo原创 2013-06-04 23:08:10 · 4391 阅读 · 2 评论