当前位置: 首页 > 科技观察

Oracle数据库各版本单机及rac启用归档方法汇总

时间:2023-03-21 01:09:05 科技观察

Oracle数据库单机版和rac版归档方法总结在日志中做。一般的数据库至少要有两个联机重做日志组。如果数据库是非归档模式,切换时在线日志会被丢弃,而在归档模式下,当发生日志切换时,切换后的日志会被归档。归档模式和非归档模式的优缺点归档模式的优点可以完全或不完全恢复:由于对数据库所做的所有更改都记录在日志文件中,如果由于硬盘故障导致数据文件丢失等.,您可以使用物理备份和归档日志完全恢复数据库而不会丢失任何数据。可以进行在线热备份:所谓在线热备份就是在数据库运行的时候对数据库进行备份。备份期间用户对数据库的使用不会受到任何影响。可以实现DataGuard:可以部署1个或多个备库,最大限度的提供灾难保护。Stream可实现:利用Stream技术可以实现最简单的单向复制到复杂的双向复制和多向复制,提供更灵活的数据冗余解决方案。表空间可以脱机:您可以备份数据库的一部分,例如重要的表空间。增量备份:只需要做一次全量备份,以后只备份变化的数据,可以提高备份速度。更多优化选项:随着Oracle版本的升级,在线热备中新的优化策略不断出现。归档模式的缺点需要更多的磁盘空间来保存归档日志;DBA将有更多的管理工作,包括维护归档空间和备份归档日志。非归档模式的缺点只有离线备份,即所谓的“冷备份”,对应在线备份的“热备份”。备份时必须完全关闭数据库,备份过程中数据库不可用。必须备份整个数据库,而不仅仅是数据库的一部分。不可能进行增量备份,这对于太字节数据库(VLDB)来说是一个非常大的劣势。它只能部分恢复。如果数据文件丢失需要恢复,DBA只能恢复上次的全备份,之后所有的数据库改动都将丢失。非归档模式的优点减少了DBA的管理工作,因为非归档模式不产生归档日志,所以DBA不需要考虑归档的管理;性能将得到改善。非归档模式不生成归档日志。从数据安全的角度来看,这种模式的缺点是主要的,优点可以忽略不计。1、为单实例启用归档1.1oracle9i为oracle9i启用日志归档的方法如下:ALTERSYSTEMSETlog_archive_start=TRUESCOPE=spfile;ALTERSYSTEMSETlog_archive_dest_1='location=/u01/oradata/MYSID/archive/'SCOPE=spfile;ALTERSYSTEMSETlog_archive_format='arch_%t_%s.arc'SCOPE=spfile;SHUTDOWNIMMEDIATE;STARTUPMOUNT;ARCHIVELOGSTART;ALTERDATABASEARCHIVELOG;ALTERDATABASEOPEN;1.2oracle10g及更高版本中的log_archive_start参数和归档日志启动命令已过时。方法如下:ALTERSYSTEMSETlog_archive_dest_1='location=/u01/oradata/MYSID/archive/'SCOPE=spfile;ALTERSYSTEMSETlog_archive_format='arch_%t_%s_%r.arc'SCOPE=spfile;SHUTDOWNIMMEDIATE;STARTUPMOUNT;ALTERDATABASEARCHIVELOG;ALENDERDATASEO;RAC归档由于ALTERDATABASEARCHIVELOG只能在数据库以独占模式挂载时执行该命令。这意味着在执行此操作之前必须停止整个集群数据库。2.1oracle9i1,设置相关归档参数ALTERSYSTEMSETlog_archive_start=TRUEscope=spfile;ALTERSYSTEMSETlog_archive_dest_1='location=/u01/oradata/MYDB/archive/'SCOPE=spfile;ALTERSYSTEMSETlog_archive_format='arch_%t_%s.arc'SCOPE=spfile;2.由于我们需要以独占模式挂载数据库,所以我们还必须更改以下参数ALTERSYSTEMSETcluster_database=FALSESCOPE=spfile;3.停止集群$srvctlstopdatabase-dMYDB4.集群关闭后,我们可以连接到单个节点并发出以下命令。STARTUPMOUNT;ARCHIVELOGSTART;ALTERDATABASEARCHIVELOG;ALTERSYSTEMSETcluster_database=TRUESCOPE=spfile;SHUTDOWNIMMEDIATE;请注意,CLUSTER_DATABASE参数已重置为其原始值。由于数据文件和spfile在所有实例之间共享,因此只需从单个节点执行此操作。5.再次启动集群数据库$srvctlstartdatabase-dMYDB当前设置将所有归档日志放在同一个目录中。这是可以接受的,因为线程(%t)是存档格式的一部分,可以防止实例之间的任何名称冲突。如果它需要位于特定于节点的位置,LOG_ARCHIVE_DEST_1可以在每个实例的关联SID前加上前缀。2.2oracle10gR1如果没有设置LOG_ARCHIVE_DEST_n参数,archivedredologs会放在FRA中。如果您想手动指定其位置和文件名格式,您可以按照以下步骤操作。1.设置归档相关参数ALTERSYSTEMSETlog_archive_dest_1='location=/u01/oradata/MYDB/archive/'SCOPE=spfile;ALTERSYSTEMSETlog_archive_format='arch_%t_%s_%r.arc'SCOPE=spfile;2.由于我们需要使用独占模式mount数据库,所以我们还要更改以下参数。ALTERSYSTEMSETcluster_database=FALSESCOPE=spfile;3.集群关闭后,我们可以连接到单个节点并发出以下命令。STARTUPMOUNT;ALTERDATABASEARCHIVELOG;ALTERSYSTEMSETcluster_database=TRUESCOPE=spfile;SHUTDOWNIMMEDIATE;请注意,CLUSTER_DATABASE参数已重置为其原始值。由于数据文件和spfile在所有实例之间共享,因此只需从单个节点执行此操作。4、启动集群数据库$srvctlstartdatabase-dMYDB2.3oracle10gR2从10gR2开始,这个过程中不再需要重新设置CLUSTER_DATABASE参数。如果未设置LOG_ARCHIVE_DEST_n参数,归档重做日志将放在FRA中。如果您想手动指定其位置和文件名格式,您可以按照以下步骤操作。1.设置归档相关参数ALTERSYSTEMSETlog_archive_dest_1='location=/u01/oradata/MYDB/archive/'SCOPE=spfile;ALTERSYSTEMSETlog_archive_format='arch_%t_%s_%r.arc'SCOPE=spfile;2、在命令行中,我们可以使用以下命令以负载模式停止和启动整个集群数据库。$srvctlstopdatabase-dMYDB$srvctlstartdatabase-dMYDB-omount一旦数据库处于挂载模式,就可以使用命令sqlplus/assysdbaALTERDATABASEARCHIVELOG;EXIT;启动存档;由于数据文件和spfile在所有实例之间共享,因此只需从单个节点执行此操作。3、停止并重启集群数据库$srvctlstopdatabase-dMYDB$srvctlstartdatabase-dMYDB2.4oracle11g的配置方法同oracle10gR22.5oracle12c的配置方法同oracle10gR2。一种在工作中归档以备将来参考的方法。