一般我们通常说的Oracle 数据库包含2个概念:oracle 软件和实例。 Oracle 软件指的就是ORACLE_HOME 这个目录对应的文件。 实例对应的是数据库文件。
在安装补丁集或补丁之前强烈推荐备份 Oracle_Home binaries 和 Central Inventory 。 当然这里仅仅说的是备份ORACLE_HOME软件,不包括备份数据库。 数据库实例需要使用RMAN 进行备份。
对于ORACLE_HOME的备份,可以是冷备也可以是热备。 在Oracle进程活跃状态下执行备份仍然是有效的,因为任何加载static binaries 或者libraries的进程都不应当持有write lock。所以可以不关闭源库上的任何数据库,监听进程。
备份必须由Oracle安装用户或者root用户执行。目的是保证文件的属主和权限正确。
使用tar命令备份步骤:
- (建议而非必须) 关闭数据库,监听或者任何其它关联到你在备份的ORACLE_HOME的进程
- cd 到ORACLE_HOME所在的目录。例如:
cd /u01/app/oracle/product/11.2 - 备份 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步骤:
- (还原的时候这个步骤是必须的) 关闭数据库,监听或者任何其它关联到你在还原的ORACLE_HOME的进程
- 进入 ORACLE_HOME 所在的目录。例如:
cd /u01/app/oracle/product/11.2 - 重命名或者移动 ORACLE_HOME 例如:
mv db1 db1_bkup - 还原ORACLE_HOME 例如:
tar -pxvf /u01/app/oracle/backup/oracle_home_bkup.tar
这里要注意2点:
- 在备份前确保有足够的磁盘空间。
- 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
版权声明:本文为博主原创文章,未经博主允许不得转载。