oracle 常用性能查询SQL分享

select count(1) from dictionary;
select * from dba_data_files;
select count(1) from dba_objects t where t.owner='BESTTONE';
select * from dba_tablespaces t where t.tablespace_name='BESTTONE';
select count(1) from dba_tables t where t.owner='BESTTONE';
select t.table_name,t.comments from dictionary  t where t.table_name like 'V$%';
select * from dba_constraints;
select * from dba_cons_columns;
select * from dba_tablespaces t where t.tablespace_name='SIM002';
CREATE TABLESPACE SS DATAFILE 'D:/ORACLE/ORADATA/BSTO/SS.DBF' SIZE 1M;
SELECT T.tablespace_name, T.status FROM DBA_TABLESPACES T;
SELECT T.TABLESPACE_NAME,T.FILE_NAME FROM DBA_DATA_FILES T;
ALTER TABLESPACE SIM002 OFFLINE;
ALTER TABLESPACE SIM002 ONLINE;
SELECT T.os_username,
       T.username,
       T.terminal,
       DECODE(T.returncode,
              '0',
              'Connected',
              '1005',
              'failedNull',
              '1017',
              'failed'),
       to_char(t.timestamp, 'dd-mon-yy hh24:mi:ss'),
       to_char(t.logoff_time, 'dd-mon-yy hh24:mi:ss')
  FROM DBA_AUDIT_SESSION T;--尝试登陆审计
select t.action,t.name  from audit_actions t;
select * from dba_audit_object;
select * from v$sesstat;
select a.sid,a.value "total cpu time" from v$sesstat a ,v$statname b
where a.STATISTIC#=b.STATISTIC# and b.NAME='cpu used by this session'
order by a.sid;--会话级服务时间值
select sum(time_waited) "total time waited"
  from v$system_event
 where event not in
       ('pmon timer', 'smon timer', 'rdbms ipc message',
        'parallel dequeue wait', 'virtual circuit',
        'SQL*Net message from client', 'client message', 'null event');
select count(*) from v$process;                        -- 取得数据库目前的进程数。
select value from v$parameter where name = 'processes'; --取得进程数的上限。
--计算总等待时间的实例级查询
select sid,sum(time_waited) "total time waited" from v$session_event
where event !='SQL*Net message from client'
group by sid;
--查看当前有哪些用户正在使用数据
SELECT osuser,
       a.username,
       cpu_time / executions / 1000000 || 's',
       sql_fulltext,
       machine
  from v$session a, v$sqlarea b
 where a.sql_address = b.address
 order by cpu_time / executions desc;
--计算总等待时间的会话级查询
SELECT * FROM V$LOG;
ALTER SYSTEM SWITCH LOGFILE;
SELECT * FROM V$LOG_HISTORY;
SELECT * FROM V$logfile;
select name,value from V$PARAMETER WHERE NAME='db_recover_file_dest';
select * from scott.dept;
select trunc(123.12,-1) from dual;
select round(1234.564,9) from dual;
select concat('','11') from dual;
select initcap('ww') from dual;
select instr('wwwweerr','w',-1,1) from dual;
select translate('d2q1wwr','d2','Dwr') FROM DUAL;
SELECT T.TABLESPACE_NAME,SUM(T.BYTES) FROM DBA_FREE_SPACE T GROUP BY T.TABLESPACE_NAME
--查询表空间的空闲大小
select sum(t.GETS),sum(t.GETMISSES) from v$rowcache t;--查询共享池中数据字典缓存的成功与失败次数
select * from user_extents;--查询用户数据段的存储情况
select * from user_indexes;--查看用户的索引段
SELECT * FROM DICTIONARY;
SELECT * FROM DBA_VARRAYS;
SELECT * FROM SYS.OBJ$;
SELECT * FROM DBA_VIEWS;
SELECT * FROM DBA_SYNONYMS;
SELECT * FROM DBA_TS_QUOTAS;
SELECT * FROM DBA_ROLES;
SELECT * FROM DBA_PROFILES;
select t.TELPHONE,t.NAME,t.KEY,t.ORD,(case t.parent_id when 0  then '' else (SELECT S.NAME FROM T_PRIMENU S WHERE S.ID=T.PARENT_ID)  end), v.vox_name voxname
                          from t_primenu t, t_voxlab v
                         where t.product_id = '20071120004553169'
                            and t.vox = v.vox_num
                         order by t.key, t.ord asc
select id, key, telphone, vox, product_id, ord, name, vox_type, parent_id, areaid,DECODE(PARENT_ID,'0','',(SELECT S.NAME FROM T_PRIMENU S WHERE S.ID=T.PARENT_ID)) AS TNAME
from t_primenu T WHERE PRODUCT_ID='20071120004553169' ;
select level,sys_connect_by_path(T.NAME,'/') path
from T_PRIMENU T
start with T.PARENT_ID=0
connect by prior T.ID =T.PARENT_ID;
select connect_by_isleaf
from T_PRIMENU T
start with T.PARENT_ID=0
connect by prior T.ID =T.PARENT_ID;
select COUNT(1), area_id
  from t_area t
 GROUP BY area_id
HAVING COUNT(area_id) > 1;
死锁问题查看
SELECT * FROM V$SYSSTAT WHERE CLASS=4--查看数据库是否发生过死锁
select * from V$sysstat WHERE STATISTIC#=23 AND VALUE=0;--死锁会话是否还在连接中
select l.sid,
       serial#,
       username,
       decode(block, 0, 'NO', 'YES') blocker,
       decode(request, 0, 'N0', 'YES') waiter
  from v$lock l, v$session s
 where s.SID=l.SID and (request>0 or block>0)  order by block desc;--查看是否有死锁存在
 

select * from v$system_event where event='enquece';--查看会话等待enquece的时间
select owner, object_type, substr(OBJECT_NAME, 1, 30) OBJECT_NAME
  FROM DBA_OBJECTS
 WHERE STATUS = 'INVALID'
 ORDER BY OWNER, OBJECT_TYPE, OBJECT_NAME; --查看状态为失效的对象
select username,count(username) from v$session where username is not null group by username --查看死锁进程对应的SQL
SELECT /*+ PUSH_SUBQ */

Command_Type, Sql_Text, Sharable_Mem, Persistent_Mem, Runtime_Mem, Sorts,

Version_Count, Loaded_Versions, Open_Versions, Users_Opening, Executions,

Users_Executing, Loads, First_Load_Time, Invalidations, Parse_Calls,

Disk_Reads, Buffer_Gets, Rows_Processed, SYSDATE Start_Time,

SYSDATE Finish_Time, '>' || Address Sql_Address, 'N' Status

FROM V$sqlarea

WHERE Address = (SELECT Sql_Address

FROM V$session

WHERE Sid =560 )
--查看数据库的连接数
--由上级向下遍历
select *
from lmss2_district d
start with d.id = '0200' --上级id
connect by prior d.id = d.parent_id

--由下级向上回朔
select *
from lmss2_district t
start with t.id='0200'
connect by prior t.parent_id=t.id
--查看正在执行的进程对应的SQL
select sql_text 
from v$sqlarea a, v$session s
where a.address = s.sql_address;
--查看系统的library cache命中率
SELECT SUM(PINS) "EXECUTIONS",
       SUM(RELOADS) "CACHE MISSES WHILE EXECUTING",
       1 - SUM(RELOADS)/SUM(PINS)
FROM V$LIBRARYCACHE;
--查看shared pool的使用情况
select sum(bytes)/(1024*1024) from v$sgastat
where pool='shared pool'
and name != 'free memory';
 --专用服务模式下,查看cache在内存中的对象的大小,
select sum(sharable_mem) from v$db_object_cache;
--专用服务模式下,查看SQL占用的内存大小,
select sum(sharable_mem) from v$sqlarea;
--Oracle需要为保存每个打开的游标分配大概250字节的内存,以下语句可以计算这部分内存的占用情况,
select sum(250 * users_opening) from v$sqlarea;
-- ora-00600:内部错误,参数19004的解决办法:
execute dbms_stats.delete_schema_stats('hb2db');--hb2db为表空间名

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值