更新时间:2022-08-12 11:26:34

Oracle 单机/双机数据库状态检查;

在进行  Oracle  数据库备份时,要求数据库实例必须在  OPEN 状态,检查方法为在登录数据库后,运行命令select instance_name,status from v$instance:

如果数据库实例为非  OPEN 状态,请协调用户系统管理员,将数据库实例开启至  OPEN 状态再进行备份,对于正常提供生产业务的数据库来说,数据库肯定在  OPEN 状态,否则无法提供业务。

Oracle RAC 数据库状态检查

在进行  Oracle RAC 数 据库备份时,由于 RAC 数据库存在多个节点数据库实例,需要检查多节点数据库实例的状态,检查方法为在登录数据库后,运行命令如下  select instance_name,status from gv$instance:

如图,显示了多节点实例的状态,若某个节点实例状态未开启,请协调用户系统管理员,将对应节点的数据库实例开启至  OPEN 状态再进行备份。

注意:
A.  若归档日志在节点上,则要求所有节点实例必须开启,否则会有漏备日志的情况,导致备份数据不完整
B.  若归档日志在共享存储上,则其中一个节点实例开启是必要条件,当然所有节点实例开启是最佳情况,可避免其中一个节点备份异常,备份切换到其他节点仍然可以备份成功,避免备份任务偶发性备份失败的场景

归档日志状态检查

Oracle 数据库备份对归档模式有以下要求:
  • 数据库必须开启归档模式。
  • 支持 Oracle 数据库归档日志在闪回区环境下的备份恢复,但因闪回区空间有限,请确保闪回区空间足够大并实时监控闪回区空间利用率。
  • 注意归档路径所在路径要有足够的空间去承载用户的数据库应用。
检测方法及步骤如下:
检测是否开启归档:检查 Oracle 归档模式是否开启,在 sqlplus 登录数据库后,运行命令“archive log list”查看,对于未开启归档模式的数据库,反馈结果为“非归档模式”;对于已经开启归档模式的数据库,显示结果为“存档模式”,同时会显示具体的归档路径:
SQL> archive log list;
数据库日志模式        非归档模式
自动存档              禁用
存档终点              USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列    321
当前日志序列           326
SQL> archive log list;
数据库日志模式        存档模式
自动存档              启用
存档终点              /u01/arch
最早的联机日志序列    321
下一个存档日志序列    326
当前日志序列          326
数据库新建/修改归档路径步骤如下:
当用户未开启归档模式时,需要采用如下的方式开启归档模式:
  1. 创建归档路径,对于Linux环境,在 root 用户,或者 Oracle 数据库安装用户均可:
  2.  重启数据库至 MOUNTED 状态:
      • RAC 数据库:
      • 关闭数据库:srvctl stop database -d
      • 启动数据库至MOUNTED:srvctl start database -d -o mount
      • Oracle单机/双机数据库:
      • 关闭数据库:SQL> shutdown immediate;
      • 启动数据库至MOUNTED:SQL> startup mount;
  3. 开启归档模式
      • 设置归档路径:
                             SQL> alter system set log_archive_dest_1='location=/u01/app/arch' scope =both;
      • 启动归档模式:
                          SQL> alter database archivelog;
  1. 启动数据库:
                           SQL> alter database open;
  1. 查看归档路径是否修改成功:
                           SQL> archive log list;
                           Database log mode              Archive Mode
                           Automatic archival               Enabled
                           Archive destination              /u01/app/arch
                           Oldest online log sequence      321
                           Next log sequence to archive    326
                           Current log sequence           326
  1. 检查是否可以正常归档:
                           SQL> alter system switch logfile;

单用户下多版本数据库配置

非 Windows 环境下,如单用户下存在多个版本不同的数据库且需要进行备份恢复时,则需要在安装目录 /xx/AnyBackupClient/ClientService/user 路径下配置名为“实例+OracleEnv”的文件,文件中配置实例对应的 ORACLE_HOME 与相关环境变量即可,具体配置如下图所示:

Windows 环境下,如单用户下存在多个版本不同的数据库且需要进行备份恢复时,则需要在 oracleEnv 配置文件使用 BackupWinodwsOracleHome 参数配置各实例对应的 ORACLE_HOME 即可,如下图所示: