RMAN的"rman: can't open target"错误

在Linux上,安装完成之后,在测试RMAN时可能会遇到如下错误:

[oracle@smsdbrac1 oracle]$ rman target /
rman: can't open target

这是由于调用的是非Oracle的RMAN的缘故:

[oracle@smsdbrac1 oracle]$ which rman
/usr/X11R6/bin/rman

在X11R6下存在一个名为rman的命令:

[oracle@smsdbrac1 bin]$ ./rman -help
rman
    [-f <ASCII|roff|TkMan|Tk|Sections|HTML|XML|MIME|LaTeX|LaTeX2e|RTF|pod>]
    [-S(ource of man page passed in)] [-F(ormatted man page passed in)]
    [-r <man reference printf string>] [-l <title printf string>]
    [-V(olume) <colon-separated list>] [-U(RLs as hyperlinks)]
    [-b (show subsections)] [-k(eep head/foot)]
    [-n(ame of man page) <string>] [-s(ection) <string>]
    [-p(aragraph mode toggle)] [-t(abstops spacing) <number>]
    [-N(ormalize spacing, changebars)] [-y (zap hyphens toggle)]
    [-K (declare that page has no breaks)]
    [-d(iff) <file> (diff of old page source to incorporate)]
    [-M(essage) <text> (included verbatim at end of Name section)]
    [-R(ebus words for TkMan)] [-C (enable Tcl/Tk formatting)]
    [-o (no op)] [-O <arg> (no op with arg)]
    [-q(uiet--don't report warnings)] [-h(elp)] [-v(ersion)]
    [<filename>]

修正这个问题,我们只需要在Oracle用户的环境变量下,将$ORACLE_HOME/bin放在PATH变量前就可以了:

export PATH=$ORACLE_HOME/bin:${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin

重新登录使环境变量生效,现在Oracle能找到正确的rman了:

[oracle@smsdbrac1 oracle]$ su - oracle
Password:
[oracle@smsdbrac1 oracle]$ which rman
~/product/10.2.0/db/bin/rman