Oracle--DBA总结

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 20:38 点击:

1. 数据字典

1.1查询数据字典。

dictionary -----该字典包含所有的字典信息
SQL>select * from dict where instr(comments,'index')>0; -----查询所有有关index的数据字典名称。
1.2设置查询结果格式。

Set heading on/off:打开/关闭查询结果表头的显示,默认为ON。
Set feedback on/off:打开/关闭查询结果中返回行数的显示,默认为ON。
Set echo on/off:打开/关闭命令的回显,默认为ON。
Set time on/off:打开/关闭时间显示,默认为OFF。
2.系统I/O调整

2.1查询磁盘I/O情况。

#select d.tablespace_name tablespace,d.file_name,f.phyrds,f.phywrts
from v$filestat f,dba_data_files d
where f.file#=d.file_id;           ---------查询数据文件的读写情况
#db_file_multiblock_read_count    ---------一次性读入块的数量,可以在session级别设置。
 
3. SQL调整

3.1 关于sql的初始化参数调整。

#cursor_sharing   -------是否会自动匹配变量参数| exact(完全不会)------该参数如果不配合绑定变量会使得系统开销很大| similar(智能匹配) -------推荐使用,但性能不如exact加绑定变量好|force(强制) -------会产生BUG|
#查看sqlarea中的sql语句来断定其sql所执行的次数(字段EXECUTIONS)。其动态性能视图为v$sqlarea
3.2 打开游标和使用绑定变量的方法。

游标:variable x refcursor  ----定义x为一个游标
      Begin
      Open :x for select XXXXXXX from XXXXXXXX;
      End;
      /
      (如果你想读取游标中的数,可以使用print x)
绑定变量:sqlplus中可以这样绑定
SQL> var n varchar2(30);
SQL>  exec :n := 'IM_USER';
PL/SQL 过程已成功完成。
SQL>  select * from tab where tname = :n;
TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
IM_USER                        SYNONYM
3.3 sql_trace使用。

#打开跟踪文件
Alter session set sql_trace=true;
grant alter session to xxx;---给予alter session
自己的跟踪文件的位置(要使用下面的语句必须具有可查找动态性能视图的权限)
select c.value||'/'||d.instance_name||'_ora_'||a.spid||'.trc' trace
from v$process a,v$session b,v$parameter c,v$instance d
where a.addr=b.paddr and b.audsid=userenv('sessionid') and c.name ='user_dump_dest';
跟踪别人的跟踪文件的位置
select c.value||'/'||d.instance_name||'_ora_'||a.spid||'.trc' trace
from v$process a,v$session b,v$parameter c,v$instance d
where a.addr=b.paddr and b.audsid=&a and c.name ='user_dump_dest';
b.audsid的值指定了所跟踪的session 可以由select SID,SERIAL#,AUDSID,username from v$session;得出
#加标记
Alter  session  set  tracefile_identifier=’你想加的标记名’;
再打开跟踪文件
#跟踪别人的sql
如果跟踪别人的会话,需要调用一个包
exec dbms_system.set_sql_trace_in_session(sid,serial#,true|false)
跟踪的信息在user_dump_dest 目录下可以找到
可以通过Tkprof来解析跟踪文件,如
Tkprof 原文件 目标文件 sys=n
 
3.4 10046tarce

10046是sql_trace的一个提升,它能够提供更为详细的信息
alter session set events '10046 trace name context forever, level xx';(必须确保timed_statistics为true)
10046event的追踪级别大致有:
level 1:跟踪sql语句,包括解析、执行、提取、提交和回滚等。
level 4:包括变量的周详信息
level 8:包括等待事件
level 12:包括绑定变量和等待事件
关闭命令为alter session set events '10046 trace name context off';
#查

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • Table函数使用简介
      • Oracle数据库Constraint约束的常用操作及异常处理
      • Bulk Collect性能分析(zz)
      • export/import的使用
      • OCP043第十五讲 Database Security
      • ORACLE10gr2数据导入MySQL方案
      • oracle 让sys用户可以使用isqlplus
      • 在oracle数据库下使用iSQL*Plus DBA访问数据库
      • Oracle行列转换小结
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1