生产环境Oracle RAC环境下正确备份ORACLE_HOME
【业务场景】
-
数据库升级时,需要备份它;
-
数据库打补丁时,需要备份它;
【可能出现的问题】
备份后,文件的时候权限和属组变了。
例如,文件原来是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
结论:权限没变。
浙公网安备 33010602011771号