天天看点

备份oracle_home,如何备份 ORACLE_HOME? (文档 ID 2701462.1)

适用于: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