zhangsharp20
作者zhangsharp20·2015-04-10 15:36
数据库运维工程师·外管

日志文件的管理

字数 1703阅读 1057评论 0赞 0

1、增加一个日志组

SQL> alter database add logfile group 4('/u01/app/oracle/oradata/orcl/disk4/redo01.log') size 100m;

2、给日志组增加一个成员

SQL> alter database add logfile member '/u01/app/oracle/oradata/orcl/disk4/redo02.log' to group 4;

3、手动切换当前日志组

 SQL> alter system switch logfile; System altered.

切换日志组并不意味着DBWR进程会工作,如果依次切换日志组均未达到DBWR的工作条件,则有可能除了一个日志组处于一个CURRENT状态之外的日志组都处于ACTIVE状态,之后再切换日志组,DBWR就会工作,在LGWR将所有redo buffer cache中的日志写入到redo logfiles之后,将数据写入到datafile中,当每一个组个体都写完日志到redo logfiles之后,这个组又重新恢复到INACTIVE状态,仅一个正在用的日志组处于CURRENT状态(其中INACTIVE、ACTIVE、CURRENT记录的是DBWR有没有将数据写入到datafile中)。

4、删除当前日志组成员和日志组 将当前日志组切换到非current状态,否则无法删除SQL> alter system switch logfile;

更改checkpoint,使DBWR将该日志文件中记录的内容写入到datafile中,使该日志组处于INACTIVE状态SQL> alter system checkpoint;

删除该日志组其中一个成员SQL> alter database drop logfile member '/u01/app/oracle/oradata/orcl/disk4/redo01.log';

此成员只是在数据库中被删除,文件仍存在于系统中,需要手动删除,才能再次添加与此同名的日志文件。

删除日志组SQL> alter database drop logfile group 4;然后用系统命令删除这些日志文件即可 也可以在alter命令最后加上including contents and datafiles;

  5、清空日志组

a.png

清空日志组

SQL> alter database clear logfile group 4;

清空之后的状态b.png

6、更改日志组的路径

之前的日志组路径c.png

1、 首先,将要更改路径的日志文件拷贝到指定的路径中。 [oracle@zhang disk4]$ cp /u01/app/oracle/oradata/orcl/disk4/redo01.log /u01/app/oracle/oradata/orcl/disk1/redo04.log [oracle@zhang disk1]$ cp /u01/app/oracle/oradata/orcl/disk4/redo02.log /u01/app/oracle/oradata/orcl/disk2/redo04.log

2、 在sqlplus中进行文件路径和名称的更改 SQL> alter database rename file '/u01/app/oracle/oradata/orcl/disk4/redo01.log' to '/u01/app/oracle/oradata/orcl/disk1/redo04.log'; SQL> alter database rename file '/u01/app/oracle/oradata/orcl/disk4/redo02.log' to '/u01/app/oracle/oradata/orcl/disk2/redo04.log';

更改后的日志文件路径d.png

然后手动删除原路径下的日志文件

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广