1 Orz工具说明
Orz 是一个Oracle数据库中的一个小工具,使用Python脚本编写。 可以从CNDBA社区的资源模块下载,下载地址:
经过多次版本迭代,现在orz工具功能越来越完善。
1.1 Orz 安装
[root@www.cndba.cn installFiles-linux]# python -V
Python 2.6.6
[root@www.cndba.cn installFiles-linux]# ls
Python2.6 Python2.7
[root@www.cndba.cn installFiles-linux]# cd Python2.6
[root@www.cndba.cn Python2.6]# ls
formattable.py install lotus.so orz orz.ini readme.txt
[root@www.cndba.cn Python2.6]# python install
Orz has been successfully installed!
然后重新开一个窗口或者source /root/.bashrc文件,让环境变量生效。
命令帮助如下:
[root@www.cndba.cn /]# orz help
Usage:
orz keyword [value1 [value2]]
---------------------------------------------------------------------------
active --Get Active Session
dbs --Persecond transactions
sqltext [sql_id] --Get SQL Text by hash value
param [pattern] --List Oracle parameters
_param [pattern] --List Oracle hidden parameters
event --List all wait event
invalid [owner] --List invalid objects
desc tabname [owner] --Describe Table Structure
datafile tsname --List data files by tablespace
tablespace --List tablespace Information
highpara --get hight pararllel module
size segname [owner] --Get Size of tables/indexes
idxdesc tabname owner --Display index structure
allsqltext --Get All SQL Text
lock [sid] --Get lock information by sid(get the value from:orz active)
lockwait --Get lock requestor/blocker
objlike pattern [owner] --Get object by name pattern
tstat tabname owner --Get table statistics
istat tabname owner --Get index statistics
ipstat indname owner --Get index partition statistics
longops --Get long run query
depend objname [owner] --Get dependency information
hold objectid --Who have lock on given object(orz objlike)
segment [size] --Segment large than given size
tabpart tabname [owner] --List table partitions
objsql objname owner --Get SQLs by object name
unusable [owner] --List unusable indexes
ddl owner object_type name --get the create object sql
get_kill_sh sql_id username --Get kill OS spid of sql_id and username
css --create snapshot
tsfree --Get Tablespace Usage
relmul[rm] --Reload multipath
lstmul[lm] --List multipath
fladev[fd] --Flush Devices
preinstalldb --preinstall database enviroment
preinstalldbrac --preinstall database rac enviroment inclund oracle grid user created
addasmdisk [diskname] --add asm disk to 99-oracle-asmdevices.rules
--------------------------------------------------------------------------
1.2 使用示例
查看event:
查看表空间:
查看数据库TPS,QPS,IOPS,MBPS值:
2 快速定位问题并解决
一般数据库发生问题的时候,在等待事件上会有体现。 所以第一步先查询等待事件:
发现异常的等待事件后查询orz active中等待事件异常的SQL,注意这里使用了通道符进行了过滤:
只查询异常的会话。 然后可以kill 这些会话,或者单独通过orz plan来查看这些会话的执行计划,然后对sql进行优化。
只需要这几部就可以快速解决数据库的问题,从而节省了大量的时间。
版权声明:本文为博主原创文章,未经博主允许不得转载。