文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Oracle联机日志文件与归档文件详细介绍

2022-11-22 16:30

关注

管理联机日志文件:

联机日志文件以组为单位工作

数据库正常工作至少需要2组日志

联机日志记录所有数据块的变化,用来做实例recover

同一组下的成员之间是镜像关系

more情况日志成员写满redo时发生切换

日志切换时优先覆盖sequence#最小的组

成员的位置和数量,由控制文件中的指针决定

查看日志组的工作状态:

select * from v$log;
SQL> set pagesize 200
SQL> set linesize 200
SQL> 
SQL> select * from v$log;
    GROUP#    THREAD#  SEQUENCE#      BYTES  blockSIZE    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME     CON_ID
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------- ------------ --------- ----------
         1          1         49   52428800        512          1 NO  INACTIVE              17377140 20-NOV-22     17377187 20-NOV-22          0
         2          1         50   52428800        512          1 NO  INACTIVE              17377187 20-NOV-22     17401476 20-NOV-22          0
         3          1         51   52428800        512          1 NO  CURRENT               17401476 20-NOV-22   1.8447E+19                    0
SQL> col NEXT_CHANGE# for 999999999999999999999999999999999
SQL> select * from v$log;
    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM                       NEXT_CHANGE# NEXT_TIME     CON_ID
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------- ---------------------------------- --------- ----------
         1          1         49   52428800        512          1 NO  INACTIVE              17377140 20-NOV-22                           17377187 20-NOV-22          0
         2          1         50   52428800        512          1 NO  INACTIVE              17377187 20-NOV-22                           17401476 20-NOV-22          0
         3          1         51   52428800        512          1 NO  CURRENT               17401476 20-NOV-22               18446744073709551615                    0
SQL> 

查看日志的物理信息:

select * from v$logfile;
SQL> 
SQL> select * from v$logfile;
    GROUP# STATUS  TYPE
---------- ------- -------
MEMBER
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
IS_     CON_ID
--- ----------
         3         ONLINE
/u02/oradata/CDB1/redo03.log
NO           0
         2         ONLINE
/u02/oradata/CDB1/redo02.log
NO           0
         1         ONLINE
/u02/oradata/CDB1/redo01.log
NO           0
SQL> 

手工切换日志:

alter system switch logfile;

手工产生检查点:

alter system checkpoint;

Scott/tiger 脚本在系统:

[oracle@oracle-db-19c admin]$ pwd

/u01/app/oracle/product/19.3.0/dbhome_1/rdbms/admin

[oracle@oracle-db-19c admin]$ ls -ltr utlsampl.sql

-rw-r--r--. 1 oracle oinstall 3978 May 29 2017 utlsampl.sql

[oracle@oracle-db-19c admin]$

日志切换的历史:

SQL> 
SQL> select * from v$log_history;
     RECID      STAMP    THREAD#  SEQUENCE# FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# RESETLOGS_CHANGE# RESETLOGS     CON_ID
---------- ---------- ---------- ---------- ------------- --------- ------------ ----------------- --------- ----------
         1 1119712290          1          1       1920977 02-NOV-22      1944454           1920977 02-NOV-22          0
         2 1119712328          1          2       1944454 02-NOV-22      1955924           1920977 02-NOV-22          0
         3 1119712336          1          3       1955924 02-NOV-22      1957140           1920977 02-NOV-22          0
         4 1119712346          1          4       1957140 02-NOV-22      1958419           1920977 02-NOV-22          0
         5 1119712357          1          5       1958419 02-NOV-22      1959722           1920977 02-NOV-22          0
         6 1119712367          1          6       1959722 02-NOV-22      1961083           1920977 02-NOV-22          0
         7 1119712377          1          7       1961083 02-NOV-22      1962537           1920977 02-NOV-22          0
         8 1119712388          1          8       1962537 02-NOV-22      1964005           1920977 02-NOV-22          0
         9 1119712397          1          9       1964005 02-NOV-22      1965452           1920977 02-NOV-22          0
        10 1119712406          1         10       1965452 02-NOV-22      1966859           1920977 02-NOV-22          0
        11 1119712428          1         11       1966859 02-NOV-22      1970703           1920977 02-NOV-22          0
        12 1119712448          1         12       1970703 02-NOV-22      1974659           1920977 02-NOV-22          0
        13 1119712501          1         13       1974659 02-NOV-22      2003600           1920977 02-NOV-22          0
        14 1119712743          1         14       2003600 02-NOV-22      2017766           1920977 02-NOV-22          0
        15 1119712747          1         15       2017766 02-NOV-22      2017835           1920977 02-NOV-22          0
        16 1119712771          1         16       2017835 02-NOV-22      2026749           1920977 02-NOV-22          0
        17 1119712794          1         17       2026749 02-NOV-22      2030586           1920977 02-NOV-22          0
        18 1119712849          1         18       2030586 02-NOV-22      2049115           1920977 02-NOV-22          0
        19 1119713144          1         19       2049115 02-NOV-22      2088868           1920977 02-NOV-22          0
        20 1119713229          1         20       2088868 02-NOV-22      2100727           1920977 02-NOV-22          0
        21 1119713288          1         21       2100727 02-NOV-22      2139342           1920977 02-NOV-22          0
        22 1119713358          1         22       2139342 02-NOV-22      2146949           1920977 02-NOV-22          0
        23 1119713375          1         23       2146949 02-NOV-22      2150697           1920977 02-NOV-22          0
        24 1119713427          1         24       2150697 02-NOV-22      2153047           1920977 02-NOV-22          0
        25 1119713571          1         25       2153047 02-NOV-22      2163312           1920977 02-NOV-22          0
        26 1119713996          1         26       2163312 02-NOV-22      2264654           1920977 02-NOV-22          0
        27 1120428105          1         27       2264654 02-NOV-22      2282920           1920977 02-NOV-22          0
        28 1120428219          1         28       2282920 10-NOV-22      2300480           1920977 02-NOV-22          0
        29 1120428255          1         29       2300480 10-NOV-22      2318708           1920977 02-NOV-22          0
        30 1120831239          1         30       2318708 10-NOV-22      2347108           1920977 02-NOV-22          0
        31 1120831269          1         31       2347108 15-NOV-22      2366475           1920977 02-NOV-22          0
        32 1120850877          1         32       2366475 15-NOV-22      2397054           1920977 02-NOV-22          0
        33 1120917613          1         33       2397054 15-NOV-22      2425816           1920977 02-NOV-22          0
        34 1120938664          1         34       2425816 16-NOV-22      2465509           1920977 02-NOV-22          0
        35 1120980380          1         35       2465509 16-NOV-22      2575796           1920977 02-NOV-22          0
        36 1121000407          1         36       2575796 17-NOV-22      2601035           1920977 02-NOV-22          0
        37 1121014857          1         37       2601035 17-NOV-22      2629640           1920977 02-NOV-22          0
        38 1121086814          1         38       2629640 17-NOV-22      2668852           1920977 02-NOV-22          0
        39 1121089000          1         39       2668852 18-NOV-22      2771290           1920977 02-NOV-22          0
        40 1121102371          1         40       2771290 18-NOV-22     17019560           1920977 02-NOV-22          0
        41 1121161284          1         41      17019560 18-NOV-22     17140444           1920977 02-NOV-22          0
        42 1121161517          1         42      17140444 19-NOV-22     17156193           1920977 02-NOV-22          0
        43 1121164942          1         43      17156193 19-NOV-22     17277271           1920977 02-NOV-22          0
        44 1121180422          1         44      17277271 19-NOV-22     17311973           1920977 02-NOV-22          0
        45 1121249328          1         45      17311973 19-NOV-22     17337542           1920977 02-NOV-22          0
        46 1121250083          1         46      17337542 20-NOV-22     17351079           1920977 02-NOV-22          0
        47 1121263201          1         47      17351079 20-NOV-22     17377098           1920977 02-NOV-22          0
        48 1121263201          1         48      17377098 20-NOV-22     17377140           1920977 02-NOV-22          0
        49 1121263203          1         49      17377140 20-NOV-22     17377187           1920977 02-NOV-22          0
        50 1121281218          1         50      17377187 20-NOV-22     17401476           1920977 02-NOV-22          0
        51 1121349638          1         51      17401476 20-NOV-22     17441850           1920977 02-NOV-22          0
51 rows selected.
SQL>

监控日志切换频率:

select to_char(FIRST_TIME,'yyyymmddhh24') FIRST_TIME,count(*) from v$log_history group by to_char(FIRST_TIME,'yyyymmddhh24') order by 1;

放大logfile成员的尺寸:

alter database add logfile '/u02/oradata/CDB1/redo04.log' size 100M;
alter database add logfile '/u02/oradata/CDB1/redo05.log' size 100M;
[oracle@oracle-db-19c admin]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Mon Nov 21 14:35:04 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle.  All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL> set pagesize 200
SQL> set linesize 200
SQL> 
SQL> column STATUS for a15
SQL> column TYPE for a15
SQL> column MEMBER for a30
SQL>  select * from v$logfile;
    GROUP# STATUS          TYPE            MEMBER                         IS_     CON_ID
---------- --------------- --------------- ------------------------------ --- ----------
         3                 ONLINE          /u02/oradata/CDB1/redo03.log   NO           0
         2                 ONLINE          /u02/oradata/CDB1/redo02.log   NO           0
         1                 ONLINE          /u02/oradata/CDB1/redo01.log   NO           0
SQL> alter database add logfile '/u02/oradata/CDB1/redo04.log' size 100m;
Database altered.
SQL> alter database add logfile '/u02/oradata/CDB1/redo05.log' size 100m;
Database altered.
SQL>  select * from v$logfile;
    GROUP# STATUS          TYPE            MEMBER                         IS_     CON_ID
---------- --------------- --------------- ------------------------------ --- ----------
         3                 ONLINE          /u02/oradata/CDB1/redo03.log   NO           0
         2                 ONLINE          /u02/oradata/CDB1/redo02.log   NO           0
         1                 ONLINE          /u02/oradata/CDB1/redo01.log   NO           0
         4                 ONLINE          /u02/oradata/CDB1/redo04.log   NO           0
         5                 ONLINE          /u02/oradata/CDB1/redo05.log   NO           0
SQL> select * from v$log;
    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS          FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME     CON_ID
---------- ---------- ---------- ---------- ---------- ---------- --- --------------- ------------- --------- ------------ --------- ----------
         1          1         52   52428800        512          1 NO  CURRENT              17441850 21-NOV-22   1.8447E+19                    0
         2          1         50   52428800        512          1 NO  INACTIVE             17377187 20-NOV-22     17401476 20-NOV-22          0
         3          1         51   52428800        512          1 NO  INACTIVE             17401476 20-NOV-22     17441850 21-NOV-22          0
         4          1          0  104857600        512          1 YES UNUSED                      0                      0                    0
         5          1          0  104857600        512          1 YES UNUSED                      0                      0                    0
SQL> alter system switch logfile;
System altered.
SQL> select * from v$log;
    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS          FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME     CON_ID
---------- ---------- ---------- ---------- ---------- ---------- --- --------------- ------------- --------- ------------ --------- ----------
         1          1         52   52428800        512          1 NO  ACTIVE               17441850 21-NOV-22     17444860 21-NOV-22          0
         2          1         50   52428800        512          1 NO  INACTIVE             17377187 20-NOV-22     17401476 20-NOV-22          0
         3          1         51   52428800        512          1 NO  INACTIVE             17401476 20-NOV-22     17441850 21-NOV-22          0
         4          1         53  104857600        512          1 NO  CURRENT              17444860 21-NOV-22   1.8447E+19                    0
         5          1          0  104857600        512          1 YES UNUSED                      0                      0                    0
SQL> alter system checkpoint;
System altered.
SQL> select * from v$log;
    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS          FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME     CON_ID
---------- ---------- ---------- ---------- ---------- ---------- --- --------------- ------------- --------- ------------ --------- ----------
         1          1         52   52428800        512          1 NO  INACTIVE             17441850 21-NOV-22     17444860 21-NOV-22          0
         2          1         50   52428800        512          1 NO  INACTIVE             17377187 20-NOV-22     17401476 20-NOV-22          0
         3          1         51   52428800        512          1 NO  INACTIVE             17401476 20-NOV-22     17441850 21-NOV-22          0
         4          1         53  104857600        512          1 NO  CURRENT              17444860 21-NOV-22   1.8447E+19                    0
         5          1          0  104857600        512          1 YES UNUSED                      0                      0                    0
SQL> alter database drop logfile group 1;
Database altered.
SQL> alter database drop logfile group 2;
Database altered.
SQL> alter database drop logfile group 3;
Database altered.
SQL> select * from v$log;
    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS          FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME     CON_ID
---------- ---------- ---------- ---------- ---------- ---------- --- --------------- ------------- --------- ------------ --------- ----------
         4          1         53  104857600        512          1 NO  CURRENT              17444860 21-NOV-22   1.8447E+19                    0
         5          1          0  104857600        512          1 YES UNUSED                      0                      0                    0
SQL> show con_name;
CON_NAME
------------------------------
CDB$ROOT
SQL> 

删除无用组:

alter database drop logfile group 1;
alter database drop logfile group 2;
alter database drop logfile group 3;

移动日志文件

1.数据库要mount

shutdown immediate
startup mount

2.目标文件要存在

mv /u02/oradata/CDB1/redo04.log /home/oracle/redo04.log

3.修改控制文件中的指针

alter database rename file '/u02/oradata/CDB1/redo04.log' to '/home/oracle/redo04.log';

4.打开数据库

alter database open;

日志文件的多路复用:在同一组下使用多个成员,每组当中只由一个成员可用,数据库就可以正常工作。

alter database add logfile member '/u02/oradata/CDB1/redo04a.log' to group 4;
alter database add logfile member '/u02/oradata/CDB1/redo05a.log' to group 5;
SQL> select * from v$log;
    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS          FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME     CON_ID
---------- ---------- ---------- ---------- ---------- ---------- --- --------------- ------------- --------- ------------ --------- ----------
         4          1         53  104857600        512          1 NO  CURRENT              17444860 21-NOV-22   1.8447E+19                    0
         5          1          0  104857600        512          1 YES UNUSED                      0                      0                    0
SQL> select * from v$logfile;
    GROUP# STATUS          TYPE            MEMBER                         IS_     CON_ID
---------- --------------- --------------- ------------------------------ --- ----------
         4                 ONLINE          /u02/oradata/CDB1/redo04.log   NO           0
         5                 ONLINE          /u02/oradata/CDB1/redo05.log   NO           0
SQL> alter database add logfile '/u02/oradata/CDB1/redo06.log' size 100m;
Database altered.
SQL> select * from v$log;
    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS          FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME     CON_ID
---------- ---------- ---------- ---------- ---------- ---------- --- --------------- ------------- --------- ------------ --------- ----------
         1          1          0  104857600        512          1 YES UNUSED                      0                      0                    0
         4          1         53  104857600        512          1 NO  CURRENT              17444860 21-NOV-22   1.8447E+19                    0
         5          1          0  104857600        512          1 YES UNUSED                      0                      0                    0
SQL> select * from v$logfile;
    GROUP# STATUS          TYPE            MEMBER                         IS_     CON_ID
---------- --------------- --------------- ------------------------------ --- ----------
         1                 ONLINE          /u02/oradata/CDB1/redo06.log   NO           0
         4                 ONLINE          /u02/oradata/CDB1/redo04.log   NO           0
         5                 ONLINE          /u02/oradata/CDB1/redo05.log   NO           0
SQL> 
SQL> alter database add logfile member '/u02/oradata/CDB1/redo01.log' to group 1;
Database altered.
SQL> select * from v$logfile;
    GROUP# STATUS          TYPE            MEMBER                         IS_     CON_ID
---------- --------------- --------------- ------------------------------ --- ----------
         1                 ONLINE          /u02/oradata/CDB1/redo06.log   NO           0
         1 INVALID         ONLINE          /u02/oradata/CDB1/redo01.log   NO           0
         4                 ONLINE          /u02/oradata/CDB1/redo04.log   NO           0
         5                 ONLINE          /u02/oradata/CDB1/redo05.log   NO           0
SQL> 
SQL> select * from v$log;
    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS          FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME     CON_ID
---------- ---------- ---------- ---------- ---------- ---------- --- --------------- ------------- --------- ------------ --------- ----------
         1          1          0  104857600        512          2 YES UNUSED                      0                      0                    0
         4          1         53  104857600        512          1 NO  CURRENT              17444860 21-NOV-22   1.8447E+19                    0
         5          1          0  104857600        512          1 YES UNUSED                      0                      0                    0
SQL> alter database add logfile member '/u02/oradata/CDB1/redo04b.log' to group 4,'/u02/oradata/CDB1/redo05b.log' to group 5;
Database altered.
SQL> select * from v$log;
    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS          FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME     CON_ID
---------- ---------- ---------- ---------- ---------- ---------- --- --------------- ------------- --------- ------------ --------- ----------
         1          1          0  104857600        512          2 YES UNUSED                      0                      0                    0
         4          1         53  104857600        512          2 NO  CURRENT              17444860 21-NOV-22   1.8447E+19                    0
         5          1          0  104857600        512          2 YES UNUSED                      0                      0                    0
SQL> select * from v$logfile;
    GROUP# STATUS          TYPE            MEMBER                         IS_     CON_ID
---------- --------------- --------------- ------------------------------ --- ----------
         1                 ONLINE          /u02/oradata/CDB1/redo06.log   NO           0
         1 INVALID         ONLINE          /u02/oradata/CDB1/redo01.log   NO           0
         4 INVALID         ONLINE          /u02/oradata/CDB1/redo04b.log  NO           0
         4                 ONLINE          /u02/oradata/CDB1/redo04.log   NO           0
         5                 ONLINE          /u02/oradata/CDB1/redo05.log   NO           0
         5 INVALID         ONLINE          /u02/oradata/CDB1/redo05b.log  NO           0
6 rows selected.
SQL> alter system switch logfile;
System altered.
SQL> /
System altered.
SQL> /
System altered.
SQL> select * from v$logfile;
    GROUP# STATUS          TYPE            MEMBER                         IS_     CON_ID
---------- --------------- --------------- ------------------------------ --- ----------
         1                 ONLINE          /u02/oradata/CDB1/redo06.log   NO           0
         1                 ONLINE          /u02/oradata/CDB1/redo01.log   NO           0
         4                 ONLINE          /u02/oradata/CDB1/redo04b.log  NO           0
         4                 ONLINE          /u02/oradata/CDB1/redo04.log   NO           0
         5                 ONLINE          /u02/oradata/CDB1/redo05.log   NO           0
         5                 ONLINE          /u02/oradata/CDB1/redo05b.log  NO           0
6 rows selected.
SQL> 

数据库的归档模式:

查看数据库归档是否

archive log list
select log_mode from v$database;

打开归档:

shutdown immediate
startup mount

--v$archived_log
--v$archive_dest

到此这篇关于Oracle联机日志文件与归档文件详细介绍的文章就介绍到这了,更多相关Oracle联机日志文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯