ITPub博客

首页 > 数据库 > Oracle > 日志文件的管理

日志文件的管理

原创 Oracle 作者:zhangsharp20 时间:2015-01-27 12:07:27 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、
清空日志组
青空之前的状态

清空日志组
SQL> alter database clear logfile group 4;
清空之后的状态


6、更改日志组的路径
之前的日志组路径

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';

更改后的日志文件路径

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


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29802484/viewspace-1416685/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 配置Yum
请登录后发表评论 登录
全部评论

注册时间:2014-08-12

  • 博文量
    382
  • 访问量
    801421