Oracle查看对象信息

1.查看某用户下所有对象的信息:

SELECT owner, object_type, status, COUNT(*) count#
FROM all_objects
where owner='xxx'
GROUP BY owner, object_type, status
order by 2;

2.查看表行数(多个表)(需先分析表):

1 select 'analyze table '|| table_name||' compute statistics;' from  user_tables;
2
3 select table_name,num_rows from dba_tables where owner='WEBAGENT' order by 1;
4
5 select count(*) from WITHDRAWAL_ORG;

3.查看表空间大小:


SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024*1024)), 0) ts_size_GB
FROM dba_tablespaces t, dba_data_files d
WHERE t.tablespace_name = d.tablespace_name
GROUP BY t.tablespace_name;

4.查看表空间的使用情况:


SELECT tablespace_name ,SUM(bytes) / (1024 * 1024) AS free_space_MG
FROM dba_free_space
GROUP BY tablespace_name;

SELECT a.tablespace_name,
a.bytes total,
b.bytes used,
c.bytes free,
(b.bytes * 100) / a.bytes "% USED ",
(c.bytes * 100) / a.bytes "% FREE "
FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c
WHERE a.tablespace_name = b.tablespace_name
AND a.tablespace_name = c.tablespace_name;

5.查看表空间物理文件的名称及大小:

SELECT tablespace_name,
file_id,
file_name,
round(bytes / (1024 * 1024*1024), 0) total_space
FROM dba_data_files
ORDER BY tablespace_name;

6.查正在执行的sql和执行过的sql:

a.查询正在执行的sql

select a.username, a.sid,b.SQL_TEXT, b.SQL_FULLTEXT
  from v$session a, v$sqlarea b
where a.sql_address = b.address;

b.查询指定时间内执行过的sql

select b.SQL_TEXT,b.FIRST_LOAD_TIME,b.SQL_FULLTEXT
  from v$sqlarea b
where b.FIRST_LOAD_TIME between '2009-10-15/09:24:47' and
      '2009-10-15/09:24:47' order by b.FIRST_LOAD_TIME

7.回收站:

1 drop table t1 purge;
2 purge recyclebin;View Code
8.监控Oracle的等待事件:

select event,
      sum(decode(wait_Time, 0, 0, 1)) "Prev",
      sum(decode(wait_Time, 0, 1, 0)) "Curr",
      count(*) "Tot"
  from v$session_Wait
 group by event
 order by 4;

9.统计模式内的对象信息:

a.查看当前schema的对象信息

select object_type,count(*) from user_objects group by object_type;

b.sys用户下查看指定schema的对象信息

select SEGMENT_TYPE,COUNT(*) from dba_segments where tablespace_name='TSP_WEBAGENT'  GROUP BY SEGMENT_TYPE;

相关推荐