ORACLE DBA应该掌握的9个免费工具
TOP1 : 录像机OS Watcher
如果说,作为一个Oracle维护工程师,你至少应该装一个工具在你维护的系统里,那么我首推这个。它就像银行自助取款机顶上的摄像头,默默的记录下你操作系统中的一切,在你需要回顾的时候,随时拿来看看。MOS下载地址:文档 ID 1614397.1
通过startOSW.sh命令来启动,stopOSW.sh命令来结束。它启动之后默认只会保留3天的数据,如果你需要更多,需要手动设置下。需要特别提醒的是,如果使用了Oracle RAC,那你一定要记得去配置一下prvnet,他会记录你私有网络心跳的状态。
为了节约空间,它会每小时的信息单独打包成一个gzip压缩文件,需要看哪个时间段的,解压开来即可。很多时候某个系统半夜就出现了异常端倪,直到上班才正式爆发,如果随手安装了OSW,那么问题处理起来会非常快。跟OSW功能类似的另外一个工具是nmon,不过只有AIX和Linux平台,如果掌握了OSW和oratop,那么nmon也可以退休了。
TOP2:监视器oratop
顾名思义,oratop是向top致敬,用类似于Unix/Linux里top命令的展现方式实时展现数据库的相关信息。
下载链接:
oratop - Utility for Near Real-time Monitoring of Databases, RAC and Single Instance(1500864.1) |
用法也很简单oratop
system/manager@dbhost:4800/db1.domain.com
值得一提的是,不仅仅支持单实例数据库,还支持RAC、Active DG,以及12c多租户数据库。
oratop实在太容易上手了,功能不做进一步的说明,你用用就会。
TOP3:快刀手:ora
与oratop不一样的是,ora完全是响应式的,集成了诸多需要通过一长串SQL语句才能实现功能查询。这个工具最开始也是Oracle开发的,DBA在使用过程中可以根据自己的需要,增加新的功能点,在问题分析过程中最快速的得知数据库对象的情况,做出相应的处理抉择:
比如某个系统CPU突然飙高了,可以使用ora active|wc –l看看有多少个活动的语句,可以通过ora active|grep sequen 看看同时等待顺序读的SQL都是哪些,ora sqltext SQL_ID可以看到具体的SQL语句,通过ora plan SQL_ID 可以查看具体的执行计划,是否同一个语句有多个执行计划;通过ora size可以看到相应表多大,有哪些索引,什么时候做过统计信息搜集。看到这些内容,基本的SQL情况相信你也了然于胸了。
Top4:可视化:SQL Devloper
前述三个都是命令行的工具,不方便用图形界面的技术咖常用的利器。如果你之前一直很喜欢用图形界面,盗版的Toad,PL/SQL Developer用了十几年的,那建议你用用免费的SQL Developer,最新版本是4.1.3:
http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html
Top5:3A认证:AWR/ASH/ADDM
这三个脚本,都在$ORACLE_HOME/rdbms/admin目录下。
绝大部分的工程师在系统性能检查的时候,至少都会看看AWR。如果需要看具体某几分钟内的数据库情况,通常要借助ASH,如果想让Oracle帮你自动诊断,那就得借助于ADDM了。
对于性能比较在意的系统,建议把AWR从默认的1小时采集一次调整到30分钟。杨建荣为这3个脚本做了定制,可以参考DBA+之前的文章进行学习。
Top6:小保健:ORAchk
ORAchk 之前被称为RACcheck,后来它的检查范围进行了扩展,改名为了ORAchk,它是在数据库系统进行健康检查的一个专用工具,这个工具主要用来检查软件的配置是否符合要求以及一些最佳实践是否被应用了。通过这个工具,用户可以很方便地、自动化地对自己的系统进行健康检查和评估。如果你是用了Exadata,那Oracle还提供了exachk工具。
检查的项目包括:
OS kernel 参数
OS 包/补丁
OS上其它和RAC相关的配置
CRS/Grid Infrastructure
RDBMS
ASM
数据库参数
对于RAC数据库影响较大的设置
升级到11.2.0.3/11.2.0.4/12c时的升级检查
Maximum Availability Architecture (MAA)检查
检查结果网页式输出,当然了,有些问题你不必在意。
TOP7:大保健:RDA
RDA是Remote Diagnostic Agent 的简称,是oracle用来收集、分析数据库的工具,运行该工具不会改变系统的任何参数,RDA收集的相关数据非常全面,可以简化我们日常监控、分析数据库的工作,Oracle Support也建议我们在反馈相关问题时,提供RDA收集的数据,这样可以为快速解决问题提供一个有力的保证。
RDA比ORAchk更加复杂,也更加全面,支持的模块非常多:
$./rda.sh -L modules
Available data collection modules are:
ACFS Collects ASM Cluster File System Information
ACT Collects Oracle E-Business Suite Application Information
ADBA Collects ACS Oracle Database Assessment
ADX Collects AutoConfig and Rapid Clone Information
AGT Collects Enterprise Manager Agent Information
APEX Collects APEX Information
ASAP Collects Oracle Communications ASAP Information
ASBR Collects Application Server Backup and Recovery Information
ASG Collects Application Server Guard Information
ASIT Collects Oracle Application Server Installation Information
ASM Collects Automatic Storage Management Information
B2B Collects Oracle Business to Business Information
BAM Collects Business Activity Monitoring Information
BEE Collects Beehive Information
BRM Collects Oracle Communications BRM Information
CCR Collects OCM Diagnostic Information
CFG Collects Key Configuration Information
COHR Collects Oracle Coherence Information
CONT Collects Oracle Content Services Information
CRID Collects Oracle Access Manager (COREid) Information
D2PC Collects Distributed Transaction Information
DB Controls RDBMS Data Collection
DBA Collects RDBMS Information
DBC Collects Database Control Information
DBM Collects RDBMS Memory Information
DEV Collects Oracle Developer Information
DG Collects Data Guard Information
EXA Collects Exadata Information
FLTR Controls Report Content Filtering
INST Collects the Oracle Installation Information
IPSA Collects Oracle Communications IP Service Activator Information
J2EE Collects J2EE/OC4J Information
JDBC Collects Oracle Java DB Connectivity (JDBC) Information
(…… 省略部分)
XDB Collects XDB Information
XSMP Samples User Defined Data
XTRA Collects User Defined Data
可以根据需要选择只关注的模块进行配置,./rda.sh -S OS DB DBA INST
Top8: 救命宝:RMAN
其实选RMAN的时候我比较纠结,按理说大家都应该掌握,不需要额外提及了。或者说,这应该算是数据库工程师维护的常识了吧。
之所以放在这里,是因为前天上午7点多,一个Oracle用户电话过来,说他们工程师在好几天之前删了一张表,问我能不能找回来。我首先问有没有备份,不管RMAN还是data pump,答复是没有。再问有没有归档日志,还有几个。
用RMAN,不仅要记得做备份,还应该每年至少一次的恢复验证,免得备了也白备
Top9: 巨无霸:OEM CC
OEM企业管理器从8i的单机版到现在的OEM13c CC(Cloud Control),不仅仅是变得更漂亮了,考过OCM的同学都有印象,如果你的DG不用OEM,光记那繁杂的命令就搞死你了。
OEM里,有一个工具你千万别忘了,就是OSM,周俊和魏兴华同学在我们的公众号上发表过专门论述的文章,值得看看(不用OEM也可以用OSM)。
现在的OEM,除了Oracle数据库,其他你想监控和管理的一切,几乎都可以往上面塞。有点类似IBM的tivoli和HP的openview,逐渐的变得臃肿,而不那么称手了。
如上的9个工具包含维护、优化和备份,如果你都学好了,至少也是一个中级DBA了吧。
ORACLE DBA应该掌握的9个免费工具的更多相关文章
- Oracle DBA常用查询
Oracle DBA常用查询 –1. 查询系统所有对象select owner, object_name, object_type, created, last_ddl_time, timestamp ...
- Oracle DBA的神器: PRM恢复工具,可脱离Oracle软件运行,直接读取Oracle数据文件中的数据
Oracle DBA的神器: PRM恢复工具,可脱离Oracle软件运行,直接读取Oracle数据文件中的数据 PRM 全称为ParnassusData Recovery Manager ,由 诗檀软 ...
- oracle DBA坚持写博客的7大理由
对于Oracle DBA来说,甚至IT技术人员来说.坚持写博客是个好习惯.以下是我建议大家写博客的七个理由. 帮助整理思路 最近我做出了一个决定,那就是: 我要坚持天天写博客,记录每天所学的重要东西. ...
- oracle dba 职责, 及个人需要掌握内容
ORACLE DBA 职责, 基本相当于日常工作. 0. 数据库设计 1. 模式对象的创建与管理(table, index 等等) 2. 事物管理, 例如并发等 3. SQL 调优 只是针对SQL的 ...
- Oracle DBA 的常用Unix参考手册(二)
9.AIX下显示CPU数量 # lsdev -C|grep Process|wc -l10.Solaris下显示CPU数量# psrinfo -v|grep "Status of pr ...
- Oracle DBA 的常用Unix参考手册(一)
作为一名Oracle DBA,在所难免要接触Unix,但是Unix本身又是极其复杂的,想要深刻掌握同样很不容易.那么到底我们该怎么入手呢?Donald K Burleson 的<Unix for ...
- (摘)ORACLE DBA的职责
ORACLE数据库管理员应按如下方式对ORACLE数据库系统做定期监控: (1). 每天对ORACLE数据库的运行状态,日志文件,备份情况,数据 库的空间使用情况,系统资源的使用情况进行检查,发现并解 ...
- Oracle DBA管理包脚本系列(二)
该系列脚本结合日常工作,方便DBA做数据管理.迁移.同步等功能,以下为该系列的脚本,按照功能划分不同的包.功能有如下: 1)数据库对象管理(添加.修改.删除.禁用/启用.编译.去重复.闪回.文件读写. ...
- Oracle DBA 必须掌握的 查询脚本:
Oracle DBA 必须掌握的 查询脚本: 0:启动与关闭 orcle 数据库的启动与关闭 1:连接数据库 2:数据库开启状态的实现步骤: 2-1:启动数据库 2- ...
随机推荐
- nginx 超时问题: upstream timed out (110: Connection timed out) while reading response header from upstream
目录 错误内容 错误原因 错误解决办法 错误内容 我们可以在error.log 里面可以看到 错误内容:upstream timed out (110: Connection timed out) w ...
- 获得Spring容器
1. WebApplicationContext wac = ContextLoader.getCurrentWebApplicationCon; 2. ClassPathXmlApplication ...
- SharePoint2013使用资源管理器打开失败
我们在使用sharepoint 2013的文档库或者资源库的时候,经常会需要用到使用“资源管理器”来管理文档,但是有时候,点击“使用资源管理器打开”,会提示如下错误: 在文件资源管理器中打开此位置时遇 ...
- json-lib使用——JSONObject与JSONArray
ps:看这篇博客之前首先要引入工具包json-lib-2.2.2-jdk15.jar 资源链接:百度云:链接:https://pan.baidu.com/s/1o9k7PSu 密码:00lj 一.从O ...
- Tornado简介
Tornado是一个具有强大异步功能的Python Web框架. Hello World 使用pip安装tornado: pip install tornado 编写控制器: import torna ...
- MVC下拉框Html.DropDownList 和DropDownListFor 的常用方法
一.非强类型:Controller:ViewData["AreId"] = from a in Table select ...
- api.execScript
在指定 window 或者 frame 中执行脚本,对于 frameGroup 里面的 frame 也有效,若 name 和 frameName 都未指定,则在当前 window 中执行脚本,具体执行 ...
- Oracle超过连接数(ORA-12520)
原因是超过了连接数,最有效的处理方法是关闭em服务,停止em服务,改成禁用. show parameter processes; --查看允许连接情况 select count(*) from v$ ...
- 一次单核CPU占用过高问题的处理
客户现场反馈,top的检查结果中,一个CPU的占用一直是100%.实际上现场有4个CPU,而且这个服务器是mysql专属服务器. 我的第一反应是io_thread一类的参数设置有问题,检查以后发现re ...
- 前端开发实用工具-Bower的使用。
参看博客:[https://segmentfault.com/a/1190000002971135]