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
为Oracle目录结构的根,该环境变量为指定计算机上的所有Oracle产品目录
ORACLE_BASE下有admin和product
/u01/app/oracle/
/u01/app/oracle/admin
/u01/app/oracle/product
/u01/app/oracle/$ORACLE_SID
admin目录
位于$ORACLE_BASE目录下,即$ORACLE_BASE/admin/$ORACLE_SID主要存储的为Oracle 后台进程产生的相关文件及数据库管理文件
以下是其下常用的子目录
/adump--存储审计文件的目录(需要首先设置audit_file_dest参数)
/bdump--后台进程跟踪文件(使用backgroud_dump_dest参数进行设置)
/cdump--存储核心堆积文件(使用core_dump_dest参数进行设置)
/create --存储用于创建数据库的脚本。创建新的数据库时,DBCA将创建数据库的脚本放置在这个目录
/exp --建议存储使用Export使用程序或Oracle Data Pump创建的数据库导出文件的目录
/pfile--初始化参数文件
/udump--存储用户进程跟踪文件,使用user_dump_dest参数设置
...
oradata目录
Oracle数据库文件缺省存储该目录下,即$ORACLE_BASE/$ORACLE_SID/oradata,主要包括数据库的控制文件、数据文件、重做日志文件。
dbf文件对应数据库中每个表空间
ctl文件为控制文件
log文件对应重做日志文件组及其成员
flash_recovery_area目录
flash_recovery_area目录存储并管理与备份和恢复有关的文件。它包含系统中每个数据库的子目录。
该目录可用于存储与恢复有关的文件,如控制文件、联机重做日志副本、归档日志、闪回日志以及Oracle数据库恢复管理器(RMAN)备份等。
3、Oracle Home目录(产品目录)
ORACLE_HOME下则是ORACLE的命令、连接库、安装助手、listener、运行有关的子目录等等一系列的东东。
这只是ORACLE自己的定义习惯。
ORACLE_HOME=$ORACLE_BASE/product/version
如:
/u01/app/oracle/product/11.2.0
$ORACLE_HOME目录中的常用子目录如下:
/bin --主要包含用于数据库管理的各种命令等,如impdb,expdp,emctl,emca等
/css --与Oracle Cluster Synchronization服务有关的文件
/dbs --存放数据库服务器端的参数文件Spfile,如spfileorcl.ora,init.ora,密码文件orapworcl等
/demo --存放数据库实例模式的脚本等 如human_resources的相关脚本
/install --用于存储ORACLE安装后的端口号,iSQL*Plus以及Enterprise Manager Database Control启动并登录的方式等,如该路径下的portlist.ini
/network/admin --有关监听器listener.ora和sqlnet.ora以及tnsnames.ora等
/sysman/config --用于与Oracle Enterprise Management有关的端口管理等
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
Tag: Oracle Oracle基础