原 Oracle 21c中的只读Oracle主目录特性(ROOH)
Tags: Oracle原创只读Oracle主⽬录
只读Oracle主目录特性(ROOH)介绍
当我们安装完成 Oracle Database 21c 数据库软件后,发现ORACLE_BASE ⽬录中出现了dbs和homes⽬录,其实这是只读Oracle主目录特性(ROOH,Read-Only Oracle Homes)特性所带来的变化。如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [root@lhroracle21c /]# su - oracle Last login: Tue Oct 11 11:23:44 CST 2022 on pts/0 [oracle@lhroracle21c ~]$ cd $ORACLE_BASE [oracle@lhroracle21c oracle]$ pwd /u01/app/oracle [oracle@lhroracle21c oracle]$ ll total 64 drwxr-x--- 1 oracle oinstall 4096 Aug 16 2021 admin drwxr-x--- 3 oracle oinstall 4096 Aug 16 2021 audit drwxr-x--- 5 oracle oinstall 4096 Aug 16 2021 cfgtoollogs drwxr-x--- 1 oracle oinstall 4096 Oct 11 11:23 dbs drwxrwxr-x 1 oracle oinstall 4096 Aug 16 2021 diag drwxr-x--- 1 oracle oinstall 4096 Aug 16 2021 flash_recovery_area drwxr-x--- 1 oracle oinstall 4096 Aug 16 2021 homes drwxr-x--- 1 oracle oinstall 4096 Aug 16 2021 oradata drwxrwxr-x 1 oracle oinstall 4096 Aug 16 2021 product |
只读Oracle主目录特性(ROOH)是在 Oracle Database 18c 中引⼊的,从 Oracle Database 21c 开始,该特性是安装Oracle数据库软件后的唯⼀默认配置。
在只读 Oracle 主目录配置模式下,数据库运⾏时所有需要写⼊的⽂件都会移出ORACLE_HOME,如:实例相关⽂件,⽹络配置⽂件,运⾏时⽣成的⽇志⽂件等。留在ORACLE_HOME ⽬录中的Oracle软件部分在运⾏时是只读的。简单来说,通过只读Oracle主目录的特性,可以将数据库运⾏⽂件和数据库配置⽂件分开,这样我们就可以很轻松的替换数据库运⾏⽂件了。⽐如使⽤“Golden Image”镜像来分发oracle软件,达到快速部署和升级的⽬的。
ROOH特性的收益如下:
• ⽆需延⻓停机时间即可⽆缝修补和更新 Oracle 数据库二进制⽂件。
• 简化修补和⼤规模部署,因为只需更新⼀个映像即可将补丁分发到多台服务器。
• 通过实现安装和配置的分离来简化配置。
原理介绍
在Oracle Database 21c之前,默认的ORACLE_HOME 布局将 ORACLE_HOME、ORACLE_BASE_HOME 和 ORACLE_BASE_CONFIG组合到⼀个位置。从 Oracle Database 21c 开始,唯⼀可⽤的配置是只读 ORACLE_HOME,其中 ORACLE_BASE_HOME 和ORACLE_BASE_CONFIG 与 ORACLE_HOME 分开放置。
这三个变量的所代表的含义为:
• ORACLE_HOME:Oracle数据库软件所在主目录;
• ORACLE_BASE_HOME:特定于⽤户的⽂件,特定于实例的⽂件和⽇志⽂件等,如:network/admin,network/trace,network/log;
• ORACLE_BASE_CONFIG:实例相关配置⽂件所在⽬录,如dbs⽬录;