在进行Oracle物理备份前,您需要参考本文完成准备工作,包含开启Oracle数据库的归档模式、获取Oracle SID及获取数据库程序目录。

开启归档模式

DBS通过Oracle的RMAN工具进行数据库备份。Oracle数据库的归档模式默认为关闭状态,需将其开启才能进行备份。
  1. 以sysdba身份登录Oracle数据库。
  2. 通过SQL命令ARCHIVE LOG LIST查询当前数据库的归档状态,返回示例如下。
    Database log mode              No Archive Mode  #非存档模式
    Automatic archival             Disabled
    Archive destination            USE_DB_RECOVERY_FILE_DEST  
    Oldest online log sequence     1    
    Current log sequence           2  
    说明Database log mode参数返回Archive Mode #存档模式,则表示当前已开启归档模式,开启归档模式步骤结束。
  3. 通过SQL命令SHUTDOWN IMMEDIATE关闭数据库,因为无法在OPEN状态下开启归档模式。
    警告 请管理员在非业务高峰时期操作。
  4. 通过SQL命令STARTUP MOUNT启动数据库至MOUNT状态。
  5. 通过SQL命令ALTER DATABASE ARCHIVELOG启动归档模式。
  6. 再次通过SQL命令ARCHIVE LOG LIST查询归档状态,返回示例如下。
    Databaselog mode             Archive Mode #存档模式
    Automatic archival           Enabled 
    Archive destination          USE_DB_RECOVERY_FILE_DEST 
    Oldest online log sequence  1
    Next log sequence to archive 2 
    Currentlog sequence         2
    说明 开启后,Oracle默认的日志归档路径为闪回恢复区($ORACLE_BASE/fast_recovery_area),该目录默认仅有4 GB的空间,同时也是备份文件和闪回日志的默认路径。为避免该磁盘空间不足导致数据库服务异常,您可按需调整该目录的空间大小或修改日志归档路径。
  7. 通过SQL命令ALTER DATABASE OPEN启动数据库。

获取Oracle SID

  • Linux
    执行如下命令:
    ps -ef | grep ora_pmon_ | grep -v grep | awk -F "ora_pmon_" '{print "oracle sid: "$NF }' | grep -v print
    如下返回示例表示Oracle SID为orcl
    oracle sid: orcl
  • Windows:
    在CMD(Command,命令行)中执行如下命令:
    sc query type=service | findstr SERVICE_NAME | findstr OracleService
    如下返回示例表示Oracle SID为orcl
    SERVICE_NAME: OracleServiceORCL

获取数据库程序目录

数据库程序目录即为ORACLE_HOME地址。
  1. 在命令行通过su - oracle命令登录Oracle数据库。
  2. 在Oracle数据库中通过SQL命令echo ORACLE_HOME查看ORACLE_HOME地址。
    如下返回示例表示ORACLE_HOME地址为/opt/oracle/product/19c/dbhome_1
    ====================
    /opt/oracle/product/19c/dbhome_1
    ====================