Oracle 的联机日志文件

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Oracle 的联机日志文件

1、联机日志的相关概念

1.1 概念

联机日志文件又叫重做日志文件,记录了对数据库修改的信息,一个 Oracle 实例有一组或多组联机日志文件,每组包含一个或多个日志成员,同一组的日志成员内容相同,存放位置不同,防止日志文件组内某个日志文件损坏导致数据丢失。


lgwr 进程负责将数据写入日志文件,如果一组日志文件被写满,会自动切换到下一组日志文件。当所有的日志文件都被写满时,如果数据库为非归档模式,则直接覆盖 sequence 最小的日志组;如果数据库为归档模式,lgwr 进程开始等待归档进程将日志信息写入到归档日志中,然后覆盖 sequence 最小的日志组。


1.2 联机日志文件具有如下特点

(1)联机日志文件以组为单位工作;


(2)数据库正常工作至少需要两组联机日志;


(3)联机日志记录所有数据块的变化,用来做实例恢复(recover);


(4)同一组可以有多个成员;


(5)同一组的成员之间是镜像关系;


(6)默认情况下,日志成员写满 redo 时发生切换;


(7)日志切换时优先覆盖 sequence 最小的组;


(8)成员的位置和数量由控制文件决定。


1.3 日志文件的工作方式

日志文件采用按顺序循环写的方式。当一组联机日志组写满,LGWR 则将日志写入到下一组,当最后一组写满则从第一组开始写入。写入下一组的过程称为日志切换,切换时产生检查点,检查点的信息同时写入控制文件。


1.4 联机重做日志组

由一个或多个相同的联机日志文件组成一个联机重做日志组。数据库正常工作至少需要两个日志组,每组至少一个成员(生产环境建议每组至少两个成员,并放到不同的磁盘)。由 LGWR 后台进程同时将日志内容写入到一个组的所有成员。


3、联机重做日志成员


联机重做日志组内的每一个联机日志文件称为一个成员。一个组内的所有成员具有相同的日志序列号(log sequence number)且成员的大小相同。


每次日志切换时,Oracle 服务器分配一个新的 LSN 号给即将写入日志的日志文件组。LSN 号用于唯一区分每一个联机日志组和归档日志处于归档模式的联机日志,LSN 号在归档时也被写入到归档日志之中。


2、与日志有关的动态性能视图

2.1 查看日志组的信息

一共 3 个日志组,每个节点使用 3 组日志,每组拥有1个成员(1个日志文件)。


SQL> select * from v$log;

   GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME  NEXT_CHANGE# NEXT_TIME       CON_ID

---------- ---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- ----------- ------------ ----------- ----------

        1          1          1  209715200        512          1 NO       CURRENT                7647401 2023/1/12 1 1.8446744073                      0

        2          1          0  209715200        512          1 YES      UNUSED                       0                        0                      0

        3          1          0  209715200        512          1 YES      UNUSED                       0                        0                      0

说明:


(1)THREAD#:实例号,rac 集群环境每个实例都有对应的日志组。


(2)status 选项值


UNUSED: 表示该联机日志文件组对应的文件还从未被写入过数据。一般情况下,新创建的联机日志文件组会显示为这一状态。当日志切换到这一组时,状态会改变;


CURRENT:表示当前正在使用的日志文件组,该联机日志组是活动的;


ACTIVE:该组是活动的但不是当前组,实例恢复时需要这组日志。处于这一状态,虽然不是当前组,但该文件中内容尚未归档,或者文件中的数据没有全部写入数据文件,一旦需要实例恢复,必须借助该文件中保存的内容;


INACTIVE:实例恢复已不再需要这组联机日志组。对应的联机日志文件中的内容已被妥善处理,该组联机重做日志当前处于空闲状态;


CLEARING:表示该组日志文件正被重建,重建后该状态会变成UNUSED;


CLEARING_CURRENT:表示该组日志重建时出现错误。


2.2 查看日志文件的信息

SQL> select * from v$logfile;

   GROUP# STATUS  TYPE    MEMBER                                                                           IS_RECOVERY_DEST_FILE     CON_ID

---------- ------- ------- -------------------------------------------------------------------------------- --------------------- ----------

        3         ONLINE  /app/oracle/oradata/ORCL/redo03.log                                              NO                             0

        2         ONLINE  /app/oracle/oradata/ORCL/redo02.log                                              NO                             0

        1         ONLINE  /app/oracle/oradata/ORCL/redo01.log                                              NO                             0

3、手工切换日志

日志切换就是停止写入当前日志组,去写另外一个新的日志组。系统可以自动切换,也可以手工切换。当发生 switch logfile 时,系统会在后台完成 checkpoint 操作。


checkpoint 是一个事件,当 checkpoint 事件发生时,会触发 DBWn 进程,把 database buffer 中发生变化的脏数据写入数据文件,同时 chkp 进程更新控制文件(control file)和数据文件头(datafile header),使它们保持一致。


在 v$log表的 first_change#列、v$datafile 的 checkpoint_change# 以及 v$database 的 checkpoint_change# 列写入相同的 scn 号,scn(system change number)称为系统改变号,也称为检查点号。只要这三个值相同,就表明数据库是同步的,否则就要进行介质恢复。


SQL>select first_change# checkpoint from v$log a where a.status = 'CURRENT' union select b.CHECKPOINT_CHANGE# checkpoint from v$database b union select c.CHECKPOINT_CHANGE#  from v$datafile c;

CHECKPOINT

----------

  7706518

3.1 手工切换日志文件

3.1.1 切换日志命令

SQL> alter system switch logfile;

System altered

3.1.2 查看日志组状态

SQL> alter system switch logfile;

System altered

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

   GROUP#    THREAD#  SEQUENCE# STATUS

---------- ---------- ---------- ----------------

        1          1          7 INACTIVE

        2          1          8 ACTIVE

        3          1          9 CURRENT

SQL> alter system switch logfile;

System altered

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

   GROUP#    THREAD#  SEQUENCE# STATUS

---------- ---------- ---------- ----------------

        1          1         10 CURRENT

        2          1          8 ACTIVE

        3          1          9 ACTIVE

第2、3 组(属于节点1)日志处于 ACTIVE 状态,表明对应的数据还没有写盘。


3.2手工产生检查点,强制脏数据写盘

SQL> alter system checkpoint;

System altered

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

   GROUP#    THREAD#  SEQUENCE# STATUS

---------- ---------- ---------- ----------------

        1          1         10 CURRENT

        2          1          8 INACTIVE

        3          1          9 INACTIVE

3.3 日志切换频率

日志切换的频率与日志成员的大小、数据更新的频率等有关。一般日志组的大小应满足自动切换间隔 15-20 分钟左右的业务需求。可以使用以下语句查看日志文件的历史切换频率:


SQL> select to_char(first_time,'yyyymmddhh24') fist_time, count(*) from v$log_history group by to_char(first_time,'yyyymmddhh24') order by 1;

FIST_TIME    COUNT(*)

---------- ----------

2023011215          1

2023011216          1

2023011219          1

2023011310          8

4、添加日志文件组和日志组成员

4.1 添加日志文件组的方法

4.1.1 添加日志组时指定日志成员

alter database add logfile thread m group n ('成员1', '成员2'...) size 50m;

(1)成员1、成员2格式:/app/orcl/onlinelog/redo01.log


(2)thread 选项:指定给哪一个实例添加日志组


(3)group:添加的日志组编号


(4)size:指定日志成员的大小


4.1.2 添加日志组成员:可实现日志文件的多路复用

alter database add logfile member '成员' to group n;

(1)成员格式:/app/orcl/onlinelog/redo01.log


4.2 添加日志文件组的操作

4.2.1 查询日志组和日志文件信息

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

   GROUP#    THREAD#  SEQUENCE# STATUS

---------- ---------- ---------- ----------------

        1          1         10 CURRENT

        2          1          8 INACTIVE

        3          1          9 INACTIVE

     

SQL> select * from V$LOGFILE;

   GROUP# STATUS  TYPE    MEMBER                                                                           IS_RECOVERY_DEST_FILE     CON_ID

---------- ------- ------- -------------------------------------------------------------------------------- --------------------- ----------

        3         ONLINE  /app/oracle/oradata/ORCL/redo03.log                                              NO                             0

        2         ONLINE  /app/oracle/oradata/ORCL/redo02.log                                              NO                             0

        1         ONLINE  /app/oracle/oradata/ORCL/redo01.log  


4.2.2 为节点1添加日志组

SQL> alter database add logfile thread 1 group 4 ('app/oracle/oradata/ORCL/redo04.log') size 10M;

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

   GROUP#    THREAD#  SEQUENCE# STATUS

---------- ---------- ---------- ----------------

        1          1         10 CURRENT

        2          1          8 INACTIVE

        3          1          9 INACTIVE

        4          1          0 UNUSED

SQL> select * from V$LOGFILE;

   GROUP# STATUS  TYPE    MEMBER                                                                           IS_RECOVERY_DEST_FILE     CON_ID

---------- ------- ------- -------------------------------------------------------------------------------- --------------------- ----------

        3         ONLINE  /app/oracle/oradata/ORCL/redo03.log                                              NO                             0

        2         ONLINE  /app/oracle/oradata/ORCL/redo02.log                                              NO                             0

        1         ONLINE  /app/oracle/oradata/ORCL/redo01.log                                              NO                             0

        4         ONLINE  /app/oracle/oradata/ORCL/redo04.log                                              NO                             0

--多次切换日志 ,查询新创建的日志信息

SQL> alter system switch logfile;

System altered

SQL> alter system switch logfile;

System altered

SQL> alter system switch logfile;

System altered

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

   GROUP#    THREAD#  SEQUENCE# STATUS

---------- ---------- ---------- ----------------

        1          1         10 ACTIVE

        2          1         12 ACTIVE

        3          1         13 CURRENT

        4          1         11 ACTIVE

4.2.3 给日志组添加成员

[oracle@node1 oracle]$ mkdir /app/oracle/logfile

SQL> alter database add logfile member '/app/oracle/logfile/redo04.log' to group 4;

Database altered

SQL> select * from V$LOGFILE;

   GROUP# STATUS  TYPE    MEMBER                                                                           IS_RECOVERY_DEST_FILE     CON_ID

---------- ------- ------- -------------------------------------------------------------------------------- --------------------- ----------

        3         ONLINE  /app/oracle/oradata/ORCL/redo03.log                                              NO                             0

        2         ONLINE  /app/oracle/oradata/ORCL/redo02.log                                              NO                             0

        1         ONLINE  /app/oracle/oradata/ORCL/redo01.log                                              NO                             0

        4         ONLINE  /app/oracle/oradata/ORCL/redo04.log                                              NO                             0

        4 INVALID ONLINE  /app/oracle/logfile/redo04.log                                                   NO                             0

SQL> select * from v$log;

   GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME  NEXT_CHANGE# NEXT_TIME       CON_ID

---------- ---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- ----------- ------------ ----------- ----------

        1          1         14  209715200        512          1 NO       CURRENT                7708375 2023/1/13 1 1.8446744073                      0

        2          1         12  209715200        512          1 YES      INACTIVE               7708364 2023/1/13 1      7708367 2023/1/13 1          0

        3          1         13  209715200        512          1 YES      INACTIVE               7708367 2023/1/13 1      7708375 2023/1/13 1          0

        4          1         11   10485760        512          2 YES      INACTIVE               7708360 2023/1/13 1      7708364 2023/1/13 1          0

SQL> alter system switch logfile;

System altered

SQL> alter system switch logfile;

System altered

SQL> alter system switch logfile;

System altered

SQL> alter system switch logfile;

System altered

SQL> select * from v$logfile;

   GROUP# STATUS  TYPE    MEMBER                                                                           IS_RECOVERY_DEST_FILE     CON_ID

---------- ------- ------- -------------------------------------------------------------------------------- --------------------- ----------

        3         ONLINE  /app/oracle/oradata/ORCL/redo03.log                                              NO                             0

        2         ONLINE  /app/oracle/oradata/ORCL/redo02.log                                              NO                             0

        1         ONLINE  /app/oracle/oradata/ORCL/redo01.log                                              NO                             0

        4         ONLINE  /app/oracle/oradata/ORCL/redo04.log                                              NO                             0

        4         ONLINE  /app/oracle/logfile/redo04.log  

5、删除日志组和日志组成员

5.1 删除日志组的说明

(1)一个实例至少需要两个联机日志文件组;


(2)活动的或当前的日志组不能被删除;


(3)组内成员状态有 NULL 值或 INVALID 状态并存,组不可删除;


(4)日志组被删除后,物理文件需要手动删除。


5.2 删除日志组成员的说明

(1)不能删除组内唯一的成员;


(2)不能删除处于 active 和 current 状态组内的成员;


(3)要删除处于 active 和 current 状态组内的成员,应使用日志切换使其处于 INACTIVE 状态后再删除;


(4)对于组内如果一个成员为 NULL 值,一个为 INVALID,且组处入 INACTIVE,仅能删除 INVALID 状态成员;


(5)删除日志文件后,控制文件被更新;


(6)对处于归档模式下的数据库,删除成员时确保日志已被归档,查看 v$log 视图获得归档信息。


5.3 删除日志组

5.3.1 删除日志组命令

ALTER DATABASE DROP LOGFILE GROUP n;

删除日志组时先查看要删除的日志组的状态:状态为 INACTIVE 的日志组可以被删除,状态为 CURRENT 和 ACTIVE 的日志组不能被删除。

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

   GROUP#    THREAD#  SEQUENCE# STATUS

---------- ---------- ---------- ----------------

        1          1         18 INACTIVE

        2          1         16 INACTIVE

        3          1         17 INACTIVE

        4          1         19 CURRENT

SQL> alter system switch logfile;

System altered

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

   GROUP#    THREAD#  SEQUENCE# STATUS

---------- ---------- ---------- ----------------

        1          1         18 INACTIVE

        2          1         20 CURRENT

        3          1         17 INACTIVE

        4          1         19 ACTIVE

SQL> alter system checkpoint;

System altered

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

   GROUP#    THREAD#  SEQUENCE# STATUS

---------- ---------- ---------- ----------------

        1          1         18 INACTIVE

        2          1         20 CURRENT

        3          1         17 INACTIVE

        4          1         19 INACTIVE

SQL> alter database drop logfile group 4;

Database altered

5.3.2 删除日志组对应的日志文件

SQL> host ls -l /app/oracle/oradata/ORCL/

总用量 6159504

-rw-r----- 1 oracle oinstall   10928128 1月  13 11:50 control01.ctl

-rw-r----- 1 oracle oinstall   10928128 1月  13 11:50 control02.ctl

-rw-r----- 1 oracle oinstall  209715712 1月  13 11:41 redo01.log

-rw-r----- 1 oracle oinstall  209715712 1月  13 11:50 redo02.log

-rw-r----- 1 oracle oinstall  209715712 1月  13 11:41 redo03.log

-rw-r----- 1 oracle oinstall   10486272 1月  13 11:46 redo04.log

-rw-r----- 1 oracle oinstall 1226842112 1月  13 11:46 sysaux01.dbf

-rw-r----- 1 oracle oinstall  975183872 1月  13 11:46 system01.dbf

-rw-r----- 1 oracle oinstall   33562624 1月  12 22:01 temp01.dbf

-rw-r----- 1 oracle oinstall  536879104 1月  13 11:46 test01.DBF

-rw-r----- 1 oracle oinstall  351281152 1月  13 11:46 undotbs01.dbf

-rw-r----- 1 oracle oinstall    5251072 1月  13 11:46 users01.dbf

-rw-r----- 1 oracle oinstall 2541756416 1月  13 11:46 wms01.DBF

SQL> host rm -rf /app/oracle/oradata/ORCL/redo04.log

SQL> host ls -l /app/oracle/oradata/ORCL/

总用量 6149260

-rw-r----- 1 oracle oinstall   10928128 1月  13 11:51 control01.ctl

-rw-r----- 1 oracle oinstall   10928128 1月  13 11:51 control02.ctl

-rw-r----- 1 oracle oinstall  209715712 1月  13 11:41 redo01.log

-rw-r----- 1 oracle oinstall  209715712 1月  13 11:50 redo02.log

-rw-r----- 1 oracle oinstall  209715712 1月  13 11:41 redo03.log

-rw-r----- 1 oracle oinstall 1226842112 1月  13 11:46 sysaux01.dbf

-rw-r----- 1 oracle oinstall  975183872 1月  13 11:46 system01.dbf

-rw-r----- 1 oracle oinstall   33562624 1月  12 22:01 temp01.dbf

-rw-r----- 1 oracle oinstall  536879104 1月  13 11:46 test01.DBF

-rw-r----- 1 oracle oinstall  351281152 1月  13 11:46 undotbs01.dbf

-rw-r----- 1 oracle oinstall    5251072 1月  13 11:46 users01.dbf

-rw-r----- 1 oracle oinstall 2541756416 1月  13 11:46 wms01.DBF

SQL> host ls -l /app/oracle/logfile/

总用量 10244

-rw-r----- 1 oracle oinstall 10486272 1月  13 11:46 redo04.log

SQL> host rm -rf /app/oracle/logfile/redo04.log

SQL> host ls -l /app/oracle/logfile/

总用量 0

5.4 删除日志组成员

5.4.1 删除日志组成员的语法

ALTER DATABASE DROP LOGFILE MEMBER '成员';

5.4.2 添加和查看日志组及日志组成员的状态

SQL> alter database add logfile thread 1 group 4 ('/app/oracle/oradata/ORCL/redo04.log','/app/oracle/logfile/redo04.log') size 10M;

Database altered

SQL> alter database add logfile thread 1 group 5 ('/app/oracle/oradata/ORCL/redo05.log','/app/oracle/logfile/redo05.log') size 10M;

Database altered

SQL> select * from V$LOGFILE;

   GROUP# STATUS  TYPE    MEMBER                                                                           IS_RECOVERY_DEST_FILE     CON_ID

---------- ------- ------- -------------------------------------------------------------------------------- --------------------- ----------

        3         ONLINE  /app/oracle/oradata/ORCL/redo03.log                                              NO                             0

        2         ONLINE  /app/oracle/oradata/ORCL/redo02.log                                              NO                             0

        1         ONLINE  /app/oracle/oradata/ORCL/redo01.log                                              NO                             0

        4         ONLINE  /app/oracle/oradata/ORCL/redo04.log                                              NO                             0

        4         ONLINE  /app/oracle/logfile/redo04.log                                                   NO                             0

        5         ONLINE  /app/oracle/oradata/ORCL/redo05.log                                              NO                             0

        5         ONLINE  /app/oracle/logfile/redo05.log                                                   NO                             0

7 rows selected

SQL> select * from V$LOG;

   GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME  NEXT_CHANGE# NEXT_TIME       CON_ID

---------- ---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- ----------- ------------ ----------- ----------

        1          1         18  209715200        512          1 YES      INACTIVE               7708613 2023/1/13 1      7708616 2023/1/13 1          0

        2          1         20  209715200        512          1 NO       CURRENT                7708737 2023/1/13 1 1.8446744073                      0

        3          1         17  209715200        512          1 YES      INACTIVE               7708610 2023/1/13 1      7708613 2023/1/13 1          0

        4          1          0   10485760        512          2 YES      UNUSED                       0                        0                      0

        5          1          0   10485760        512          2 YES      UNUSED                       0                        0                      0

5.4.3 删除日志组成员的状态

删除第 4 组日志的成员:/app/oracle/logfile/redo04.log

SQL> alter database drop logfile member '/app/oracle/logfile/redo04.log';

Database altered

SQL> select * from v$logfile;

   GROUP# STATUS  TYPE    MEMBER                                                                           IS_RECOVERY_DEST_FILE     CON_ID

---------- ------- ------- -------------------------------------------------------------------------------- --------------------- ----------

        3         ONLINE  /app/oracle/oradata/ORCL/redo03.log                                              NO                             0

        2         ONLINE  /app/oracle/oradata/ORCL/redo02.log                                              NO                             0

        1         ONLINE  /app/oracle/oradata/ORCL/redo01.log                                              NO                             0

        4         ONLINE  /app/oracle/oradata/ORCL/redo04.log                                              NO                             0

        5         ONLINE  /app/oracle/oradata/ORCL/redo05.log                                              NO                             0

        5         ONLINE  /app/oracle/logfile/redo05.log                                                   NO                             0

6 rows selected

SQL> select * from v$log;

   GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME  NEXT_CHANGE# NEXT_TIME       CON_ID

---------- ---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- ----------- ------------ ----------- ----------

        1          1         18  209715200        512          1 YES      INACTIVE               7708613 2023/1/13 1      7708616 2023/1/13 1          0

        2          1         20  209715200        512          1 NO       CURRENT                7708737 2023/1/13 1 1.8446744073                      0

        3          1         17  209715200        512          1 YES      INACTIVE               7708610 2023/1/13 1      7708613 2023/1/13 1          0

        4          1          0   10485760        512          1 YES      UNUSED                       0                        0                      0

SQL> host ls -l /app/oracle/logfile/

总用量 20488

-rw-r----- 1 oracle oinstall 10486272 1月  13 12:32 redo04.log

-rw-r----- 1 oracle oinstall 10486272 1月  13 12:33 redo05.log

SQL> host rm -rf /app/oracle/logfile/redo04.log

 

SQL> host ls -l /app/oracle/logfile/

总用量 10244

-rw-r----- 1 oracle oinstall 10486272 1月  13 12:33 redo05.log

6、移动日志文件的位置

希望把第 4 组和第 8 组的日志文件修改为另一个名称,并添加一个成员,使每组日志具有两个成员。可以进行如下操作:


6.1 重新启动数据库为 mount 状态

SQL> startup force mount;

SQL> SELECT a.status FROM v$instance a;

STATUS

------------

MOUNTED

6.2 更改日志文件的名称

SQL> alter database rename file '/app/oracle/logfile/redo05.log' to '/app/oracle/logfile/redo05_2.log';

alter database rename file '/app/oracle/logfile/redo05.log' to '/app/oracle/logfile/redo05_2.log'

ORA-01511: 重命名日志/数据文件时出错

ORA-01512: 重命名日志文件 /app/oracle/logfile/redo05.log 时出错 - 未找到新文件 /app/oracle/logfile/redo05_2.log

ORA-27037: 无法获得文件状态

Linux-x86_64 Error: 2: No such file or directory

Additional information: 7

SQL> host cp /app/oracle/logfile/redo05.log /app/oracle/logfile/redo05_2.log

SQL> host ls -l /app/oracle/logfile

总用量 20488

-rw-r----- 1 oracle oinstall 10486272 1月  13 14:30 redo05_2.log

-rw-r----- 1 oracle oinstall 10486272 1月  13 14:20 redo05.log

SQL> alter database rename file '/app/oracle/logfile/redo05.log' to '/app/oracle/logfile/redo05_2.log';

Database altered


6.3 删除原有文件

SQL> host ls -l /app/oracle/logfile

总用量 20488

-rw-r----- 1 oracle oinstall 10486272 1月  13 14:30 redo05_2.log

-rw-r----- 1 oracle oinstall 10486272 1月  30 10:39 redo05.log

SQL> host rm -rf /app/oracle/logfile/redo05.log

SQL> host ls -l /app/oracle/logfile

总用量 10244

-rw-r----- 1 oracle oinstall 10486272 1月  13 14:30 redo05_2.log

6.4 打开数据库,查询日志组和日志成员信息

SQL> alter database open;

Database altered

SQL> SELECT * FROM v$instance;

INSTANCE_NUMBER INSTANCE_NAME    HOST_NAME                                                        VERSION           VERSION_LEGACY    VERSION_FULL      STARTUP_TIME STATUS       PARALLEL    THREAD# ARCHIVER LOG_SWITCH_WAIT LOGINS     SHUTDOWN_PENDING DATABASE_STATUS   INSTANCE_ROLE      ACTIVE_STATE BLOCKED     CON_ID INSTANCE_MODE EDITION FAMILY                                                                           DATABASE_TYPE

--------------- ---------------- ---------------------------------------------------------------- ----------------- ----------------- ----------------- ------------ ------------ -------- ---------- -------- --------------- ---------- ---------------- ----------------- ------------------ ------------ ------- ---------- ------------- ------- -------------------------------------------------------------------------------- ---------------

             1 orcl             node1.x88.com                                                    19.0.0.0.0        19.0.0.0.0        19.3.0.0.0        2023/1/13 12 OPEN         NO                1 STARTED                  ALLOWED    NO               ACTIVE            PRIMARY_INSTANCE   NORMAL       NO               0 REGULAR       EE                                                                                       SINGLE

SQL> SELECT status FROM v$instance;

STATUS

------------

OPEN

SQL> SELECT * FROM v$logfile;

   GROUP# STATUS  TYPE    MEMBER                                                                           IS_RECOVERY_DEST_FILE     CON_ID


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
8天前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
113 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
8天前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的控制文件与归档日志文件
本文介绍了Oracle数据库中的控制文件和归档日志文件。控制文件记录了数据库的物理结构信息,如数据库名、数据文件和联机日志文件的位置等。为了保护数据库,通常会进行控制文件的多路复用。归档日志文件是联机重做日志文件的副本,用于记录数据库的变更历史。文章还提供了相关SQL语句,帮助查看和设置数据库的日志模式。
【赵渝强老师】Oracle的控制文件与归档日志文件
|
6天前
|
Windows Python
如何反向读取Windows系统日志EVTX文件?
以下是如何反向读取Windows系统日志EVTX文件
16 2
|
8天前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle的参数文件与告警日志文件
本文介绍了Oracle数据库的参数文件和告警日志文件。参数文件分为初始化参数文件(PFile)和服务器端参数文件(SPFile),在数据库启动时读取并分配资源。告警日志文件记录了数据库的重要活动、错误和警告信息,帮助诊断问题。文中还提供了相关视频讲解和示例代码。
|
Oracle 关系型数据库 Shell
ORACLE清理、截断监听日志文件(listener.log)
原文:ORACLE清理、截断监听日志文件(listener.log)        在ORACLE数据库中,如果不对监听日志文件(listener.log)进行截断,那么监听日志文件(listener.log)会变得越来越大,想必不少人听说过关于“LISTENER.LOG日志大小不能超过2GB,超过会导致LISTENER监听器无法处理新的连接”,当然这个不是真理,不会绝对出现,只是发生在老旧的32bit Linux或Unix系统下面,真实的原因是一些32bit OS自带的文件系统不支持2GB以上的文件,导致监听服务进程(tnslsnr)append write日志文件出错。
1176 0
|
28天前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
152 64
|
18天前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
26 7
|
18天前
|
Oracle 关系型数据库 数据库
oracle数据库技巧
【10月更文挑战第25天】oracle数据库技巧
22 6
|
18天前
|
存储 Oracle 关系型数据库
Oracle数据库优化策略
【10月更文挑战第25天】Oracle数据库优化策略
17 5

推荐镜像

更多