oracle 日常运维的各种脚本
bigclouder
专注于金融领域……
展开
-
索引分析脚本
select idx.owner owner, idx.table_name tablename, idx.index_name index_name, idx.blocks idx_blocks, tbl.blocks tbl_blocks, trunc(idx.blocks/tbl.blocks*100)/100 pct转载 2015-10-07 08:37:53 · 482 阅读 · 0 评论 -
查看sql当前的执行计划
select * from v$sql where sql_id='ax0fpkfmr5ucx' order by last_active_time;找出最后一行的sql_hash_valueselect * from table(dbms_xplan.display_awr('ax0fpkfmr5ucx'));就能看到当前sql的执行计划原创 2015-01-19 13:14:14 · 664 阅读 · 0 评论 -
确定使用回滚段的大小
select s.sid,r.name,extents,used_ublk*8/1024 usered_mb,start_time from v$transaction t,v$rollstat rs,v$rollname r,v$session swhere t.xidusn=rs.usn and t.xidusn=r.usn and t.addr=s.taddr; sele原创 2015-01-19 09:16:49 · 1598 阅读 · 0 评论 -
估算创建的索引的大小
declare v_ddl varchar(1024); v_used_bytes number; v_alloc_bytes number; begin dbms_space.create_index_cost( ddl =>' create index deal_ind_global on deal(dealtype,orderseqid)GLOBAL PARTITI原创 2015-01-19 14:44:54 · 892 阅读 · 0 评论 -
限制某些用户创建表的权限的trigger
create or replace trigger create_triggerBEFORE create ON databasedeclarev_host varchar2(4000);beginv_host:=SYS_CONTEXT('USERENV', 'HOST');ifv_host like 'WORKGROUP\TERMINAL-SERVER' and ora_dict_原创 2014-12-22 16:09:30 · 765 阅读 · 0 评论 -
每分钟的系统信息的统计
--每分钟的SYSSTAT汇总统计select to_char(createtime,'dd hh24:mi') createtime, round((user_commits - lag(user_commits, 1, user_commits) over(order by createtime)) / 60, 0) commits, round((user_ro原创 2014-12-05 16:01:25 · 450 阅读 · 0 评论 -
根据rdba得出具体的数据块,以及找到相应的object
select dbms_utility.data_block_address_file(12591208) "file", dbms_utility.data_block_address_block(12591208) "block" from dual; 例如:rdba: 0x01000080 转换为二进制 1677734403:55:06 scott@prod> sele原创 2014-12-19 12:57:10 · 522 阅读 · 0 评论 -
看去索引重建进度的脚本
col sid format 9999col opname format a21col target_desc format a32col perwork format a12col message format a78col event format a32set lines 121select l.sid, OPNAME, sofar, TOTALWORK, trunc(原创 2015-01-27 14:17:49 · 1102 阅读 · 0 评论 -
查询并生成占用资源多的sql语句
select s.SID, s.SERIAL#, 'kill -9 ' || p.SPID, s.MACHINE, s.OSUSER, s.PROGRAM, s.USERNAME, s.last_call_et, a.SQL_ID, s.LOGON_TIM原创 2014-11-03 13:41:10 · 1731 阅读 · 0 评论 -
rman恢复进度的脚本
select inst_id,sid,serial#,opname,COMPLETE,trunc(((to_char(last_update_time,'dd')-to_char(start_time,'dd'))*60*24+(to_char(last_update_time,'hh24')-to_char(start_time,'hh24'))*60 +(to_char(last_updat原创 2014-11-25 14:54:42 · 1305 阅读 · 0 评论 -
rman的备份查看的脚本
SELECT start_time, end_time, elapsed_seconds,TRIM (time_taken_display) TIME, status, input_type, compression_ratio, TRIM (input_bytes_display) inputb, TRIM (output_bytes_display) outputb原创 2014-11-04 10:51:04 · 871 阅读 · 0 评论 -
逻辑备库运维相关的脚本
前几天逻辑备库有问题了,在网上搜了一下,就没找到几个逻辑备库相关的运维的各种脚本,现在整理一个出来############################## 常用信息的查询 ##############################--涉及SQL应用的不同进程的当前状态的相关信息select * from v$logstdby_process;select原创 2015-02-06 13:53:33 · 685 阅读 · 0 评论 -
大内存页脚本
#!/bin/bash## hugepages_settings.sh## Linux bash script to compute values for the# recommended HugePages/HugeTLB configuration## Note: This script does calculation for all shared memory# segme原创 2015-02-10 08:56:33 · 590 阅读 · 0 评论 -
查看oracle系统的字符集
13:25:39 sys@tppaml> col parameter for a4013:25:45 sys@tppaml> col value for a4013:25:51 sys@tppaml> select * from nls_database_parameters;PARAMETER VALUE------原创 2015-02-10 13:27:29 · 569 阅读 · 0 评论 -
获取绑定变量值的方法
select dbms_sqltune.extract_bind(bind_data, 1).value_string||'-'|| dbms_sqltune.extract_bind(bind_data, 2).value_string ||'-'|| dbms_sqltune.extract_bind(bind_data, 3) .value_string ||'-'|| dbm原创 2015-04-10 16:45:09 · 951 阅读 · 0 评论 -
崔华的xplan的脚本及使用效果
-- -------------------------------------------------------------------------------------------------- Script: xplan.sql---- Author: Adrian Billington-- ---- Descriptio转载 2015-03-23 22:49:53 · 1421 阅读 · 1 评论 -
如何得到正确的执行计划
如何得到正确的执行计划00:09:10 scott@orcl> var x number;00:09:31 scott@orcl> var y number;00:09:35 scott@orcl> exec :x:=0;PL/SQL procedure successfully completed.Elapsed: 00:00:00.0100:09:48 scot原创 2015-03-23 22:04:21 · 490 阅读 · 0 评论 -
崔华的printsql的脚本内容以及执行效果
create or replace procedure PRINTSQL(i_n_id in number, i_vc_idtype in varchar2) is/*功能: 打印对应spid或sid所对应的sql以及其执行计划作者: 老熊,dbsnake创建日期:2010-11-12输入参数:i_n_id: 输入的spid或sidi_vc_idtype :转载 2015-03-23 21:27:54 · 1180 阅读 · 0 评论 -
find trace file name
SELECT d.VALUE|| '/'|| LOWER (RTRIM (i.INSTANCE, CHR (0)))|| '_ora_'|| p.spid|| '.trc'AS "trace_file_name"FROM (SELECT p.spid FROM v$mystat m, v$session s, v$process pWHERE m.sta原创 2015-03-27 01:13:54 · 565 阅读 · 0 评论 -
维护logic standby dataguard的脚本
############################## 常用信息的查询 ##############################--涉及SQL应用的不同进程的当前状态的相关信息select * from v$logstdby_process;select * from v$logstdby_progress;select * from v$logstdb原创 2014-10-27 16:57:50 · 844 阅读 · 0 评论 -
查看oracle当前连接的情况
SELECT /* use_hash(sess,proc,undo,tmp) use_nl(s)*/ distinct sess.inst_id, sess.sid, sess.serial#, sess.username, substr(osuser,1,10) osuser, status,原创 2015-03-06 11:55:26 · 1758 阅读 · 0 评论 -
查看索引创建进度的脚本
set line 250col ssid format 9999 heading SID;col opname format a15 TRUNCATE ;col target format a28 TRUNCATE ;col es format 99999.9 Heading "Time|Ran";col tr format 99999.90 Heading "Time|Left";c原创 2015-03-04 21:18:24 · 3372 阅读 · 0 评论 -
可以查看导入导出的进度
set linesize 200 pagesize 50column spid_sid_s# format A18 heading 'SPID,SID,SERIAL#'column operation format A20 word_wrapcolumn progress format A13column total format A15column eta format A8colu原创 2015-03-04 14:07:03 · 5525 阅读 · 0 评论 -
根据rowid得出存储的数据文件跟数据块
declareridtyp number;objnum number;relfno number;blno number;rowno number;rid rowid;beginselect rowid into rid from emp where empno=7788;dbms_rowid.rowid_info(rid, ridtyp,objnum,relf原创 2015-01-22 13:47:43 · 576 阅读 · 0 评论 -
oracle 查看SGA中各个组件的实际使用大小的脚本
set linesize 100col name for a25col value for a15col describ for a40select x.ksppinm name,y.ksppstvl value,x.ksppdesc describfrom sys.x$ksppi x,sys.x$ksppcv ywhere x.inst_id=userenv('instance')原创 2014-11-04 16:44:19 · 3624 阅读 · 0 评论 -
Linux下批量杀掉 包含某个关键字的 程序进程
有时候因为一些情况,需要把 linux 下符合某一项条件的所有进程 kill 掉,又不能用 killall 直接杀掉某一进程名称包含的所有运行中进程(我们可能只需要杀掉其中的某一类或运行指定参数命令的进程),这个时候我们需要运用 ps, grep, cut 和 kill 一起操作。ok,下面给出具体的参考:ps -ef|grep LOCAL=NO|grep -v grep|cut -c 9原创 2014-09-24 13:51:18 · 613 阅读 · 0 评论 -
查看每天的归档的总量
SELECT SUM(BLOCKS *BLOCK_SIZE )/1024/1024/8/1024 AS "Size(M)",TRUNC(completion_time) FROM v$archived_logGROUP BY TRUNC(completion_time) order by 2 desc;原创 2014-11-14 15:30:59 · 1745 阅读 · 2 评论 -
把一个目录下的datafile都改为不自动扩展
----------------------------------------------以下为把一个目录都改为不能自动扩展的步骤----------------------------------------------如果把一个目录中所有datafile都不能自动扩展,需要加datafile的表空间找出所有表空间的datafile都不能自动扩展select distinct tabl原创 2014-08-22 20:07:33 · 1183 阅读 · 0 评论 -
统计一条sql_id的信息,详细的运行情况
--一条SQLID的详细运行情况(单条平均)select to_date(to_char(b.end_interval_time, 'yyyy-mm-dd hh24:mi'), 'yyyy-mm-dd hh24:mi') snap_time, a.sql_id, plan_hash_value, executions_delta, round(di原创 2014-08-22 19:04:53 · 733 阅读 · 0 评论 -
统计一段时间内的sql_id
--一个时间段SQL_ID执行的次数统计-- 12awqv57hgg4a,a0m9rb5mc68zj ,update t_stl_list-- cq8zn91786g90,59nwtmw2q2ssy ,delete t_stl_list-- 43bscdyp00dqa ,insert t_h_stl_listselect a.sql_id, sum(exe原创 2014-08-22 19:03:12 · 704 阅读 · 0 评论 -
查找没有commit的事务
--查找没有commit的事务select s.sid,s.serial#,'kill -9 ' || p.SPID, 'alter system disconnect session '''||s.sid||','||s.serial#||''' immediate;', s.status, s.LOGON_TIME,s.machine, t.start_time, a.SQL_ID,原创 2014-06-20 16:37:02 · 2029 阅读 · 0 评论 -
导入schema下的某个sequence
expdp kiwi/kiwi dumpfile=kiwi.dmp directory=kiwi include="SEQUENCE:IN('KIWI_1')" log=~/kiwi.log schemas=kiwi原创 2014-07-15 12:19:36 · 1786 阅读 · 0 评论 -
可以查看rman备份进度的脚本
select s.inst_id, o.sid, CLIENT_INFO ch, context, sofar, totalwork, round(sofar/totalwork*100,2) "% Complete" FROM gv$session_longops o, gv$session s WHERE opname LIKE 'R原创 2014-06-12 19:40:57 · 2794 阅读 · 0 评论 -
查询某张表上所有dml操作的脚本
select /*+ ordered use_hash(d) use_hash(c) */o.kglnahsh hash_value,sum(c.kglobt13) disk_reads,sum(c.kglobt14) logical_reads,sum(c.kglhdexc) executions,c.kglnaobj sql_text,c.kglobt03from原创 2014-07-02 11:04:36 · 1411 阅读 · 0 评论 -
查看各个对象DDL堵塞的情况,并生成kill语句
select object_name ,s.sid,s.serial#,p.spid from v$locked_object l , dba_objects o , v$session s , v$process pwhere l.object_id=o.object_id and l.session_id=s.sid and s.paddr=p.addr;可以查看到有naxie原创 2014-07-16 17:59:34 · 758 阅读 · 0 评论 -
查看各个表空间可以回收空间的脚本
Select '/* ' || To_Char(Ceil((f.Blocks - e.Hwm) * (f.Bytes / f.Blocks) / 1024 / 1024), 99999999) || ' M */ ' || 'alter database datafile ''' || File_Name || ''' resize '原创 2014-06-24 18:15:41 · 700 阅读 · 0 评论 -
利用外部表实现SQL查询Oracle告警日志Alert.log
本文转载自刘向兵大师的blog:http://www.oracledatabase12g.com/archives/%E5%88%A9%E7%94%A8%E5%A4%96%E9%83%A8%E8%A1%A8%E5%AE%9E%E7%8E%B0sql%E6%9F%A5%E8%AF%A2oracle%E5%91%8A%E8%AD%A6%E6%97%A5%E5%BF%97alert-log.html原创 2014-05-09 17:22:45 · 1774 阅读 · 0 评论 -
查询一个数据库中所有表的大小并排序
select * from (select t1.owner, t1.table_name, round(t1.table_size / 1024 / 1024) + round(nvl(t3.lob_data_size,0) / 1024 / 1024) table_size_mb, round(nvl(t2.index_size,0) / 1024 / 1024)原创 2014-08-22 19:07:46 · 2604 阅读 · 1 评论 -
每分钟的SYSSTAT汇总统计
--每分钟的SYSSTAT汇总统计select to_char(createtime,'dd hh24:mi') createtime, round((user_commits - lag(user_commits, 1, user_commits) over(order by createtime)) / 60, 0) commits, round((user_ro原创 2014-08-22 20:13:30 · 649 阅读 · 0 评论 -
查看哪些session在使用temp表空间
SELECT s.username, s.sid, s.serial#, s.sql_address, s.machine, s.program, su.tablespace, su.segtype, su.contentsFROM v$session s, v$sort_usage suWHERE s.saddr = su.session_addr;原创 2014-08-25 16:28:02 · 2064 阅读 · 0 评论