您的位置:首页 > 数据库 > Oracle

oracle学习 日志管理 2010-03-22

2010-03-22 23:31 239 查看
2010-03-22

查询日志文件
select group#, member from v$logfile;
--创建日志文件组
alter database add logfile group 4
(
'd:/app/myspace/redo01.log',
'd:/app/myspace/redo02.log'
)size 10m;
添加日志文件到文件组
alter database add logfile member
'd:/app/myspace/redo03.log'
to group 4;
select group#, member from v$logfile;

--重新定义日志成员
进去sqlplus
1, conn system/system as sysdba;
2, shutdown
3, 拷贝日志文件到别的路径下'd:/app/redo04.log'
4, startup mount
5, alter database rename file
'd:/app/myspace/redo03.log'
to
'd:/app/redo04.log';

--操作日志文件
切换日志文件组
alter system switch logfile
如果日志文件组中的日志文件受损,将导致数据库无法将受损的日志文件进行归档,这回最终导致数据库停止运行。
此时,在不关闭数据库的情况下,可以选择清空日志文件组中的内容。
alter database clear logfile group group_number;
清空时,注意2点:
1,被清空的日志文件组不能处于current状态,不能清空数据库当前正在使用的日志文件组
2,当数据库只有2个日志文件组时,不能清空日志文件组。
--实践:
sqlplus下:

alter database add logfile group 5
(
'd:/app/myspace/redo05.log',
'd:/app/myspace/redo06.log'
)size 10m;
alter database add logfile group 7
(
'd:/app/myspace/redo07.log',
'd:/app/myspace/redo08.log'
)size 10m;
alter database add logfile group 6
(
'd:/app/myspace/redo061.log',
'd:/app/myspace/redo062.log'
)size 10m;
select group#,status from v$log;
--切换日志
alter system switch logfile;
--清空日志文件组,必须是inactive状态才行。
alter database clear logfile group 4;
--chakan
select group#, member from v$logfile;

--删除日志文件
语法如下:alter database drop logfile member logfile_name;
注意以下几点:
1,日志文件组不能处于current状态,需要执行一次手工日志切换,将日志文件组的状态修改为inactive。
2,该日志文件所在的日志文件组中必须还包含有其他日志成员。
3,如果数据库运行在归档模式下,则应该在删除日志文件之前,确定它所在的日志文件组已经被归档,否则会导致数据丢失。
日志组的状态 active、current、inactive、unused
日志文件的状态 valid、invalid、stale
删除日志文件组的语法如下:
alter database drop logfile group group_number;
删除日志文件组需要注意如下几点:
1,一个数据库至少需要2个日志文件组。
2,日志文件组不能处于current状态。
3,如果数据库运行在归档模式下,应该确定该日志文件组已经被归档。
--实践,sqlplus窗口
--删除日志文件,逻辑删除控制文件数据字典记录。
alter database drop logfile member
'd:/app/redo04.log';
select group#, member from v$logfile;
--删除日志组,逻辑删除控制文件数据字典记录。
alter database drop logfile group 4;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: