如何配置Oracle 18c只读Oracle Home

发布于:2021-02-05 14:30:20

0

86

0

Oracle Oracle 18c Oracle Home 数据库

从$ ORACLE_HOME / bin目录执行roohctl -enable命令

[oracle@host02 dbhome_1]$ pwd
/u02/app/oracle/product/18.0.0/dbhome_1

[oracle@host02 dbhome_1]$ cd bin

[oracle@host02 bin]$ ./roohctl -enable
Enabling Read-Only Oracle home.
Update orabasetab file to enable Read-Only Oracle home.
Orabasetab file has been updated successfully.
Create bootstrap directories for Read-Only Oracle home.
Bootstrap directories have been created successfully.
Bootstrap files have been processed successfully.
Read-Only Oracle home has been enabled successfully.
Check the log file /u02/app/oracle/cfgtoollogs/roohctl/roohctl-181102AM091318.log.

验证Oracle Home是否为只读的

如果orabasehome命令的输出与$Oracleu Home相同,则表示Oracle Home配置为(传统的)读/写模式。

但是,如果输出显示路径ORACLE_BASE / homes / HOME_NAME,则将Oracle主目录配置为只读模式。

[oracle@host02 bin]$ export ORACLE_HOME=/u02/app/oracle/product/18.0.0/dbhome_1
 
[oracle@host02 bin]$ ./orabasehome
 
/u02/app/oracle/homes/OraDB18Home1

ORACLE_BASE_CONFIG

ORACLE_BASE_CONFIG包含配置文件,例如数据库init.ora和密码文件。在读/写Oracle Home中,ORACLE_BASE_CONFIG与ORACLE_HOME相同。

在只读Oracle Home中,ORACLE_BASE_CONFIG是ORACLE_BASE。在$ ORACLE_BASE下,每个$ ORACLE_SID现在都有不同的目录。因此,例如,我们将拥有$ ORACLE_BASE / $ ORACLE_SID / dbs目录–与早期版本一样,dbs目录不在$ ORACLE_HOME下。

运行命令orabaseconfig以显示ORACLE_BASE_CONFIG值。

[oracle@host02 bin]$ ./orabaseconfig
/u02/app/oracle

orabasetab文件

orabasetab文件位于ORACLE_HOME / install /目录下,可用于确定是否已将ORACLE_HOME配置为只读或读/写模式。

它还定义了Oracle主目录的ORACLE_BASE和HOME_NAME。HOME_NAME是ORACLE_HOME的内部名称。

第一个字段是$ORACLE_HOME值。

第二个字段是为当前ORACLE_HOME定义的$ORACLE_BASE。

第三个字段包含HOME_NAME,该HOME_NAME用于在只读ORACLE_HOME中构造ORACLE_BASE_HOME路径。HOME_NAME是为ORACLE_HOME定义的内部名称。

注意:在读/写ORACLE_HOME中,ORACLE_HOME,ORACLE_BASE_HOME和ORACLE_BASE_CONFIG都将具有相同的值。

第四个字段在读/写ORACLE_HOME中显示值N,在只读ORACLE_HOME中显示值Y。

[oracle@host02 install]$ cat orabasetab
#orabasetab file is used to track Oracle Home associated with Oracle Base
/u02/app/oracle/product/18.0.0/dbhome_1:/u02/app/oracle:OraDB18Home1:Y:

将其与读/写Oracle Home进行比较。

[oracle@host01 install]$ cat orabasetab
#orabasetab file is used to track Oracle Home associated with Oracle Base
/opt/oracle/product/18c/dbhome_1:/opt/oracle:OraHome1:N:

ORACLE_BASE_HOME

诸如$ ORACLE_HOME / network / admin和$ ORACLE_HOME / dbs之类的读写目录现在位于ORACLE_BASE_HOME目录结构中的ORACLE_HOME外部

[oracle@host02 oracle]$ cd homes/

[oracle@host02 homes]$ ls -l
total 4
drwxr-x---. 8 oracle oinstall 4096 Nov  2 09:54 OraDB18Home1

[oracle@host02 homes]$ cd OraDB18Home1/

[oracle@host02 OraDB18Home1]$ ls -l
total 24
drwxr-x---. 3 oracle oinstall 4096 Nov  2 09:13 assistants
drwxr-x---. 2 oracle oinstall 4096 Nov  2 10:41 dbs
drwxr-x---. 2 oracle oinstall 4096 Nov  2 09:13 install
drwxr-x--T. 4 oracle oinstall 4096 Nov  2 09:55 log
drwxr-x---. 5 oracle oinstall 4096 Nov  2 09:13 network
drwxr-x---. 4 oracle oinstall 4096 Nov  2 09:13 rdbms

[oracle@host02 OraDB18Home1]$ ls -l ./network/admin
total 12
-rw-r-----. 1 oracle oinstall 344 Nov  2 09:54 listener.ora
-rw-r-----. 1 oracle oinstall 197 Nov  2 09:54 sqlnet.ora
-rw-r-----. 1 oracle oinstall 433 Nov  2 10:13 tnsnames.ora

[oracle@host02 OraDB18Home1]$ cd $ORACLE_BASE/dbs

[oracle@host02 dbs]$ ls -l
total 18308
-rw-rw----. 1 oracle oinstall     1544 Nov  2 10:31 hc_CDB2.dat
-rw-r-----. 1 oracle oinstall       44 Nov  2 10:31 initCDB2.ora
-rw-r-----. 1 oracle oinstall       24 Nov  2 09:55 lkCDB2
-rw-r-----. 1 oracle oinstall     3584 Nov  2 10:13 orapwCDB2
-rw-r-----. 1 oracle oinstall 18726912 Nov  2 10:41 snapcf_CDB2.f
-rw-r-----. 1 oracle oinstall     3584 Nov  2 10:33 spfileCDB2.ora