ITPub博客

首页 > IT职业 > IT生活 > 给redo增加mirror之后别忘了switch几次

给redo增加mirror之后别忘了switch几次

原创 IT生活 作者:warehouse 时间:2010-08-07 11:17:34 0 删除 编辑
讲课时随手的一些总结[@more@]

SQL> col member format a40
SQL> select group#,member from v$logfile;

GROUP# MEMBER
---------- ----------------------------------------
2 D:ORADATATESTREDO02.LOG
3 D:ORADATATESTREDO03.LOG
1 D:ORADATATESTREDO01.LOG

SQL> select group#,members,status from v$log;

GROUP# MEMBERS STATUS
---------- ---------- ----------------
1 1 CURRENT
2 1 INACTIVE
3 1 INACTIVE

SQL> alter database add logfile 'd:oradatatestredo04.log' size 50m;

数据库已更改。

SQL> select group#,members from v$log;

GROUP# MEMBERS
---------- ----------
1 1
2 1
3 1
4 1

SQL> alter database add logfile member 'd:oradatatestlogredo04.log' to group
4;

数据库已更改。

SQL> select group#,members from v$log;

GROUP# MEMBERS
---------- ----------
1 1
2 1
3 1
4 2

SQL> select group#,member from v$logfile;

GROUP# MEMBER
---------- ----------------------------------------
2 D:ORADATATESTREDO02.LOG
3 D:ORADATATESTREDO03.LOG
1 D:ORADATATESTREDO01.LOG
4 D:ORADATATESTREDO04.LOG
4 D:ORADATATESTLOGREDO04.LOG

SQL> alter database add logfile member 'd:oradatatestlogredo03.log' to group
3;

数据库已更改。

SQL> alter database add logfile member 'd:oradatatestlogredo02.log' to group
2;

数据库已更改。

SQL> alter database add logfile member 'd:oradatatestlogredo01.log' to group
1;

数据库已更改。


SQL> select group#,member from v$logfile order by group#,member;

GROUP# MEMBER
---------- ----------------------------------------
1 D:ORADATATESTLOGREDO01.LOG
1 D:ORADATATESTREDO01.LOG
2 D:ORADATATESTLOGREDO02.LOG
2 D:ORADATATESTREDO02.LOG
3 D:ORADATATESTLOGREDO03.LOG
3 D:ORADATATESTREDO03.LOG
4 D:ORADATATESTLOGREDO04.LOG
4 D:ORADATATESTREDO04.LOG

已选择8行。

SQL> select group#,members,status from v$log;

GROUP# MEMBERS STATUS
---------- ---------- ----------------
1 2 CURRENT
2 2 INACTIVE
3 2 INACTIVE
4 2 UNUSED

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
--==============================
--删除当前日志文件'D:ORADATATESTREDO01.LOG'
SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area 272629760 bytes
Fixed Size 1248528 bytes
Variable Size 180355824 bytes
Database Buffers 83886080 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
SQL> select group#,members,status from v$log;

GROUP# MEMBERS STATUS
---------- ---------- ----------------
1 2 CURRENT
4 2 UNUSED
3 2 INACTIVE
2 2 INACTIVE

SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-00313: 无法打开日志组 1 (用于线程 1) 的成员
ORA-00312: 联机日志 1 线程 1: 'D:ORADATATESTREDO01.LOG'
ORA-00312: 联机日志 1 线程 1: 'D:ORADATATESTLOGREDO01.LOG'

--这里明明redo有mirror可是却打不开?查看状态发现原来redo做了mirror之后其实mirror

logfile并没有被完全利用上,因此给redo做了mirror之后千万别忘了连续swithch几次...让oracle彻底使用上这些mirror redo logfile

SQL> select group#,member,status from v$logfile order by group#,member;

GROUP# MEMBER STATUS
---------- ---------------------------------------- -------
1 D:ORADATATESTLOGREDO01.LOG INVALID
1 D:ORADATATESTREDO01.LOG
2 D:ORADATATESTLOGREDO02.LOG INVALID
2 D:ORADATATESTREDO02.LOG
3 D:ORADATATESTLOGREDO03.LOG INVALID
3 D:ORADATATESTREDO03.LOG STALE
4 D:ORADATATESTLOGREDO04.LOG INVALID
4 D:ORADATATESTREDO04.LOG

已选择8行。

SQL>
SQL> select status from v$instance;

STATUS
------------
MOUNTED
SQL> recover database until cancel;
完成介质恢复。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项


SQL> alter database open resetlogs;

数据库已更改。

SQL> select group#,member,status from v$logfile order by group#,member;

GROUP# MEMBER STATUS
---------- ---------------------------------------- -------
1 D:ORADATATESTLOGREDO01.LOG
1 D:ORADATATESTREDO01.LOG
2 D:ORADATATESTLOGREDO02.LOG
2 D:ORADATATESTREDO02.LOG
3 D:ORADATATESTLOGREDO03.LOG
3 D:ORADATATESTREDO03.LOG
4 D:ORADATATESTLOGREDO04.LOG
4 D:ORADATATESTREDO04.LOG

已选择8行。

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

请登录后发表评论 登录
全部评论

注册时间:2007-12-07

  • 博文量
    717
  • 访问量
    5366321