oracle工具集初探

简介: 今天无意中看了下ORACLE_HOME/bin下面的东西,发现里面还是存在不少的东西。除了常用的sqlplus,tnsping,rman,exp/expdp,imp/impdp,sqlldr等命令外还是不少的命令可能平时不使用,但是一旦有需要还是很不错的工具集。
今天无意中看了下ORACLE_HOME/bin下面的东西,发现里面还是存在不少的东西。除了常用的sqlplus,tnsping,rman,exp/expdp,imp/impdp,sqlldr等命令外还是不少的命令可能平时不使用,但是一旦有需要还是很不错的工具集。
自己筛选了下,总结了以下的几个命令/工具。
orabase
这个命令算是一个ORACLE_BASE的简化版本。如果查看orabase文件本身,里面还是有不少的代码量的。

> orabase
/opt/app/oracle/dbccbspt1
> echo $ORACLE_BASE
/opt/app/oracle/dbccbspt1

-rwxr-xr-x 1 xxxx  dba 3762466 Sep  5  2010 orabase

oerr
这个命令很有用,但是有时候却会忘记用。
比如我们查看ora-00001的问题,可以这样输入,会给出相应的提示。有时候问题在这种层面就显而易见了。
> oerr ora 00001
00001, 00000, "unique constraint (%s.%s) violated"
// *Cause: An UPDATE or INSERT statement attempted to insert a duplicate key.
//         For Trusted Oracle configured in DBMS MAC mode, you may see
//         this message if a duplicate entry exists at a different level.
// *Action: Either remove the unique restriction or do not insert the key.
如果是tns的错误,比如tns-12534问题
> oerr tns 12534
12534, 00000, "TNS:operation not supported"
// *Cause:  An internal function received a request to perform an
// operation that is not supported (on this machine).
// *Action:  Not normally visible to the user. For further details, turn
// on tracing and reexecute the operation. If error persists, contact
// Oracle Customer Support.

chopt
这个命令使用需要谨慎,它可以启用/禁用某些数据库选项,除非你确实需要,要不还是很有风险的。
命令的使用方法
chopt
options:
                  dm = Oracle Data Mining RDBMS Files
                  dv = Oracle Database Vault option
                lbac = Oracle Label Security
                olap = Oracle OLAP
        partitioning = Oracle Partitioning
                 rat = Oracle Real Application Testing
像我们使用sqlplus登入oracle的时候,就会提示这些东西。
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

如果需要禁用,还是需要做充分的评估。这个操作不是一个很简单的过程,需要重新编译某些链接库。
我在本地测试了一把,最后发现要编译的时候,果断终止了。
> chopt disable  rat
Writing to /opt/app/oracle/xxxx/product/11.2.0/install/disable_rat.log...
/usr/bin/make -f /opt/app/oracle/xxxx/product/11.2.0/rdbms/lib/ins_rdbms.mk rat_off ORACLE_HOME=/opt/app/oracle/xxxx/product/11.2.0

/usr/bin/make -f /opt/app/oracle/xxxx/product/11.2.0/rdbms/lib/ins_rdbms.mk ioracle ORACLE_HOME=/opt/app/oracle/xxxx/product/11.2.0
make: *** Deleting file `/opt/app/oracle/xxxx/product/11.2.0/rdbms/lib/oracle'
make: *** wait: No child processes.  Stop.
make: *** Waiting for unfinished jobs....
make: *** wait: No child processes.  Stop.

adrci
adrci是11g推出的新特性,算是对日志目录的有效管理工具,其实这些工作大家也可以通过shell脚本,命令自己定制完成。个人觉得提供的功能还是比较丰富的,不过还是根据自己的喜好来使用吧。
使用方式比较简单。直接通过help命令就一览无余了。
adrci> help
 HELP [topic]
   Available Topics:
        CREATE REPORT
        ECHO
        EXIT
        HELP
        HOST
        IPS
        PURGE
        RUN
        SET BASE
        SET BROWSER
        SET CONTROL
        SET ECHO
        SET EDITOR
        SET HOMES | HOME | HOMEPATH
        SET TERMOUT
        SHOW ALERT
        SHOW BASE
        SHOW CONTROL
        SHOW HM_RUN
        SHOW HOMES | HOME | HOMEPATH
        SHOW INCDIR
        SHOW INCIDENT
        SHOW PROBLEM
        SHOW REPORT
        SHOW TRACEFILE
        SPOOL
使用比较多的可能就是show alert,show tracefile这几个功能了。

dbfsize
这个命令的使用还是有点意思,可以读取文件头部,然后做一些基本的解析。
> dbfsize /dbccbsPT1/oracle/xxxx/orasys01/system/system01.dbf                                                                                                                             
Database file: /dbccbsPT1/oracle/xxxx/orasys01/system/system01.dbf                                                         
Database file type: file system                                                                                               
Database file size: 384000 8192 byte blocks    

如果文件不是数据文件,直接就报错了。
> dbfsize wa.sql
wa.sql: Header block size is bad
read: Success

dbv         
这个命令还是一个很有用的工具,在官方文档中也有详细的解释。MOS35512.1 中也有解释。
这个命令可以检验数据文件的物理结构,校验文件是否损坏等等,在online,offline的情况下都可以校验。
命令选项有以下几个。
DBVERIFY: Release 11.2.0.2.0 - Production on Wed Jan 7 21:16:21 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
Keyword     Description                    (Default)
----------------------------------------------------
FILE        File to Verify                 (NONE)
START       Start Block                    (First Block of File)
END         End Block                      (Last Block of File)
BLOCKSIZE   Logical Block Size             (8192)
LOGFILE     Output Log                     (NONE)
FEEDBACK    Display Progress               (0)
PARFILE     Parameter File                 (NONE)
USERID      Username/Password              (NONE)
SEGMENT_ID  Segment ID (tsn.relfile.block) (NONE)
HIGH_SCN    Highest Block SCN To Verify    (NONE)
            (scn_wrap.scn_base OR scn) 
自己迫不及待抓取了一个数据库系统文件测试了一把。
> dbv file=/dbccbsPT1/oracle/xxxx/orasys01/system/system01.dbf logfile=a.log
DBVERIFY: Release 11.2.0.2.0 - Production on Wed Jan 7 21:16:41 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
oraccbs1@ccbdbpt3:/opt/app/oracle/xxxx/product/11.2.0/bin> less a.log
DBVERIFY: Release 11.2.0.2.0 - Production on Wed Jan 7 21:16:41 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
DBVERIFY - Verification starting : FILE = /dbccbsPT1/oracle/xxxx/orasys01/system/system01.dbf
DBVERIFY - Verification complete
Total Pages Examined         : 384000
Total Pages Processed (Data) : 219646
Total Pages Failing   (Data) : 0
Total Pages Processed (Index): 108431
Total Pages Failing   (Index): 0
Total Pages Processed (Other): 27414
Total Pages Processed (Seg)  : 1
Total Pages Failing   (Seg)  : 0
Total Pages Empty            : 28509
Total Pages Marked Corrupt   : 0
Total Pages Influx           : 0
Total Pages Encrypted        : 0
Highest block SCN            : 2617374659 (2566.2617374659)

还是可以看到很多比较细致的信息。更多的细节还需要精工细琢。
目录
相关文章
|
7天前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(一):装上去,飞起来!
【Oracle】玩转Oracle数据库(一):装上去,飞起来!
44 7
|
1月前
|
Oracle 关系型数据库 数据库
|
2月前
|
开发框架 Oracle 关系型数据库
ASP.NET实验室LIS系统源码 Oracle数据库
LIS是HIS的一个组成部分,通过与HIS的无缝连接可以共享HIS中的信息资源,使检验科能与门诊部、住院部、财务科和临床科室等全院各部门之间协同工作。 
35 4
|
2月前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库:装上去,飞起来!
本文是一篇关于Oracle数据库安装和使用的博文摘要。作者以轻松幽默的笔调介绍了自己在实验中掌握的Oracle数据库基本操作,包括使用组件查看命令、配置数据库监听器等。作者也分享了在实验中遇到的一些有趣问题,如SQL语句缺少分号导致的意外错误。此外,作者还强调了登录sys用户和启动实例加载数据库的注意事项,并鼓励读者面对挑战时保持乐观,不断提升自己的能力。整体风格风趣严谨,引人入胜。
339 0
|
1月前
|
关系型数据库 分布式数据库 数据库
PolarDB PostgreSQL版:Oracle兼容的高性能数据库
PolarDB PostgreSQL版是一款高性能的数据库,具有与Oracle兼容的特性。它采用了分布式架构,可以轻松处理大量的数据,同时还支持多种数据类型和函数,具有高可用性和可扩展性。它还提供了丰富的管理工具和性能优化功能,为企业提供了可靠的数据存储和处理解决方案。PolarDB PostgreSQL版在数据库领域具有很高的竞争力,可以满足各种企业的需求。
|
25天前
|
Oracle 关系型数据库 数据库
Oracle数据库基本概念理解(3)
Oracle数据库基本概念理解(3)
17 2
|
1月前
|
Oracle 关系型数据库 数据库
如何利用 Docker 安装 Oracle 数据库
【2月更文挑战第14天】
90 0
|
7天前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(七):RMAN恢复管理器
【Oracle】玩转Oracle数据库(七):RMAN恢复管理器
35 5
|
25天前
|
Oracle 关系型数据库 数据库
Oracle数据库基本概念理解(2)
Oracle数据库基本概念理解(2)
13 1
|
7天前
|
存储 SQL Oracle
【Oracle】玩转Oracle数据库(二):体系结构、存储结构与各类参数
【Oracle】玩转Oracle数据库(二):体系结构、存储结构与各类参数
32 7