Oracle Rac 开启归档日志并修改归档路径

本文主要介绍了RAC数据库开启归档日志和修改归档路径的操作。开启归档日志包括查看状态、修改参数和开启归档等步骤;修改归档路径则需先在asm目录中查看归档目录,再进行路径修改,最后重启数据库并查看状态和文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 开启归档日志

1.1 查看状态

  • 查看归档状态
SQL> archive log list;
Database log mode           No Archive Mode
Automatic archival           Disabled
Archive destination           USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     2
Current log sequence           3
  • 查看节点实例状态
 SQL> select instance_name,host_name,status from v$instance;
 
INSTANCE_NAME     HOST_NAME            STATUS
---------------- ------------------------------ ------------
oradb2              rac2                OPEN
oradb1              rac1                OPEN
  • 查看数据库集群参数
SQL> show parameter cluster;

NAME                           TYPE         VALUE
------------------------------------ ----------- ------------------------------
cluster_database                boolean     TRUE
cluster_database_instances      integer     2
cluster_interconnects           string

1.2 修改参数

  • 备份参数文件
SQL> create pfile='/tmp/racdb-bak.ora' from spfile;
File created.
  • 修改cluster_database参数
    将rac设置成单实例模式
SQL> alter system set cluster_database=false scope=spfile sid='*';
System altered.

1.3 开启归档

  • 切换到grid用户,两节点停止数据库,再从节点1启动到mount状态
[grid@rac1 ~]$ srvctl stop database -d oradb
[grid@rac1 ~]$ srvctl start instance -d oradb -i oradb1 -o mount
  • 切换到oracle用户,查询节点1数据库实例状态
SQL> select instance_name,status from v$instance;
INSTANCE_NAME     STATUS
---------------- ------------
oradb1         MOUNTED
  • 修改数据库成归档模式
SQL> alter database archivelog;
Database altered.
  • 将集群参数修改回去
SQL> alter system set cluster_database=true scope=spfile sid='*';
System altered.
  • 关闭节点1数据库
SQL> shutdown immediate;
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
  • 切换到grid用户,再启动两节点数据库
[grid@rac1 ~]$ srvctl start database -d oradb
[grid@rac1 ~]$ srvctl status database -d oradb
Instance oradb1 is running on node rac1
Instance oradb2 is running on node rac2
  • 切换到oracle用户下,查看归档状态
SQL> archive log list;
Database log mode           Archive Mode
Automatic archival           Enabled
Archive destination           USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     29
Next log sequence to archive   30
Current log sequence           30

SQL> select name,log_mode from v$database;
NAME      LOG_MODE
--------- ------------
ORADB      ARCHIVELOG

2 修改归档路径

2.1 在asm目录中查看归档目录

[grid@rac1 ~]$ asmcmd
ASMCMD> ls
DATA/
FRA/
OCR/
ASMCMD> cd fra  
ASMCMD> ls
ORADB/
ASMCMD> cd oradb
ASMCMD> ls
ARCHIVELOG/
CONTROLFILE/
ONLINELOG/
ASMCMD> cd archivelog
ASMCMD> ls
2019_05_28/
ASMCMD> cd 2019_05_28
ASMCMD> ls
thread_2_seq_3.261.1009460089
ASMCMD> pwd
+fra/oradb/archivelog/2019_05_28

2.2 修改归档路径

  • 修改归档路径
SQL> alter system set log_archive_dest_1='location=+fra/oradb/archivelog/' scope=spfile sid='*';
System altered.
  • 重启两节点数据库
[grid@rac1 ~]$ srvctl stop database -d oradb[grid@rac1 ~]$ srvctl start database -d oradb
  • 重新查看归档状态
SQL> archive log list;
Database log mode           Archive Mode
Automatic archival           Enabled
Archive destination           +FRA/oradb/archivelog/
Oldest online log sequence     29
Next log sequence to archive   30
Current log sequence           30
  • 再次查看归档目录下的文件
ASMCMD> ls
thread_1_seq_30.262.1009460447
thread_2_seq_3.261.1009460089
thread_2_seq_4.263.1009460489
thread_2_seq_5.264.1009460491
### 如何处理Oracle 19c RAC归档日志空间不足问题 #### 归档日志概述 在Oracle数据库环境中,归档日志记录了所有的事务更改。当这些日志填满分配的空间时,可能会导致性能下降甚至服务中断。对于Oracle 19c Real Application Clusters (RAC),由于其分布式架构特性,妥善管理和监控归档日志尤为重要。 #### 解决方案 #### 增加存储容量 如果当前磁盘分区不足以容纳产生的归档日志,则考虑扩展现有卷或添加新的磁盘设备来增加可用空间。这可以通过操作系统级别的操作完成,在不影响业务连续性的前提下执行此任务[^1]。 #### 调整归档日志位置 通过修改参数`LOG_ARCHIVE_DEST_n`重新定义归档目的地到具有更大剩余空间的不同文件系统上。该方法允许快速缓解紧急情况而不必立即改变硬件配置[^2]。 ```sql ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/new/path/to/archivelog' SCOPE=BOTH; ``` #### 自动删除旧的日志条目 启用自动清理功能可以定期移除过期的归档日志,从而释放宝贵的磁盘资源。设置合理的保留期限有助于平衡数据安全性和效率需求: ```sql -- 设置归档日志保留策略为7天 ARCHIVE_LOG DELETE ALL COMPLETED BEFORE 'SYSDATE-7'; ``` #### 使用闪回恢复区(Flash Recovery Area, FRA) FRA是一个专门用于存放备份集、映像副本以及归档重做日志等重要组件的地方。合理规划利用好这个区域能够有效减少单独管理多个归档路径带来的复杂度。确保已正确设置了环境变量指向有效的FRA路径[^4]: ```bash export ORACLE_FRA="/u01/app/oracle/fast_recovery_area" ``` #### 实施压缩技术 采用高级压缩算法对归档日志进行压缩可以在不损失任何信息的情况下显著减小占用量。这项工作通常借助第三方工具实现,但在某些情况下也可能直接由数据库本身支持。 #### 日常维护建议 为了预防未来再次遇到相同的问题,应建立一套完善的监测机制,及时预警潜在风险;同时制定周期性的整理计划,保持良好的运行状态。此外,还应该熟悉掌握必要的应急响应措施,以便迅速应对突发状况[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值