添加日志文件组与日志文件成员

简介: 添加日志文件组与日志文件成员首先确定当前登录的账户的权限,是否包含创建日志文件组或者日志文件成员的alter database系统权限。SQL> select privilege from user_sys_privs  2  where privilege='ALTER DATABASE';PRIVILEGE----------------------------------------ALTER DATABASE在添加日志文件组或者日志文件成员的时候先查看下数据库兼容参数。
添加日志文件组与日志文件成员
首先确定当前登录的账户的权限,是否包含创建日志文件组或者日志文件成员的alter database
系统权限。
SQL> select privilege from user_sys_privs
  2  where privilege='ALTER DATABASE';
PRIVILEGE
----------------------------------------
ALTER DATABASE
在添加日志文件组或者日志文件成员的时候先查看下数据库兼容参数。
SQL> show parameter compatible
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------
compatible                           string      11.2.0.0.0
compatible >=10.2.0 添加日志文件组或者日志文件成员,就不需要考虑是否会超过maxlogfiles、
maxlogmembers 的上限值限制了。
确定系统现有的日志文件组数与组中的日志文件成员数。
SQL> select group#,member from V$logfile;
    GROUP# MEMBER
---------- ----------------------------------------
         1 /opt/oracle11g/oradata/oracl/redo01.log
         2 /opt/oracle11g/oradata/oracl/redo02.log
         3 /opt/oracle11g/oradata/oracl/redo03.log
系统中共有3个日志文件组,每个组中各有一个日志文件成员。
往系统中添加一个日志文件组,组中日志文件成员数量是2.
SQL> alter database add logfile group 4 
  2  ('/opt/oracle11g/oradata/oracl/redo401.log','/opt/oracle11g/oradata/oracl/redo402.log')
  3  size 20M;
Database altered.
注:在实际的系统中上面的语句是明显不合理的,因为把两个日志文件成员放置在相同磁盘中。为了日志文件组中日志文件的可用性,应该把不同的日志文件成员放置在不同的磁盘上面,以免出现日志切换到该组的时候因介质故障导致日志文件不能访问,从而数据库宕机。查看添加以后的日志信息。另外应该保持系统中所有的日志文件的大小相同,这里的20M和系统以后存在的日志文件的大小50M不相同。
SQL> select group#,member from V$logfile;
    GROUP# MEMBER
---------- ----------------------------------------
         1 /opt/oracle11g/oradata/oracl/redo01.log
         2 /opt/oracle11g/oradata/oracl/redo02.log
         3 /opt/oracle11g/oradata/oracl/redo03.log
         4 /opt/oracle11g/oradata/oracl/redo401.log
         4 /opt/oracle11g/oradata/oracl/redo402.log
SQL> select group#,blocksize,archived,members,status
  2  from V$log;
    GROUP#  BLOCKSIZE ARC    MEMBERS STATUS
---------- ---------- --- ---------- ----------------
         1        512 NO           1 INACTIVE
         2        512 NO           1 INACTIVE
         3        512 NO           1 CURRENT
         4        512 YES          2 UNUSED
新添加的日志文件组一般是unused状态的,表示该日志文件组还没有别写入过。不过也可能是其他状态,比如添加完该日志文件组不久就发生了日志却换,则状态应该是current。另外我们在创建日志文件的时候是没有指定blocksize,所有会使用默认的磁盘扇区的大小,这里是512 bytes。磁盘扇区的大小
不是4KB,指定4KB,1kB为block的大小也是没用的。
SQL> alter database add logfile group 5 
  2  ('/opt/oracle11g/oradata/oracl/redo501.log','/opt/oracle11g/oradata/oracl/redo502.log')
  3  size 20M blocksize 4096;    
alter database add logfile group 5
*
ERROR at line 1:
ORA-01378: The logical block size (4096) of file /opt/oracle11g/oradata/oracl/redo501.log 
is not compatible with the disk sector size (media sector size is 512 and host sector size is 512)
错误信息已经说明了一切。如果磁盘的扇区是4KB,则可以选择4KB,1KB,512bytes 中的一个值为日志文件的block大小(database version 11.2.0 以后)。
添加日志组日志文件成员:
添加日志组日志文件成员适用于日志组已经存在,但是其中的一个或者多个日志文件成员因为某些原因被删除了。下面往group 2中添加一个日志文件成员。
SQL> alter database add logfile member
  2  '/opt/oracle11g/oradata/oracl/redo.log'
  3  to group 2;
Database altered.
添加日志文件不需要指定大小。oracle 会自动根据该组已经存在的日志文件成员的大小设置新添加的日志文件成员大小。
注:最最重要的是为什么要添加日志文件组,为什么要添加日志文件成员?
相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
10月前
|
存储 监控 算法
防止员工泄密软件中文件访问日志管理的 Go 语言 B + 树算法
B+树凭借高效范围查询与稳定插入删除性能,为防止员工泄密软件提供高响应、可追溯的日志管理方案,显著提升海量文件操作日志的存储与检索效率。
292 2
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
651 9
|
监控 容灾 算法
阿里云 SLS 多云日志接入最佳实践:链路、成本与高可用性优化
本文探讨了如何高效、经济且可靠地将海外应用与基础设施日志统一采集至阿里云日志服务(SLS),解决全球化业务扩展中的关键挑战。重点介绍了高性能日志采集Agent(iLogtail/LoongCollector)在海外场景的应用,推荐使用LoongCollector以获得更优的稳定性和网络容错能力。同时分析了多种网络接入方案,包括公网直连、全球加速优化、阿里云内网及专线/CEN/VPN接入等,并提供了成本优化策略和多目标发送配置指导,帮助企业构建稳定、低成本、高可用的全球日志系统。
1436 55
|
存储 缓存 关系型数据库
图解MySQL【日志】——Redo Log
Redo Log(重做日志)是数据库中用于记录数据页修改的物理日志,确保事务的持久性和一致性。其主要作用包括崩溃恢复、提高性能和保证事务一致性。Redo Log 通过先写日志的方式,在内存中缓存修改操作,并在适当时候刷入磁盘,减少随机写入带来的性能损耗。WAL(Write-Ahead Logging)技术的核心思想是先将修改操作记录到日志文件中,再择机写入磁盘,从而实现高效且安全的数据持久化。Redo Log 的持久化过程涉及 Redo Log Buffer 和不同刷盘时机的控制参数(如 `innodb_flush_log_at_trx_commit`),以平衡性能与数据安全性。
998 5
图解MySQL【日志】——Redo Log
|
缓存 Java 编译器
|
监控 Java 应用服务中间件
Tomcat log日志解析
理解和解析Tomcat日志文件对于诊断和解决Web应用中的问题至关重要。通过分析 `catalina.out`、`localhost.log`、`localhost_access_log.*.txt`、`manager.log`和 `host-manager.log`等日志文件,可以快速定位和解决问题,确保Tomcat服务器的稳定运行。掌握这些日志解析技巧,可以显著提高运维和开发效率。
1834 13
|
运维 应用服务中间件 nginx
docker运维查看指定应用log文件位置和名称
通过本文的方法,您可以更高效地管理和查看Docker容器中的日志文件,确保应用运行状态可控和可监测。
2815 28
|
SQL 关系型数据库 MySQL
MySQL事务日志-Undo Log工作原理分析
事务的持久性是交由Redo Log来保证,原子性则是交由Undo Log来保证。如果事务中的SQL执行到一半出现错误,需要把前面已经执行过的SQL撤销以达到原子性的目的,这个过程也叫做"回滚",所以Undo Log也叫回滚日志。
1013 7
MySQL事务日志-Undo Log工作原理分析