1.查看会话“锁定”的所有对象!
select session_id sid, owner, name, type, mode_held held, mode_requested request
from DBA_DDL_LOCKS
where session_id=(select sid from V$mystat where rownum=1)
/ (注:owner 列是所锁定对象的所有者)
2.总消耗时间最多的前10条SQL语句!
select sql_id,child_number,sql_text,elapsed_time
from(select sql_id,child_number,sql_text,elapsed_time,cpu_time,disk_reads,rank()over(order by elapsed_time desc) as elapsed_rankfrom V$sql)
where elapsed_rank<=10
/
3.报警功能:能够识别出会忽略或者吞掉错误的异常!
alter session set plsql_warnings='enable:all'
4. 查看缓冲区中生成的"redo size"的大小
create or replace function get_ stat_val (p_name in varchar2) return number
is
l_val number;
begin
select b.value
into l_val
from v$statname a,v$mystat b
where a.statistic#=b.statistic# and a.name=p_name;
return l_val;
end;
5.查看已用"undo"块的个数
select used_ublk
from v$transaction
where addr=(select taddr
from v$session
where sid=(select sid
from v$mystat
where rownum=1)
)
/
6.用数据字典视图查看对象的列名等信息
select name,...
from sys.col$
where obj#=(select object_id
from dba_objects
where object_name='EMPLOYEES'
and owner='HR')
/(或 from user_objects where objects_name=' '查看当前用户对象的列信息)
7.查看表空间中已分配和未分配的空间
selectb.tablespace_name,mbytes_alloc,mbytes_free
from(select round(sum(bytes)/1024/1024) mbytes_free,tablespace_name
from dba_free_space
group by tablespace_name) a,
(select round(sum(bytes)/1024/1024) mbytes_alloc,tablespace_name
from dba_data_files
group by tablespace_name) b
where a.tablespace_name(+)=b.tablespace_name
and b.tablespace_name='USERS'
/
8.查看语言环境
select userenv ('language') from dual;
9.块转储
from dba_extents,dba_segments --得到file_id,block_id
alter system dump datafile file_id block block_id--得到转储块
D:\app\lx_sunwei\diag\rdbms\orcl\orcl\trace\orcl_ora_17220.trc --打开转储文件信息
10.使用statspack查看数据库运行状态
>sys/as sysdba (登陆)
>createtablespace stats_pa
datafile 'D:\...' (建默认表空间大于100M)
>create temporary tablespace stats_temp
tempfile 'D:\...' (建临时表空间)
>@ '%oracle_home%\rdbms\admin\spcreate.sql'
>execute statspack.snap
>execute statspack.snap
>@ '%oracle_home%\rdbms\admin\spreport.sql'
查看生成的快照:
selectt.snap_id,to_char(t.snap_time,'yyyy-mm-dd hh:mi:ss')as SP_Time,t.snapshot_exec_time_s
from STATS$SNAPSHOT t;
删除stats$snapshot 数据表中的相应数据,其他表中的数据会相应的级连删除:
select max(snap_id)fromstats$snapshot;
delete from stats$snapshot where snap_id < n;
卸载statspack:
@ '%ORACLE_HOME%\rdbms\admin\spdrop.sql'
11.保存 SQL*Plus 环境变量
store set mysqlplus.sql
12.改变提示符
set sqlprompt '_connect_identifier'
13.pause 命令使屏幕信息按屏显示,按Enter键显示下一屏
set pause on/of
14.break 命令设置断点
break on col_1 skip page on col_2 skip 1 --相同col_1打印一页,相同col_2分组打印
15.repfooter/repheader 命令报告的底部或顶部打印指定的文本
repfooter page right 'this footer '
repheader page center 'this header'
16.btitle/ttitle 命令将标题放在每页的底部或顶部
btitle 'this btitle'
title 'this ttitle'
17.save 命令保存缓存区内容到文件
save save_name.sql
18.spool 命令保存输出结果到文件
spool spool_name.txt
sql语句
spool off/out(将文件发送到默认打印机)
19.sqlterminator/blockterminator 命令语句终止符(;),语句的结束(.)
set sqlterminator on/of
set sqlterminator on/of
20.配置 database control
emca -config dbcontrol db