知识大全 关于Oracle一些常用脚本的汇总(2)

Posted

篇首语:亦余心之所善兮,虽九死其犹未悔。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 关于Oracle一些常用脚本的汇总(2)相关的知识,希望对你有一定的参考价值。

关于Oracle一些常用脚本的汇总(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  碎片检查

  select tablespace_name sqrt(max(blocks)/sum(blocks))*

  ( /sqrt(sqrt(count(blocks)))) fsfi

  from dba_free_space

  group by tablespace_name order by ;

  fsfi值越小 碎片越大 自由空间碎片索引

  检查reverse_key index

  select o object_name

  from dba_objects o

  where wner= DB_ACCT

  AND O OBJECT_ID IN

  (SELECT I OBJ# FROM SYS IND$ I

  WHERE BITAND(I PROPERTY )= )

  查具体后台进程号

  select spid from v$session a v$process b where a PADDR=b ADDR and sid=

  查看死锁表

  SELECT SID DECODE(BLOCK NO YES ) BLOCKER

  DECODE(REQUEST NO YES ) WAITER

  FROM V$LOCK

  WHERE REQUEST > OR BLOCK >

  ORDER BY block DESC;

  查看剩余表空间

  select a tablespace_name free/total* pct_free free/ / free(M) from

  (select sum(bytes) free tablespace_name from dba_free_space group by tablespace_name) a

  (select sum(bytes) total tablespace_name from dba_data_files group by tablespace_name) b

  where a tablespace_name=b tablespace_name

  order by pct_free;

  查看创建索引的进度

  select sid message from  v$session_longops where sid = order by  start_time

  查看缴费到帐

  SELECT AREA_ID to_char(sysdate yyyy mm dd hh :mi:ss ) to_char(count( )) as cnt FROM ACCT_PAY_INTERFACE

  WHERE PAY_DATE>=sysdate and FLAG= group by AREA_Id

  查看最消耗资源的sql

  SELECT * FROM  (SELECT PARSING_USER_ID EXECUTIONS SORTS MAND_TYPE

  DISK_READS  sql_text FROM v$sqlarea ORDER BY disk_reads DESC ) WHERE ROWNUM<

  查看占用系统资源的进程号spid

  SELECT a username a machine a program a sid a serial# a status c piece c sql_text

  FROM v$session a v$process b v$sqltext c WHERE b spid=  AND b addr=a paddr AND a sql_address=c address(+)

  ORDER BY c piece

  查看占用系统io较大的session

  SELECT se sid se serial# pr SPID se username se status se terminal se program

  se MODULE se sql_address st event st p text si physical_reads si block_changes

  FROM v$session se  v$session_wait st v$sess_io si v$process pr WHERE st sid=se sid  AND st sid=si sid

  AND se PADDR=pr ADDR AND se sid>  AND st wait_time= AND st event NOT LIKE %SQL% ORDER BY physical_reads DESC

  对检索出的结果的几点说明

   我是按每个正在等待的session已经发生的物理读排的序 因为它与实际的IO相关

   你可以看一下这些等待的进程都在忙什么 语句是否合理?

  Select sql_address from v$session where sid=;

  Select * from v$sqltext where address=;

  执行以上两个语句便可以得到这个session的语句

  你也以用alter system kill session sid serial# ;把这个session杀掉

   应观注一下event这列 这是我们调优的关键一列 下面对常出现的event做以简要的说明

  a buffer busy waits free buffer waits这两个参数所标识是dbwr是否够用的问题 与IO很大相关的 当v$session_wait中的free buffer wait的条目很小或没有的时侯 说明你的系统的dbwr进程决对够用 不用调整 free buffer wait的条目很多 你的系统感觉起来一定很慢 这时说明你的dbwr已经不够用了 它产生的wio已经成为你的数据库性能的瓶颈 这时的解决办法如下

  a 增加写进程 同时要调整db_block_lru_latches参数

  示例 修改或添加如下两个参数

  db_writer_processes=

  db_block_lru_latches=

  a 开异步IO IBM这方面简单得多 hp则麻烦一些 可以与Hp工程师联系

  b db file sequential read 指的是顺序读 即全表扫描 这也是我们应该尽量减少的部分 解决方法就是使用索引 sql调优 同时可以增大db_file_multiblock_read_count这个参数

  c db file scattered read 这个参数指的是通过索引来读取 同样可以通过增加db_file_multiblock_read_count这个参数来提高性能

  d latch free 与栓相关的了 需要专门调节

  e 其他参数可以不特别观注

  外部联接 + 的用法

   外部联接 + 按其在 = 的左边或右边分左联接和右联接

  若不带 + 运算符的表中的一个行不直接匹配于带 + 预算符的表中的任何行

  则前者的行与后者中的一个空行相匹配并被返回 若二者均不带 +

  则二者中无法匹配的均被返回 利用外部联接 +

  可以替代效率十分低下的 not in 运算 大大提高运行速度 例如 下面这条命令执行起来很慢

  select a empno from emp a where a empno not in

  (select empno from emp where job= SALE );

   倘若利用外部联接 改写命令如下:

  select a empno from emp a emp b

  where a empno=b empno(+)

  and b empno is null

  and b job= SALE ;

   可以发现 运行速度明显提高

  如何更改UNDO tablespace

  create undo tablespace undotbs datafile D:\\oracle\\product\\ \\oradata\\qa\\undotbs dbf size M;

  alter system set undo_tablespace=undotbs scope=both;

  create pfile from spfile;

  alter tablespace undotbs offline;

  drop tablespace undotbs including contents;

   将表改成

  ALTER   TABLE   t_monitor_real_minute   NOLOGGING;

  Oracle RAC的参数文件和单实例参数文件不同 所以修改参数文件时需要注意

  首先设置归档路径

  SQL> alter system set log_archive_dest= /opt/oracle/archive scope=spfile sid= * ;

  System altered

  SQL> select sid name value from v$spparameter where name= log_archive_dest ;

  SID        NAME                 VALUE

  

  *          log_archive_dest     /opt/oracle/archive

  然后关闭两个实例 启动实例 更改数据库为归档模式

  SQL> shutdown immediate;

  Database closed

  Database dismounted

  ORACLE instance shut down

  SQL> startup mount;

  ORACLE instance started

  Total System Global Area bytes

  Fixed Size                  bytes

  Variable Size             bytes

  Database Buffers          bytes

  Redo Buffers               bytes

  Database mounted

  SQL> alter database archivelog;

  Database altered

  SQL> alter database open;

  Database altered

  SQL> archive log list;

  Database log mode              Archive Mode

  Automatic archival             Enabled

  Archive destination            /opt/oracle/archive

  Oldest online log sequence    

  Next log sequence to archive  

  Current log sequence          

cha138/Article/program/Oracle/201311/17504

相关参考

知识大全 入门基础-Oracle常用脚本备忘

入门基础-Oracle常用脚本备忘  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!创建一个表T使之具

知识大全 oracle常用函数汇总

以下是对oracle中的常用函数进行了汇总介绍需要的朋友可以过来参考下   一运算符算术运算符+*/可以在select语句中使用连接运算符||selectdeptno||dnamefromd

知识大全 Oracle 常用功能函数汇总

Oracle常用功能函数汇总  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  **********

知识大全 一些常用的计划脚本(2)

  print_table纵向显示一行    createorreplace  procedureprint_table(p_queryinvarchar)  AUTHIDCURRENT_USER  

知识大全 ORACLE DBA常用SQL脚本工具-管理篇(1)

ORACLEDBA常用SQL脚本工具-管理篇(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 Oracle维护常用SQL语句汇总

Oracle维护常用SQL语句汇总  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  如何远程判断O

知识大全 Oracle数据库基本常用命令汇总

Oracle数据库基本常用命令汇总  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!以下是对Oracl

知识大全 关于Oracle几种锁管理的汇总

关于Oracle几种锁管理的汇总  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!ORACLE里锁有以

知识大全 一些 schema 的常用脚本归类介绍

  getcodesql获得某个存储过程包函数代码脚本  setfeedbackoff  setheadingoff  settermoutoff  setlinesize  settrimspool

知识大全 DBA常用脚本2-性能监控

DBA常用脚本2-性能监控  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  数据缓冲区的命中率已经