表碎片分析(三种方法对比)
三种表碎片分析语句比较:insert into a select * from a;/delete a where rownum<100000;select bytes/1024/1024 from dba_segments where segment_name='A';analyze table wyq.a compute statistics;第一种: SELECT a.owner "用户", a.TABLE_NAME "表名", &n...
查看表空间大小的脚本
select t.tablespace_name,x.contents tablespace_type,t."SUM_SPACE(M)",t.SUM_BLOCKS,t."USED_SPACE(M)",t."USED_RATE(%)",t."FREE_SPACE(M)"from(SELECT D.TABLESPACE_NAME,SPACE "SUM_SPACE(M)",BLOCKS SUM_BLOCKS,SPACE - NVL(FREE_SPACE, 0) "USED_SPACE(M)",ROUND((1 - NVL(FREE_SPACE, 0) / SPACE) * 100, 2) ...
segment advisor
----查看oracle 需要shrink space 优化的表。 select af.task_name, ao.attr2 segname, ao.attr3 partition, ao.type, af.message from dba_advisor_findings af, dba_advisor_objects ao where ao.task_id = af.task_id and ao.object_id = af.object_id and ao.owner...
用DBMS_STATS导入导出oracle统计信息
搜集表的信息:exec dbms_stats.gather_table_stats('WYQ','T',cascade=>true);搜集索引的统计信息:exec dbms_stats.gather_index_stats(ownname => 'SGPMS',indname => 'PK_E_CONS_PRC_AMT'); 1.创建存放统计信息表EXECUTE DBMS_STATS.CREATE_STAT_TABLE ('WYQ', 'STATTAB','USERS');在删除...
行连接、行迁移
1.检测行迁移和行连接数据库级链接行的影响:select value from v$sysstat where name='table fetch continued row';上面反回的是由语句访问的链接行的数量。2.获得表的链接行的数目;分析表:analyze table owner.table_name compute;接下来查询DBA_TABLES得到链接行的数目:select chain_cnt from dba_...
Oracle各个命中率查询
注:SQL语句的解析有软解析soft parse与硬解析hard parse之说,以下是5个步骤:1:语法是否合法(sql写法)2:语义是否合法(权限,对象是否存在)3:检查该sql是否在公享池中存在-- 如果存在,直接跳过4和5,运行sql. 此时算soft parse4:选择执行计划5:产生执行计划-- 如果5个步骤全做,这就叫hard parse.由V$S...
解决oracle死锁问题
1.查哪个过程被锁查V$DB_OBJECT_CACHE视图:1.SELECT * FROM V$DB_OBJECT_CACHE WHERE OWNER=' 过程的所属用户' AND LOCKS!='0';2. 查是哪一个SID,通过SID可知道是哪个SESSION.查V$ACCESS视图:1.SELECT * FROM V$ACCESS WHERE OWNER=' 过程的所属用户' AND NAME='刚才查到的过程名';...
oracle中sql语句解析步骤
我们都知道在Oracle中每条SQL语句在执行之前都需要经过解析,这里面又分为软解析和硬解析。那么这两种解析有何不同之处呢?它们又分别是如何进行解析呢?Oracle内部解析的步骤又是如何进行的呢?下面我们就这些话题进行共同探讨。 在Oracle中存在两种类型的SQL语句,一类为DDL语句,他们是从来不会共享使用的,也就是每次执...
数据库管理员日常工作中必备的sql列表
数据库管理员日常工作中必备的sql列表 --监控索引是否使用 alter index &index_name monitoring usage; alter index &index_name nomonitoring usage; select * from v$object_usage where index_name = &index_name; --求数据文件的I/O分布 select df.name,phyrds,phywrts,phyblkrd,phyblkwrt...
某类等待事件集中的sql通用优化流程
---------查找特定等待事件的sql;select sql_id, count(*) from dba_hist_active_sess_history where event = 'enq: TX - row lock contention' group by sql_id;select sql_id, count(*) from v$active_session_history where event like 'direct path read' group by sql_id&...
日志挖掘实验
日志挖掘实验:备份scott.emp表:create emp_tmp as select * from emp;删除emp数据:delete from emp;commit;假如不能闪回查询:select * from scott.emp as of timestamp to_timestamp('2013-12-15 12:00:00','YYYY-MM-DD HH24:MI:SS');采用日志挖掘:首先设置utl_file_dir参数:alter system set utl_file_d...
hint的使用
Hint释义1. /*+ALL_ROWS*/表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.例如:SELECT /*+ALL_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO=’SCOTT’;2. /*+FIRST_ROWS*/表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.例如:SELECT /*+FIRST_ROW...
Oracle 迁移数据文件及控制文件方法
1.数据文件迁移将表空间offline:alter tablespace users offline;!cp -v ?/user01.dbf /u01/alter tablespace users rename datafile '?/user01.dbf' to '/u01/user01.dbf';对System表空间不能offline:shutdown immediate;startup mount;!cp -v ?/system01.dbf /u01/alter database r...