摘要:Oracle参数修改小结Oracle中有些参数是可以在session级别修改,有些则必须在system级别修改,有些参数不需要重启就能马上生效,有些参数必须重启才能生效,那么如何知道这些信息呢?可以从v$parameter视图中得出,重点关注这个视图的以下几列:ISSES_MODIFIABLE VARCHAR2(5) Indicates whether the parameter can be changed withALTER SESSION(TRUE) or not (FALSE)ISSYS_MODIFIABLE VARCHAR2(9) Indicates whether the para
阅读全文
随笔分类 - ORACLE
摘要:创建表空间及用户:create tablespace 表空间名 datafile 'd:/seal.dbf' size 10M autoextend on;create user username identified by password default tablespace 表空间名;grant connect,resource,dba to username;登录超级用户sqlplus sys@orcl as sysdba##################################### 建立用户和对用户的管理##########################
阅读全文
摘要:早上上班,检查数据库,发现监控日志中在晚上1点到4点钟服务器异常负载现象,查看awr日志发现AUTO_SPACE_ADVISOR_JOB运行异常0.数据库版本SQL> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64biPL/SQL Release 10.2.0.4.0 - ProductionCORE 10.2.0.4.0 P
阅读全文
摘要:一个创建概要文件的例子:1.CREATE PROFILE"TEST"2.LIMIT3.CPU_PER_SESSION10004.CPU_PER_CALL60005.CONNECT_TIME606.IDLE_TIME157.SESSIONS_PER_USER18.LOGICAL_READS_PER_SESSION10009.LOGICAL_READS_PER_CALL100010.PRIVATE_SGA4K11.COMPOSITE_LIMIT100000012.FAILED_LOGIN_ATTEMPTS313.PASSWORD_LOCK_TIME1014.PASSWORD_G
阅读全文
摘要:[oracle@root ~]$ opatch lsinventoryInvoking OPatch 10.2.0.1.0Oracle interim Patch Installer version 10.2.0.1.0Copyright (c) 2005, Oracle Corporation. All rights reserved..Oracle Home : /opt/oracle/product/10.2.0/db_1Central Inventory : /home/oracle/oraInventory from : /opt/oracle/product/10.2.0/db_1
阅读全文
摘要:1、了解opatchopatch是用于维护"个别"补丁的,有人称其为interim path或是one-off patch该命令的存放位置在$ORACLE_HOME下的OPatch目录下.使用“-help”参数可以获得opatch命令的帮助信息 [oracle@ora OPatch]$ ./opatch -help Usage: opatch [ -help ] [ -r[eport] ] [ command ] command := apply lsinventory prereq query rollback util version := -help Displays
阅读全文
摘要:当我们想要查看某个表或者是表空间的DDL的时候,可以利用dbms_metadata.get_ddl这个包来查看。dbms_metadata包中的get_ddl函数详细参数GET_DDL函数返回创建对象的原数据的DDL语句,详细参数如下-- object_type ---需要返回原数据的DDL语句的对象类型-- name --- 对象名称-- schema ---对象所在的Schema,默认为当前用户所在所Schema-- version ---对象原数据的版本-- model ---原数据的类型默认为ORACLE-- transform. - XSL-T transform. to be ap
阅读全文
摘要:我们可以通过视图v$session_wait来查看系统当前的等待事件,以及与等待事件相对应的资源的相关信息,从而可确定出产生瓶颈的类型及其对象。 v$session_wait的p1、p2、p3告诉我们等待事件的具体含义,根据事件不同其内容也不相同,下面就一些常见的等待事件如何处理以及如何定位热点对象和阻塞会话作一些介绍。 db file scattered read DB 文件分散读取(太多索引读,全表扫描-----调整代码,将小表放入内存)这种情况通常显示与全表扫描相关的等待。当全表扫描被限制在内存时,它们很少会进入连续的缓冲区内,而是分散于整个缓冲存储器中。如果这个数目很大,就表明该表找不
阅读全文
摘要:使用索引是我们面对海量数据搜索是一种常用的手段。通过有效的索引访问,可以使我们更快的访问到需要的数据,减少物理、逻辑IO,从而提高系统性能。在CBO时代,Oracle对于提交SQL的执行路径是有所选择的。一个select是走Index还是走Full Table Scan,或者别的路径,要根据Oracle对表列的统计信息收集结果加以计算出的执行计划成本而确定。在计算索引成本的公式中,索引的clustering factor是一个重要参考信息。简单的说,clustering factor就是反映数据表行存储有序程度与索引有序程度对照的指标。如果这个值越大,说明在进行索引搜索是,需要获取的数据块数量
阅读全文
摘要:Oracle对表做全表扫描的时候 ,会扫描完HWM以下的数据块。如果某个表delete(delete操作不会降低高水位)了大量数据,那么这时对表做全表扫描就会做很多无用功,扫描了一大堆数据块,最后发现块里面居然没有数据。通常,在对表做了大批量delete操作之后,就应该马上降低表的高水位,可以使用shrink命令或者altertabletable_namemove降低表的高水位。在降低表的高水位之后,表上面的索引会失效,因为表的rowid更改了,这个时候需要rebuild索引。如何求出段的高水位?其实很简单,首先对表收集统计信息,然后查询DBA_TABLES的blocks,以及empty_bl
阅读全文
摘要:http://www.hellodba.com/reader.php?ID=76〈=cn数据库的作用就是实现对数据的管理和查询。任何一个数据库系统,必然存在对数据的大量读或者写或者两中操作都大量存在。IO问题也往往是导致数据库性能问题的重要原因。在这篇文章中,主要帮助大家在理解Oracle的读写操作...
阅读全文
摘要:很多网友对系统内频繁发生的db file sequential read等待事件存有疑问,那么到底在那些场景中会触发该单块读等待事件呢?在我之前写的一篇博文中总结了db file sequential read等待事件可能发生的场景,在这里再share以下:”db file sequential read”单块读等待是一种最为常见的物理IO等待事件,这里的sequential指的是将数据块读入到相连的内存空间中(contiguous memory space),而不是指所读取的数据块是连续的。该wait event可能在以下情景中发生:最为常见的是执行计划中包含了INDEX FULL SCAN
阅读全文
摘要:基本概念Local Coordinator:在分布事务中,必须参考其它节点上的数据才能完成自己这部分操作的站点。Global Coordinator:分布事务的发起者,负责协调这个分布事务。Commit Point Site:在分布事务中,首先执行COMMIT或ROLLBACK操作的站点。一般情况下,应该把存储关键数据的站点作为Commit Point Site。因为Commit Point Site和其它站点不一样,从来不会进入prepared状态,所以不会存在IN-DOUBT事务。可以设置初始化参数COMMIT_POINT_STRENGTH,在分布式事务中,会根据这 个值的大小来确定Com
阅读全文
摘要:这里就以INDEX_JOIN为例,简单描述一下如何影响Oracle的执行计划的产生。控制执行计划最简单的方法莫过于使用HINT,这篇文章要介绍的是,在不使用HINT的情况下,让Oracle产生INDEX_JOIN执行计划。下面先构造查询所用的表,问题中使用的表是HR用户下的EMPLOYEES。如果hr用户不存在,Oracle9i可以通过$ORACLE_HOME/demo/schema/human_resources/hr_main.sql来创建用户。SQL> CREATE TABLE EMPLOYEES AS SELECT * FROM HR.EMPLOYEES;表已创建。SQL>
阅读全文
摘要:Oracle优化器介绍本文讲述了Oracle优化器的概念、工作原理和使用方法,兼顾了Oracle8i、9i以及最新的10g三个版本。理解本文将有助于您更好的更有效的进行SQL优化工作。RBO优化器RBO是一种基于规则的优化器,随着CBO优化器的逐步发展和完善,在最新的10g版本中Oracle已经彻底废除了RBO。正在使用Oracle8i或9i的人们或多或少的都会碰到RBO,因此在详细介绍CBO之前,我们有必要简单回顾一下古老的RBO优化器。在RBO中Oracle根据可用的访问路径和访问路径的等级来选择执行计划,等级越高的访问路径通常运行SQL越慢,如果一个语句有多个路径可走,Oracle总是选
阅读全文
摘要:V$SESSION是APPS用户下面对于SYS.V_$SESSION 视图的同义词。在本视图中,每一个连接到数据库实例中的session都拥有一条记录。包括用户session及后台进程如DBWR,LGWR,arcchiver等等。V$SESSION中的常用列V$SESSION是基础信息视图,用于找寻用户SID或SADDR。不过,它也有一些列会动态的变化,可用于检查用户。如例:SQL_HASH_VALUE,SQL_ADDRESS:这两列用于鉴别默认被session执行的SQL语句。如果为null或0,那就说明这个session没有执行任何SQL语句。PREV_HASH_VALUE和PREV_AD
阅读全文
摘要:锁定类型 行级锁 表级锁行级锁 ---- 行被排他锁定 ----在某行的锁被释放之前,其他用户不能修改此行 ----使用 commit 或 rollback 命令释放锁 ----Oracle 通过使用 INSERT、UPDATE 和 SELECT…FOR UPDATE 语句自动获取行级锁SELECT…FOR UPDATE 子句―在表的一行或多行上放置排他锁―用于防止其他用户更新该行―可以执行除更新之外的其他操作―select * from goods where gid=1001―for update of gname;―只有该用户提交事务,其他用户才能够更新gnameFOR UPDATE W
阅读全文
摘要:Oracle的TM锁类型锁模式锁描述解释SQL操作0none1NULL空Select2SS(Row-S)行级共享锁,其他对象只能查询这些数据行Select for update、Lock for update、Lock row share3SX(Row-X)行级排它锁,在提交前不允许做DML操作Insert、Update、Delete、Lock row share4S(Share)共享锁Create index、Lock share5SSX(S/Row-X)共享行级排它锁Lock share row exclusive6X(Exclusive)排它锁Alter table、Drop able、
阅读全文
摘要:在有些执行计划中,可以会看到 BITMAP CONVERSION FROM ROWIDS这样的东东,也许你会感觉奇怪,我没有使用位图索引怎么出现了bitmap。我通过一个sql和大家分析下原因:sql语句为:SELECT *FROM (SELECT a.*, ROWNUM rnFROM ( SELECT module_no, MAX (id) AS idFROM vasoa.tab_moa_historypage tWHERE t.company_id = :1 AND t.user_id = :2 AND t.TYPE = :3GROUP BY module_noORDER BY id DE
阅读全文
摘要:SQL> select rownum rn ,a.* from cnmir.ew_auctions a where rownum select * from cnmir.ew_auctions where issue_id<80;Execution Plan----------------------------------------------------------Plan hash value: 518049957---------------------------------------------------------------------------------
阅读全文
浙公网安备 33010602011771号