DBA巡检常用的SQL语句
1.查看当前数据库有多少process
创新互联公司-专业网站定制、快速模板网站建设、高性价比双江网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式双江网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖双江地区。费用合理售后完善,十余年实体公司更值得信赖。
select count(1) from v$process;
2.查看当前数据库有多少session(session=process*1.1)
select count(1) from v$session;
3.查看当前执行的SQL语句
select a.program,b.spid,c.sql_text,c.sql_id from v$session a,v$process b,v$sqlarea c where a.paddr=b.addr and a.sql_hash_value=c.hash_value; --如果SQL语句没有显示完就执行下面语句
select a.* from v$sql a where a.SQL_ID='686nqabc8sgs2' --686nqabc8sgs2为上面语句的sql_id
4.查看表空间名称及大小
select t.tablespace_name, round(SUM(bytes/(1024 * 1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name;
--显示表空间名和表空间大小,大小是多少M.
5. 计算表空间数据文件使用情况
select a.tablespace_name, total, free, total-free as used from (select tablespace_name, sum(bytes)/1024/1024 as total from dba_data_files group by tablespace_name) a,(select tablespace_name, sum(bytes)/1024/1024 as free from dba_free_space group by tablespace_name) b where a.tablespace_name = b.tablespace_name;
6.查看临时表空间的使用率
select * from v$temp_space_header;
7.查看当前oracle用户的会话数
select username,count(username) from v$session where username is not null group by username;
8.查询表中某行在哪个数据文件
select a,rowid,dbms_rowid.rowid_relative_fno(rowid) || '_' || dbms_rowid.rowid_block_number(rowid) || '_' || dbms_rowid.rowid_row_number(rowid) as f_b_n from t where a=4;
A ROWID F_B_N
4 AAAUCYAABAAAXEpAAB 1_94505_1 --1表示第1个数据文件,94505表示第多少个块,1表示数据在表中每2行,因为每1行是0
9.通过sql_id找用户的id值
select distinct USER_ID from dba_hist_active_sess_history where sql_id='44u0yksh46aq2';
10.通过user_id查找用户
select user_id,username from dba_users where user_id=98;
网页标题:DBA巡检常用的SQL语句
文章分享:http://scyanting.com/article/piecjh.html