一些实用的DBA语句(持续学习,持续更新)
2011-11-19 13:19
375 查看
--查询LOB的大小和所在表空间
SELECT A.TABLE_NAME, A.COLUMN_NAME, B.SEGMENT_NAME, B.SEGMENT_TYPE, B.TABLESPACE_NAME, round((B.BYTES / 1024 / 1024 / 1024),2) FROM USER_LOBS A, USER_SEGMENTS B WHERE A.SEGMENT_NAME = B.SEGMENT_NAME ORDER BY B.BYTES DESC; --查询查询一个表空间上所有表的大小 select us.segment_name, us.segment_type,us.tablespace_name, us.tablespace_name, round((us.BYTES/1024/1024/1024),2) from user_segments us where us.tablespace_name = '';
--查询特定一些表的大小,可以更换查询关键字 select segment_name, alt.OWNER tablespace_name, segment_type, round((BYTES /1024/1024/1024), 2) as "大小(GB)" from user_segments, all_tables alt where segment_type = 'TABLE' and segment_name like '%%' and alt.TABLE_NAME = segment_name order by tablespace_name, BYTES desc;
--查询当前表空间的使用情况 SELECT a.tablespace_name "表空间名", total/1024/1024 表空间大小, trunc((free/1024/1024),2) 表空间剩余大小, trunc(((total - free)/1024/1024),2) 表空间使用大小, ROUND((total - free) / total, 4) * 100 "使用率%" FROM (SELECT tablespace_name, SUM(bytes) free FROM DBA_FREE_SPACE GROUP BY tablespace_name) a, (SELECT tablespace_name, SUM(bytes) total FROM DBA_DATA_FILES GROUP BY tablespace_name) b WHERE a.tablespace_name = b.tablespace_name;
/*查询锁表情况*/ select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session sess where ao.object_id = lo.object_id and lo.session_id = sess.sid
/*1 统计数据表的num_row 2 统计索引列的distinct_keys 3 计算distinct_keys/num_rows的值, 该值越接近1,则列的选择度越高, 索引的效率就越高*/ analyze table schema.tablename compute statistics for all indexes for all columns; --收集最新的信息 select ut.num_rows, ui.distinct_keys, round((ui.distinct_keys/ut.num_rows), 2) from user_indexes ui, user_tables ut where ui.table_name = upper('tablename') and ui.index_name = upper('indexname') and ut.table_name = ui.table_name; /*比较笨的办法,纯手工统计,计算*/ select count(*) from schema.tablename; --统计出了表的总行数 select distinct(ind_row) from schema.tablename; --统计索引所在列的distinct值 --之后就是纯手工计算了
/*查询等待事件*/ SELECT event, sum(decode(wait_time, 0, 1, 0)) "当前等待", sum(decode(wait_time, 0, 0, 1)) "当前未在等待", count(*) "Total" FROM v$session_wait GROUP BY event ORDER BY count(*) desc; select a.EVENT, count(*) from v$session_wait a group by a.EVENT, a.WAIT_CLASS# order by count(*) desc;
--查询占用UNDO的用户相关情况 SELECT S.USERNAME, U.NAME, S.SID, S.SERIAL# FROM V$TRANSACTION T, V$ROLLSTAT R, V$ROLLNAME U, V$SESSION S WHERE S.TADDR = T.ADDR AND T.XIDUSN = R.USN AND R.USN = U.USN ORDER BY S.USERNAME;
--锁定、解锁账户语句
alter user username account lock;
alter user username account unlock;
--修改用户密码,如果遇到ORA-28001错误也可如此解决
alter user username identified by password;
--手工扩大一个数据文件
alter database datafile '/data/data_file1.dbf' resize 10G;
相关文章推荐
- 一些实用的DBA语句之二(慢慢更新)
- 一些好的技术类博客和学习网站(持续更新中)
- dba一些常用的管理语句(不断更新)
- editplus网上收集的一些实用方法--持续更新中
- iOS一些实用demo(会持续更新的)
- Android的一些干货以及Android Studio的一些实用小技巧(持续更新)
- oracle DBA常用操作语句 持续更新。。。
- wordpress中的一些实用小插件(持续更新)
- 学习oracle的一些好网站【持续更新】7-23
- python的一些学习资料(持续更新中)
- 实用的T_sql语句收藏(持续更新)
- java一些比较实用的方法,持续更新中
- 一些实用的mysql语句(不断积累更新)
- 我的JAVA学习笔记(记下一些容易忘记的知识点)持续更新
- [STL]一些STL的学习笔记(持续更新)
- SqlServer学习-常用的sql语句-持续更新中
- oracle学习 六 删除表空间,数据文件的语句以及导入导出dmp文件的方法(持续更新中)
- 实用的一条SQL语句…(持续更新…)
- IDEA的一些实用小技巧(持续更新)
- ABAP report常用的一些语句用法(包括字符串操作,变量动态操作)(持续更新)