适用于:Oracle Database Backup Service - 版本 N/A 和更高版本
Oracle Database - Enterprise Edition - 版本 9.2.0.1 和更高版本
Oracle Database Cloud Exadata Service - 版本 N/A 和更高版本
Oracle Database Exadata Express Cloud Service - 版本 N/A 和更高版本
Oracle Database Cloud Service - 版本 N/A 和更高版本
Generic UNIX
Generic Linux
目标
如何备份 Oracle Home?这篇文档只适用于备份ORACLE_HOME软件,不包括备份数据库。
解决方案
可以使用任何喜欢的方式备份 Oracle home 。你可以使用任何工具来压缩Oracle Home,比如zip,tar,cpio。
强烈推荐在安装补丁集或补丁之前备份 Oracle_Home binaries 和 Central Inventory 。这应该作为标准备份计划中的一部分。
同样,建议关闭源库上的任何数据库,监听进程,从而可以对Oracle Home软件进行冷备份,这并非必须。 然而, 如果你是在安装补丁或者补丁集,Readme中的步骤会要求关闭,这种情况下,建议在计划维护窗口内执行ORACLE_HOME冷备份。在Oracle进程活跃状态下执行备份仍然是有效的,因为任何加载static binaries 或者libraries的进程都不应当持有write lock。重申:这篇文档仅仅讨论备份ORACLE_HOME软件而不是数据库。
备份必须由Oracle安装用户或者root用户执行。目的是保证文件的属主和权限正确。
如下是使用tar命令的例子。
1. (建议而非必须) 关闭数据库,监听或者任何其它关联到你在备份的ORACLE_HOME的进程
2. cd 到ORACLE_HOME所在的目录。例如:
cd /u01/app/oracle/product/11.2
3. 备份 ORACLE_HOME 。例如:
tar -pcvf /u01/app/oracle/backup/oracle_home_bkup.tar db1
在上述命令中, ORACLE_HOME 是 /u01/app/oracle/product/11.2/db1 而备份目录是 /u01/app/oracle/backup/
如下是一个还原ORACLE_HOME的例子:
1. (还原的时候这个步骤是必须的)关闭数据库,监听或者任何其它关联到你在还原的ORACLE_HOME的进程
2. 进入 ORACLE_HOME 所在的目录。例如:
cd /u01/app/oracle/product/11.2
3. 重命名或者移动 ORACLE_HOME 例如:
mv db1 db1_bkup
3. 还原ORACLE_HOME 例如:
tar -pxvf /u01/app/oracle/backup/oracle_home_bkup.tar
在备份前确保有足够的磁盘空间。
Oracle_Home 所注册的Central Inventory同样应该作为备份计划的一部分,与ORACLE_HOME同时备份,从而保证一致性。
Central Inventory 包含着Oracle_Home在一台主机上的安装信息。参考如下文档获得更多信息:
FAQs on Central Inventory and Oracle Home Inventory (Local Inventory) in Oracle RDBMS
取决于不同平台,查看如下文件来确定Central Inventory (oraInventory)的位置:
/var/opt/oracle/oraInst.loc
或者
/etc/oraInst.loc
oraInst.loc文件的内容类似于如下例子:
inventory_loc=/oracle/product/oraInventory
inst_group=dba