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

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

首先确定当前登录的账户的权限,是否包含创建日志文件组或者日志文件成员的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 会自动根据该组已经存在的日志文件成员的大小设置新添加的日志文件成员大小。

注:最最重要的是为什么要添加日志文件组,为什么要添加日志文件成员?

时间: 2024-10-25 03:34:39

添加日志文件组与日志文件成员的相关文章

SQL SERVER将数据移到另一个文件组之后清空文件组并删除文件组

每个物理文件(数据文件)对应一个文件组的情况(一对一) 如果我把数据移到另一个文件组了,不想要这个已经清空的文件组了,怎麽做? 脚本跟之前那篇文章差不多 USE master GO IF EXISTS(SELECT * FROM sys.[databases] WHERE [database_id]=DB_ID('Test')) DROP DATABASE [Test] --1.创建数据库 CREATE DATABASE [Test] GO USE [Test] GO --2.创建文件组 ALT

SQLserver 2005文件和文件组的作用说明_mssql2005

1.文件和文件组的含义与关系 每个数据库有一个主数据文件.和若干个从文件.文件是数据库的物理体现. 文件组可以包括分布在多个逻辑分区的文件,实现负载平衡.文件组允许对文件进行分组,以便于管理和数据的分配/放置.例如,可以分别在三个硬盘驱动器上创建三个文件(Data1.ndf.Data2.ndf 和 Data3.ndf),并将这三个文件指派到文件组 fgroup1 中.然后,可以明确地在文件组 fgroup1 上创建一个表.对表中数据的查询将分散到三个磁盘上,因而性能得以提高.在 RAID(磁盘冗

SQL SERVER 文件和文件组_MsSql

1.文件和文件组的含义与关系       每个数据库有一个主数据文件.和若干个从文件.文件是数据库的物理体现. 文件组可以包括分布在多个逻辑分区的文件,实现负载平衡.文件组允许对文件进行分组,以便于管理和数据的分配/放置.例如,可以分别在三个硬盘驱动器上创建三个文件(Data1.ndf.Data2.ndf   和   Data3.ndf),并将这三个文件指派到文件组   fgroup1   中.然后,可以明确地在文件组   fgroup1   上创建一个表.对表中数据的查询将分散到三个磁盘上,因

用于备份和恢复的SQL Server文件组

当微软发布SQL Server2005时,它通过引入分区极大扩展了利用文件组的功能.另外,我们现在可以 用SQL Server2005引擎做在线数据库恢复.所以有了所有这些可用的功能,你应该怎么优化你的文件组用 于备份和恢复?让我们来看看文件组和当他们使用的时候是怎样建立备份和恢复策略的. 在SQL Server2005中文件和文件组是怎样工作的?每一个数据库都是由文件组组成的.你的数据库可以 由几个文件组组成,它们允许你分离数据.你可以选择将主要做读操作的表和主要做写操作的表分离,或 者选择将

使用 XML 文件记录操作日志

xml 记录应用程序的操作日志可以使用数据库.文本文件.XML文件等.我这里介绍的是使用 XML 文件记录操作日志. 我觉得使用 XML 记录操作日志有如下几点好处: 1. 不占用数据库的空间,可以任意的删除历史操作日志. 2. DataTable 可以方面的读入 XML 文件,DataTable 也可以方便的保存为 XML 文件. 3. 查看日志方便,可以直接打开 XML 文件查看,也可以读入 DataTable,然后通过程序查看. 在 VS2005 中使用 XML 文件记录操作日志方法如下:

使用XML文件记录操作日志

xml 记录应用程序的操作日志可以使用数据库.文本文件.XML文件等.我这里介绍的是使用 XML 文件记录操作日志.我觉得使用 XML 记录操作日志有如下几点好处:1. 不占用数据库的空间,可以任意的删除历史操作日志.2. DataTable 可以方面的读入 XML 文件,DataTable 也可以方便的保存为 XML 文件.3. 查看日志方便,可以直接打开 XML 文件查看,也可以读入 DataTable,然后通过程序查看. 在 VS2005 中使用 XML 文件记录操作日志方法如下:1. 建

删除WDCP网站日志(Nginx或者Apache日志文件)

今天,有网友咨询需要解决WDCP面板站点环境中需要删除网站和系统日志文件,因为网站运行一年多以来导致日志数据巨大占用了大量的硬盘空间,几乎硬盘撑满,所以必须要删除日志.无论是系统日志还是网站日志,有些时候还是有用的,我们可以查看网站的访问情况以及分析网站的爬虫频率等,但大部分时候我们是不会去查看的. 所以,随着时间的积累,日志会越来越大的占用VPS主机硬盘容量,我们需要定期的处理.在WDCP面板中,无论我们启动的是NGINX还是APACHE环境,系统里都有日志文件的,一个是错误日志,一个是访问日

RMAN备份与恢复(新旧控制文件及归档日志)测试(叙)

(我的学习过程) 继上一次做的试验,过后我又思考了下,当然其中的4点结论没有问题,但是却忽略了一点,上次的试验证明了在不使用恢复目录的情况下,做恢复时使用的归档重做日志文件只能是在控制文件中有记录的,backup format "${BACKUP_DB_TARGET}/db_${ORACLE_SID}_${DATE_TAG}_%s_%p_%t"database plus archivelog delete all inputformat "${BACKUP_DB_TARGET

RMAN备份与恢复(新旧控制文件及归档日志)测试

(我的实验) 一直知道我们公司使用的backup format='G:\20090607rman\datafile\data_%s_%p_%T_%t.bak'database plus archivelog  delete all inputformat 'G:\20090607rman\archivelog\arc_%s_%p_%T_%t.bak';来进行备份的,当然是LINUX系统,但是由于在家中没有LINUX环境,就改用WINDOWS环境来做,理论是一样的.该语句是进行RMAN的全备加上归