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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 添加日志文件组与日志文件成员首先确定当前登录的账户的权限,是否包含创建日志文件组或者日志文件成员的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 会自动根据该组已经存在的日志文件成员的大小设置新添加的日志文件成员大小。
注:最最重要的是为什么要添加日志文件组,为什么要添加日志文件成员?
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3月前
|
Java Apache 开发工具
【Azure 事件中心】 org.slf4j.Logger 收集 Event Hub SDK(Java) 输出日志并以文件形式保存
【Azure 事件中心】 org.slf4j.Logger 收集 Event Hub SDK(Java) 输出日志并以文件形式保存
|
9天前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
114 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
9天前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的控制文件与归档日志文件
本文介绍了Oracle数据库中的控制文件和归档日志文件。控制文件记录了数据库的物理结构信息,如数据库名、数据文件和联机日志文件的位置等。为了保护数据库,通常会进行控制文件的多路复用。归档日志文件是联机重做日志文件的副本,用于记录数据库的变更历史。文章还提供了相关SQL语句,帮助查看和设置数据库的日志模式。
【赵渝强老师】Oracle的控制文件与归档日志文件
|
7天前
|
Windows Python
如何反向读取Windows系统日志EVTX文件?
以下是如何反向读取Windows系统日志EVTX文件
16 2
|
9天前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle的参数文件与告警日志文件
本文介绍了Oracle数据库的参数文件和告警日志文件。参数文件分为初始化参数文件(PFile)和服务器端参数文件(SPFile),在数据库启动时读取并分配资源。告警日志文件记录了数据库的重要活动、错误和警告信息,帮助诊断问题。文中还提供了相关视频讲解和示例代码。
|
1月前
|
监控 Linux 应用服务中间件
系统监控:使用日志文件 journalctl的使用
本文介绍了如何使用`journalctl`命令来监控和查看Linux系统的日志文件,包括查看特定行数、过滤日志级别、实时跟踪日志、按时间段查询日志以及日志轮换和压缩的配置。
42 2
系统监控:使用日志文件 journalctl的使用
|
5天前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL的撤销日志文件和错误日志文件
本文介绍了MySQL的物理存储结构,重点讲解了InnoDB存储引擎中的撤销日志文件(undo log)和错误日志文件。从MySQL 8.0开始,默认生成两个10MB的undo表空间文件,并支持动态扩容和收缩。错误日志文件记录了MySQL启动、运行、关闭过程中的问题,通过示例展示了如何查看和使用这些日志。
|
1月前
|
SQL 数据库
为什么 SQL 日志文件很大,我应该如何处理?
为什么 SQL 日志文件很大,我应该如何处理?
|
1月前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
38 1
|
1月前
|
存储 监控 固态存储
如何监控和优化 WAL 日志文件的存储空间使用?
如何监控和优化 WAL 日志文件的存储空间使用?