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- ...
随机推荐
- Android 7.0 FileProvider 使用说明
FileProvider FileProvider 这个组件在Android 22.0.0 (也就是 Android 5.0 ) 版本下加入进Android系统,该组件是ContentProvider ...
- Go url编码和字符转码
类似php中的urlencode 和htmlspecialchars: package main import ( "fmt" "html" "net ...
- HtmlUnit: A Simple Example: Check Yahoo Email---转载
1. src http://www.muneebahmad.com/index.php/archives/81 package com.examples.htmlunit; import java.i ...
- windows端口查看及进程查找
1. 使用netstat查看端口 netstat -ano 2. 查找特定端口号: netstat -aon|findstr "port" 3. 查找该端口的进程 tasklist ...
- ruby中Regexp用法
Regexp 正则表达式的类.正则表达式的字面值是以双斜线内夹表达式的形式生成的. /^this is regexp/ 还可以使用Regexp.new(string)来动态地生成正则表达式对象. 超类 ...
- Ionic3 UI组件之 Gallery Modal
Gallery Modal可以理解为相册的预览界面.可以显示网络图片,也可以显示base64Image. 在这个例子中,我用来实现图片的预览功能. 相机拍照,或者相册选择图片后,用缩略图组件显示缩略图 ...
- 美图吴欣鸿:请不要叫我CEO
关于采访提纲上“对互联网+如何理解?”的问题能否不做回答? 他的说法听上去谦虚而实在,“我一般对于这种大的.有点政策性的问题其实是Hold不住的,我的谈话风格就是比较随性.感性,也很难说去推出一个很强 ...
- Java基础教程(20)--数字和字符串
一.数字 在用到数字时,大多数情况下我们都会使用基本数据类型.例如: int i = 500; float gpa = 3.65f; byte mask = 0xff; 然而,有时候我们既需要 ...
- 针对Eclipse闪退的两种解决方案
闪退情况是:双击Eclipse登陆按钮,显示图标后,紧接着关闭: 1. 到eclipse文件夹中的eclipse.ini打开编辑在最后加入下面代码保存即可 -Dorg.eclipse.swt.brow ...
- finally 的作用是什么?
在java中finally首先必须使用在所有catch的最后位置, 无论是否抛出异常,finally代码块总是会被执行.就算是没有catch语句同时又抛出异常的情况下,finally代码块任然会被执行 ...