Oracle
Allen 2022-10-10 08:34:43 22197 0 0 0 0
Oracle,Oracle基础,OFA,Oracle目录架构详解,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

为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基础
我也要发一个   ·   返回首页   ·   返回[Oracle]   ·   前一个   ·   下一个
欢迎评论
未登录,
请先 [ 注册 ] or [ 登录 ]
(一分钟即可完成注册!)
返回首页     ·   返回[Oracle]   ·   返回顶部