oracle 日志文件组、成员及控制文件优化操作

目标:日志组为增为5个,每个重做日志组成员增加为3个(但在ora8中最多2个成员)
      控制文件增到4个。

shutdown immediate;

1:重做日志组信息(group#成员、members成员数、bytes大小、status归档状态)
select * from v$log;

select g.group#,g.member,l.bytes/1024/1024 "Size_MB",l.status
from v$log l,v$logfile g where l.group# = g. group# order by 1,2;

2:重做日志组文件的位置
select * from v$logfile;

3:增加重做日志组(先在D盘建一个目录d:\oracle_log,e:\oracle_log;

日志组增加到5个,每个包含2个成员,每个成员15m-500M大小,注在ora8中最多2个成员,

分别放在不同盘,防止损坏,其中一个损坏,另一个也可以用。)
alter database add logfile
('d:\oracle_log\logora1a.ora','e:\oracle_log\logora1b.ora')
size 100m;

alter database add logfile
('d:\oracle_log\logora2a.ora','e:\oracle_log\logora2b.ora')
size 100m;

alter database add logfile
('d:\oracle_log\logora3a.ora','e:\oracle_log\logora3b.ora')
size 100m;

alter database add logfile
('d:\oracle_log\logora4a.ora','e:\oracle_log\logora4b.ora')
size 100m;

alter database add logfile
('d:\oracle_log\logora5a.ora','e:\oracle_log\logora5b.ora')
size 100m;

删除日志组成(4表示group#为4的组,待组状态变为 INACTIVE时,即可删除)
alter database drop logfile group 4;
注:当前日志组不能删除,要删除用以下命令先,或关闭数据库,再打开,

(shutdown immediate,再startup打开).

一般手工执行alter system checkpoint是由于要删除某个日志但是该日志里还有没有同步到data file里的内容,就需要手工check point来同步数据,然后就可以drop logfile group n.

(下面两行命令连续执行两次,切换日志文件到inactive状态,才可删除)

alter system checkpoint;
alter system switch logfile;

查看日志切换时间(一般20分钟内为最短,一次需要导入 大量的数据时,时间要长点,那么日志文件就要设大点了。)
select to_char(FIRST_TIME,'yyyy-mm-dd hh24:mi:ss') f_time,SEQUENCE# from v$log_history
order by 1 desc;

4:添加日志组成员(多增加2个组成员)
alter database add logfile member
'c:\re2b.ora' to group 2,
'c:\re2c.ora' to group 2;
删除日志组中的成员
alter database drop logfile member 'c:\re2c.ora';

5:控制文件位置
select * from v$controlfile;

6:(以下修改后,再关闭数据库,copy控制文件,改名成设置后的文件名,重启数据库完成。)
alter system set control_files =
'c:\orant\database\ctl3ora8.ora',
'c:\orant\database\ctl4ora8.ora';

在oracle8.15不会成功。直接改initora8.ora文件,如下,其它步骤同上。
control_files = ("C:\orant\database\ctl1ora8.ora", "C:\orant\database\ctl2ora8.ora","C:\orant\database\ctl3ora8.ora","C:\orant\database\ctl4ora8.ora")

报警文件:
C:\orant\RDBMS80\TRACE\ora8alrt.log

初始化文件:
C:\orant\DATABASE\initora8.ora


*************************
 oracle日志文件的状态

1. unused:表示该日志组从未被使用过;

2. current:当前正在使用的日志组,当前lgwr正在写的日志组;

3. active:表示记录在该日志组的事务所造成的数据块改变,没有完全从数据缓冲区中写入到数据文件,日志组属于这种状态,是不允许覆盖。一旦写完成,则变成inactive状态;

4. inactive:记录在该日志组的事务所造成的数据块改变,完全从数据缓冲区中写入到数据文件,日志组属于这种状态,可以被覆盖;

SCN(System Change Number):用来标识事务的前后顺序。例如进行一个update,oracle为这个操作分配了scn号为100,如果这个update操作修改了某个数据块。那么该数据块的scn号就会被修改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值