`

redologfile

阅读更多
SQL> archive log list
数据库日志模式            存档模式
自动存档             启用
存档终点            USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列     9
下一个存档日志序列   11
当前日志序列           11
 
SQL> alter system switch logfile;
系统已更改。
 
SQL> alter system checkpoint;
系统已更改。
 
SQL> show parameter fast
NAME                                 TYPE        VALUE
------------------------------------ ----------- -----------
fast_start_io_target                 integer     0
fast_start_mttr_target               integer     0
fast_start_parallel_rollback         string      LOW
 
fast_start_mttr_target :可以控制checkpoint的频率
 
SQL> select * from v$log;  看目前的log group
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ----------
         1          1         11   52428800          1 YES INACTIVE                885530 29-12月-07
         2          1         12   52428800          1 NO  CURRENT                 889197 29-12月-07
         3          1         10   52428800          1 YES INACTIVE                837144 29-12月-07
SQL> select * from v$log;
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ----------
         1          1         11   52428800          1 YES INACTIVE                885530 29-12月-07
         2          1         12   52428800          1 NO  CURRENT                 889197 29-12月-07
         3          1         10   52428800          1 YES INACTIVE                837144 29-12月-07
SQL> select * from v$logfile;
行将被截断

    GROUP# STATUS  TYPE    MEMBER
---------- ------- ------- -------------------------------------------------------------------------
         3 STALE   ONLINE  E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
         2         ONLINE  E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
         1         ONLINE  E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
SQL> alter database add logfile group 4
  2  'e:\oracle\product\10.2.0\oradata\orcl\redo04.log' size 50M;   增加1个日志组
数据库已更改。
SQL> SELECT * FROM V$LOG;
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ----------
         1          1         11   52428800          1 YES INACTIVE                885530 29-12月-07
         2          1         12   52428800          1 NO  CURRENT                 889197 29-12月-07
         3          1         10   52428800          1 YES INACTIVE                837144 29-12月-07
         4          1          0   52428800          1 YES UNUSED                       0
 
 
同一组中成员的大小必须一致
SQL> alter database add logfile member
  2  'e:\oracle\product\10.2.0\oradata\orcl\redo05.log' size 59m to group 4
  3  ;
'e:\oracle\product\10.2.0\oradata\orcl\redo05.log' size 59m to group 4
                                                   *
第 2 行出现错误:
ORA-00946: 缺失 TO 关键字
 
系统会自动分配同一组中的大小
SQL> alter database add logfile member
  2  'e:\oracle\product\10.2.0\oradata\orcl\redo05.log' to group 4
  3  ;
数据库已更改。

SQL> select * from v$logfile;
行将被截断

    GROUP# STATUS  TYPE    MEMBER
---------- ------- ------- ------------------------------------------------------------------------
         3 STALE   ONLINE  E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
         2         ONLINE  E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
         1         ONLINE  E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
         4         ONLINE  E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO04.LOG
         4 INVALID ONLINE  E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO05.LOG
 
删除日志文件组:
SQL> alter database drop logfile group 4;
数据库已更改。
 
物理文件并不能被删除,需要手工删除
 
限制条件:
  当前日志组不能删、active log group不能删、not archived log group不能删
SQL> select * from v$log;
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ----------
         1          1         11   52428800          1 YES INACTIVE                885530 29-12月-07
         2          1         12   52428800          1 NO  CURRENT                 889197 29-12月-07
         3          1         10   52428800          1 YES INACTIVE                837144 29-12月-07
SQL> alter database drop logfile group 2;
alter database drop logfile group 2
*
第 1 行出现错误:
ORA-01623: 日志 2 是实例 orcl (线程 1) 的当前日志 - 无法删除
ORA-00312: 联机日志 2 线程 1: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG'
 
SQL> alter system switch logfile;
系统已更改。
SQL> select * from v$log;
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ----------
         1          1         11   52428800          1 YES INACTIVE                885530 29-12月-07
         2          1         12   52428800          1 YES ACTIVE                  889197 29-12月-07
         3          1         13   52428800          1 NO  CURRENT                 892147 29-12月-07
SQL> alter database drop logfile group 3;
alter database drop logfile group 3
*
第 1 行出现错误:
ORA-01623: 日志 3 是实例 orcl (线程 1) 的当前日志 - 无法删除
ORA-00312: 联机日志 3 线程 1: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG'

SQL> alter database drop logfile group 2;
alter database drop logfile group 2
*
第 1 行出现错误:
ORA-01624: 日志 2 是紧急恢复实例 orcl (线程 1) 所必需的
ORA-00312: 联机日志 2 线程 1: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG'
 
删除日志组member:
alter database drop logfile member 'e:\oracle\product\10.2.0\oradata\orcl\redo1.log'
 
一个组里面的最后一个组成员是不能被删掉的,必须有一个组成员
SQL> alter database drop logfile member
  2  'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG'
  3  ;
alter database drop logfile member
*
第 1 行出现错误:
ORA-00361: 无法删除最后一个日志成员 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG (组 3)
 
清空、重新定位、重命名在线日志文件:
清空的条件:
    当前组、active组、没有归档组都不能进行清空
alter database clear unarchived logfile group 做完后要做一次full backup
 
alter database rename file 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG' to 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03a.LOG'
 
 
分享到:
评论

相关推荐

    Oracle 11g 数据库日常维护指导书V1.0-20100331-B

    - **Redologfile维护**: 包括调整日志文件大小、增加日志成员等操作,确保日志系统的健康。 - **ORA错误代码处理**: 如ORA-1652至ORA-1655、ORA-01555、ORA-600等常见错误的识别与解决策略。 #### 结论 Oracle 11g...

    ORACLEREDO LOG文件分析及C语言描述.pdf

    struct RedoLogFile { struct RedoLogHeader header; struct RedoBlock blocks[BLOCK_COUNT]; }; ``` 这些结构仅作为示例,实际实现可能更复杂,包括错误校验和、块边界信息等。 4. REDO LOG事务控制机制 ...

    Oracle从入门到精通

    - **redologfile重做日志文件**:包含重做日志条目。 - **controlfile控制文件**:包含数据库的所有信息。 - **parameterfile初始化参数文件**:包含数据库启动时使用的参数。 - **passwordfile口令文件**:包含...

    oracle从入门到精通

    - 日志文件(Redologfile和Archived logfile):用于记录数据库的变更日志,以便实现数据的恢复。 - 参数文件(Parameter file):定义数据库实例的内存结构和启动配置。 - 密码文件(Password file):存储DBA...

    第1章 Oracle数据库基础.pdf

    - **数据库文件**:包括数据文件(Datafile)、重做日志文件(RedologFile)、控制文件(ControlFile)。 - **内存结构**:主要包括系统全局区(SystemGlobalArea,SGA)和程序全局区(ProgramGlobalArea,PGA)。 - **进程**:...

Global site tag (gtag.js) - Google Analytics