无法在LINUX中使用RMAN
[RMAN CAN NOT BE RUN IN REDHAT AS4]
当我在新安装好的数据库上直接使用RMAN备份整库时,发现无法使用RMAN工具。真奇怪。
当然首先想到的就是ORACLE没有装好,例如MAKE时因为底层类库的不兼容造成RMAN编译错误,而无法正常运行。
[oracle@klsf ~]$ rman target / nocatalog
rman: can't open target
赶快WHICH一下:
[oracle@klsf ~]$ which rman
/usr/X11R6/bin/rman
更奇怪了,怎么跑到X11R6下了?根据ORACLE的目录管理特性,我直接查询$ORACLE_HOME下的bin,并对比X11R6下的这个“大仙”。发现原来这是两个文件。
[oracle@klsf ~]$ ll /usr/X11R6/bin/rman
-rwxr-xr-x 1 root root 106724 Apr 19 2007 /usr/X11R6/bin/rman
[oracle@klsf ~]$ ll /home/oracle/product/10.2/bin/rman
-rwxr-x--x 1 oracle oinstall 10459747 Dec 29 10:52 /home/oracle/product/10.2/bin/rman
问题可以确认,是出现环境变量的PATH上,env下,发现/usr/X11R6/bin确实比/home/oracle/product/10.2/bin靠前,所以REDHAT选择使用了“李鬼”rman !
查看文件.bash_profile:
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
确实,$PATH被放在了首位。改变一下位置:
export PATH=$HOME/bin:$ORACLE_HOME/bin:$PATH
重新su到ORACLE下,rman可以正常使用。
需要注意的:当我们在设置环境变量的时候,也需要认真考虑一下。根据对实际环境的需要来有优先顺序的设置。而不要没头没脑的将所有参数堆砌在哪,这样就会有可能造成不必要的麻烦。