生产环境Oracle RAC环境下正确备份ORACLE_HOME

【业务场景】

  1. 数据库升级时,需要备份它;

  2. 数据库打补丁时,需要备份它;

【可能出现的问题】

备份后,文件的时候权限和属组变了。

例如,文件原来是oracle:oinstall 变成了root:root,那么Oracle就无法正常运行了。

【正确步骤】

关键点:

1)停止CRS和DB,使用ROOT用户备份和还原;

2)tar 参数-p,即带权限备份和解压。

原环境19.11 RAC

- 备份ORACLE_HOME

mkdir -p /oracle/software/home_bak

chmod 777 /oracle/software/home_bak



source /home/oracle/.bash_profile

echo $ORACLE_HOME

tar -zcvpf /oracle/software/home_bak/oracle_home_`date +%Y%m%d`.tar.gz $ORACLE_HOME

- 备份GI_HOME

source /home/grid/.bash_profile

echo $ORACLE_HOME

tar -zcvpf /oracle/software/home_bak/grid_home_`date +%Y%m%d`.tar.gz $ORACLE_HOME

- 备份oraInventory

tar -zcvpf /oracle/software/home_bak/orainv_`date +%Y%m%d`.tar.gz /oracle/app/oraInventory

注意:要保证解压的位置空间比GI_HOME、ORACLE_HOME的总大小大。

--19.11 ORACLE_HOME大小

[root@weerp1:/oracle/software/home_bak]$du -sh /oracle/app/19c/grid

11G /oracle/app/19c/grid

[root@weerp1:/oracle/software/home_bak]$du -sh /oracle/app/oracle/product/19c/db_1/

9.3G /oracle/app/oracle/product/19c/db_1/

解压后,约压缩了一半,但是备份过程中,刚开始是1:1,后来才减少的。

[root@weerp1:/oracle/software/home_bak]$du -sh *

5.0G grid_home_20230307.tar.gz

4.1G oracle_home_20230307.tar.gz

2.1M orainv_20230307.tar.gz

- 解压GI_HOME

source /home/grid/.bash_profile

echo $ORACLE_HOME

--没有MV直接覆盖了

mv /oracle/app/19c/grid /oracle/app/19c/grid_19.11

- 注意是切换到/目录

cd /

tar -xvpf /oracle/software/home_bak/grid_home_20230307.tar.gz 

结论:权限没变。

- 解压ORACLE_HOME

source /home/oracle/.bash_profile

echo $ORACLE_HOME

mv /oracle/app/oracle/product/19c/db_1 /oracle/app/oracle/product/19c/db_1_19.11

cd /

tar -xvpf /oracle/software/home_bak/oracle_home_20230307.tar.gz

结论:权限没变。

- 解压oraInventory

mv /oracle/app/oraInventory /oracle/app/oraInventory_19.11

cd /

tar -xvpf /oracle/software/home_bak/orainv_20230307.tar.gz 

结论:权限没变。

posted @ 2023-07-28 14:42  寻梦99  阅读(166)  评论(0)    收藏  举报