|
|
摘要:首先创建四个临时表t1,t2,t3,t4,和他们相对应的索引 复制内容到剪贴板 代码:create table t1 as select * from user_objects;create table t2 as select * from user_objects;create table t3 as select * from user_objects;create table t4 as select * from user_objects;create unique index pk_t1_idx on t1(object_id);create unique index pk_t2_
阅读全文
摘要:--使用执行计划explain plan set statement_id='test1' for select * from dual;--查询执行计划SELECT A.OPERATION,A.OPTIONS,A.OBJECT_NAME,A.OBJECT_TYPE,A.ID,A.PARENT_ID,a.cost,a.io_cost,a.cpu_cost,A.*FROM PLAN_TABLE aWHERE A.STATEMENT_ID='test1'ORDER BY A.Id;--创建查询执行计划的表rem rem $Header: utlxplan.sql 2
阅读全文
摘要:--查看表空间select a.a1 表空间名称,c.c2 类型,c.c3 区管理,b.b2/1024/1024 表空间大小M,(b.b2-a.a2)/1024/1024 已使用M,substr((b.b2-a.a2)/b.b2*100,1,5) 利用率from (select tablespace_name a1, sum(nvl(bytes,0)) a2 from dba_free_space group by tablespace_name) a,(select tablespace_name b1,sum(bytes) b2 from dba_data_files group by t
阅读全文
摘要:begin dbms_output.put_line('aa');end;set serveroutput on;报 ORA-20000: ORU-10027: buffer overflow, limit of 2000 bytes问题的解决方法1:set serveroutput on size 1000000方法2:exec dbms_output.enable(999999999999999999999);
阅读全文
摘要:--查询所有的表select * from all_objects where object_name=upper('secom_cv_cust_order_data')--查询表的所有列,并以豆号间隔select tcv.table_name, ltrim( max(sys_connect_by_path(tcv.column_name, ',') ),',') column_namefrom( select tc.table_name, tc.column_name ,row_number() over(partition by tc.tab
阅读全文
摘要:SELECT /*+ rule */a.Sid,b.Serial#,Decode(a.TYPE, 'MR', 'Media Recovery', 'RT', 'Redo Thread', 'UN', 'User Name', 'TX', 'Transaction', 'TM', 'DML', 'UL', 'PL/SQL User Lock', 'DX', 'Distributed
阅读全文
摘要:ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits 三位年 显示值:007 yyyy four digits 四位年 显示值:2007 Month: mm number 两位月 显示值:11 mon abbreviated 字符集表示 显示值:11月,若是英文版,显示nov month spelled out 字符集表示 显示值:11月,若是英文版,显示november Day: dd number 当月第几天 显示值:02 ddd...
阅读全文
摘要:1.如何查看session级的等待事件?当我们对数据库的性能进行调整时,一个最重要的参考指标就是系统等待事 件。$system_event,v$session_event,v$session_wait这三个视图里记录的就是系统级和session级的等待 事件,通过查询这些视图你可以发现数据库的一些操作到底在等待什么?是磁盘I/O,缓冲区忙,还是插锁等等。通过如下sql你可以查询你的每个应用程序到底在等待什么,从而针对这些信息对数据库的性能进行调整。Select s.username,s.program,s.status,se.event,se.total_waits,se.total_time
阅读全文
摘要:以下记录只取其中一笔就可以1 78 ASIA_ZHANG aa 100000318 华东区 1 2 78 ASIA_ZHANG aa 100000330 上海办 2 3 98 EISLEEPING_LV bb 100000317 华南区 1 4 98 EISLEEPING_LV bb 100000335 深圳办 2Oracle 实现方法 --EBS 查询有效销售小组与对应人员的语句 select * from( SELECT distinct res.source_id ,res.user_name ,res.source_last_name ,grprel.GROUP_ID ,groups.
阅读全文
摘要:近年我做的项目中较少使用临时表Temporary Table ,其实 Temp Table 还是可以有比较广泛的应用的。Temp Table 的特点:(1) 多用户操作的独立性:对于使用同一张临时表的不同用户,ORACLE都会分配一个独立的 Temp Segment,这样就避免了多个用户在对同一张临时表操作时发生交叉,从而保证了多个用户操作的并发性和独立性;(2) 数据的临时性:既然是临时表,顾名思义,存放在该表中的数据是临时性的。ORACLE根据你创建临时表时指定的参数(On Commit Delete Rows / On Commit Preserve Rows),自动将数据TRUNCAT
阅读全文
摘要:基本概念,原理临时表的特点,什么时候用前段时间,新公司的面试官问了一个问题,临时表的作用,以前我们用缓存中间数据时候,都是自己建一个临时表。其实oracle本身在这方面就已经考虑很全了,除非有些高级应用,我再考虑自己创建临时表。由于本人对临时表的了解不是很多,于是回来搜集下这方面的资料,弥补下这块的不足。1、前言 目前所有使用Oracle作为数据库支撑平台的应用,大部分数据量比较庞大的系统,即表的数据量一般情况下都是在百万级以上的数据量。 当然在Oracle中创建分区是一种不错的选择,但是当你发现你的应用有多张表关联的时候,并且这些表大部分都是比较庞大,而你关联的时候发现其中的某一张或者某几张
阅读全文
摘要:select mtl_lot.inventory_item_id,mtl_lot.organization_id,mtl_lot.locator_id ,ltrim( max(sys_connect_by_path(mtl_lot.LOT_NUMBER, ',') ),',') lot_number from (SELECT moq.inventory_item_id ,moq.organization_id ,moq.locator_id ,moq.LOT_NUMBER , row_number() over(PARTITION BY moq.inventor
阅读全文
摘要:select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session sess where ao.object_id = lo.object_id and lo.session_id = sess.sid
阅读全文
摘要:--通过v$session找SQLselect sa.*, sel.sql_address,sel.sql_hash_value ,sel.* from v$session sel ,v$sqlarea sawhere HexToRaw(sel.sql_address)=sa.ADDRESS(+)and sel.sql_hash_value= sa.hash_value(+)and sel.PROGRAM like 'dis%'ORDER BY sa.address,sa.hash_value;--通过v$session找SQLselect sa.*, sel.sql_addr
阅读全文
摘要:学习动态性能表(一)--v$sysstat不久前在数据库管理区看到关于对eygle提出的最重要的9个动态性能视图的讨论,一方面深受启发,另一方面也深感自己对v$视图的不熟悉,于是下定决心要深入了解v$和x$系列视图。呵呵,就先从贴子里提到的大家认为比较重要的视图开始吧。现将学习过程中整理的文档上传至此,愿与有心者共分享。在动态性能表协助调优方面我仍处于学习过程中,文档中的内容大部分都是译自Oracle Online Book,同时在整理过程中通过搜索引擎查找相关范例、问题、使用心得等总结而成,肯定会有疏漏或异议的地方,诸位看官如发现有错请务必回贴指明啊~~我预计要将此做为一个系列来整理,初步制
阅读全文
摘要:--根据前程ID查询对应的Sessionselect sa.MODULE,sl.OPNAME, to_char(sl.start_time, 'yyyy-mm-dd hh24:mi:ss') start_time,sa.SQL_TEXT, pr.*,'||',se.*from v$session se ,v$process pr ,v$session_longops sl,v$sqlarea sawhere se.PADDR=pr.ADDR(+)and se.SID=sl.SID(+)and sl.sql_hash_value = sa.hash_value(+
阅读全文
摘要:经过以下处理,对于释放服务器资源,效果非常明显--查询死锁的进程select 'ALTER SYSTEM KILL SESSION '''||b.sid||', '||b.serial#||''';' from v$access a,v$session bwhere a.SID=b.SIDand b.program like 'dis%'group by b.sid,b.serial#--查询SID对应的操作系统进程select spid, osuser, s.program from v$sess
阅读全文
摘要:当我们想要查看某个表或者是表空间的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 a
阅读全文
|