oracle_base与oracle_home目录区别


OFA(Optimal  Flexible  Architecture:最优灵活的架构)

OFA 中有几个关键目录需要知道,包括:
oracle  inventory  目录:
oracle  Base 目录 (ORACLE_BASE);
Oracle  Home 目录 (ORACLE_HOME);
Oracle  Network 目录 (TNS_ADMIN)
Automatic  Diagnostic  Repository  (ADR_HOME) 自动诊断库


1、Oracle Inventory 目录

这个目录不属于ORACLE_BASE,它是和ORACLE_BASE同级的一个目录。这个目录用来 保存本机上所安装的Oracle 软件的目录清单,本机上安装的所有Oracle软件都需要并且共享使用这个目录。

当我们第一次安装Oracle软件时,Oracle使用下面的几条规则来寻找这个目录
1、是否有OFA兼容的目录结构,所谓OFA兼容就是指这个目录符合/u01/app这样的命名规范。如果有,安装程序就会在这个目录下创建,比如/u01/app/oraInventory。
2、如果Oracle用户的环境变量中定义了ORACLE_ BASE目录,oraInventory在ORACLE_BASE的上层目录,也就是说oraInventory目录和ORACLE_BASE目录在同一个层次。比如:ORACLE_BASE定义为/u01/app/oracle ,这个目录就是/u01/app/
oraInventory。
3、如果安装程序没有找到OFA兼容的目录结构,也没有发现ORACLE_BASE变量,则安装会在Oracle用户的HOME目录下创建这个目录,也就是/home/oracle/oraInventory目录。


2、Oracle Base 目录
Oracle Base 目录是Oracle软件安装的最顶层目录。这个目录下可以安装多个版本的Oracle软件,OFA标准里的Oracle Base目录是这样的:
通常可能这样:/u01/app/oracle


3、Oracle Home目录
/u01/app/oracle/product/11.2.0/db_1


4、GRID 的Oracle Base 和Oracle  Home
不过 Grid 的ORACLE_BASE 和ORACLE_HOME有所不同,GRID的ORACLE_HOME不能是ORACLE_BASE的子目录,否则安装会报错。
ORACLE_BASE:/oracle/app/grid
ORACLE_HOME:/oracle/app/11.2/grid
在GRID安装过程的root.sh会把GRID所在目录的属主改成root,而且会一直修改到顶层目录,这样一来就会影响到其他的Oracle软件,所以,不能把GRID的oracle_home放到ORACLE_BASE的子目录中。对于GRID来说,这两个目录是平行的


5、ORACLE_BASE、ORACLE_HOME环境变量
grid、Oracle 两个用户各自的设置是不同的:
GRID用户的环境变量设置:
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2/grid
path=$ORACLE_HOME/bin:$PATH:$HOME/bin

oracle 用户的环境变量设置:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
path=$ORACLE_HOME/bin:$PATH:$HOME/bin


你可能感兴趣的:(oracle_base与oracle_home目录区别)