【Oracle Database】数据库日志管理
admin
2023-04-19 08:23:09
0次
查询日志文件
SQL> col member for a50
SQL> select group#,status,type,member from v$logfile order by group#;

    GROUP# STATUS  TYPE    MEMBER
---------- ------- ------- --------------------------------------------------
         1         ONLINE  /u01/app/oracle/oradata/wallet/redo01.log
         2         ONLINE  /u01/app/oracle/oradata/wallet/redo02.log
         3         ONLINE  /u01/app/oracle/oradata/wallet/redo03.log

查询日志组
SQL> select group#,sequence#,members,bytes,status,archived from v$log;

    GROUP#  SEQUENCE#    MEMBERS      BYTES STATUS           ARC
---------- ---------- ---------- ---------- ---------------- ---
         1         25          1   52428800 INACTIVE         YES
         2         26          1   52428800 INACTIVE         YES
         3         27          1   52428800 CURRENT          NO

删除日志组1
SQL> alter database drop logfile group 1;
Database altered.

SQL> host rm -rf /u01/app/oracle/oradata/wallet/redo01.log

创建日志组1
SQL> alter database add logfile group 1
('/u01/app/oracle/oradata/wallet/redo01a.log','/u01/app/oracle/oradata/wallet/redo01b.log')
size 50M;
Database altered.

删除日志组2
SQL> alter database drop logfile group 2;
Database altered.

SQL> host rm -rf /u01/app/oracle/oradata/wallet/redo02.log

创建日志组2
SQL> alter database add logfile group 2
('/u01/app/oracle/oradata/wallet/redo02a.log','/u01/app/oracle/oradata/wallet/redo02b.log')
size 50M;
Database altered.

日志组切换
SQL> alter system switch logfile;
System altered.

执行检查点
SQL> alter system checkpoint;
System altered.

删除日志组3
SQL> alter database drop logfile group 3;
Database altered.

SQL> host rm -rf /u01/app/oracle/oradata/wallet/redo03.log

创建日志组3
SQL> alter database add logfile group 3
('/u01/app/oracle/oradata/wallet/redo03a.log','/u01/app/oracle/oradata/wallet/redo03b.log')
size 50M;
Database altered.

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

    GROUP# STATUS  TYPE    MEMBER
---------- ------- ------- --------------------------------------------------
         1         ONLINE  /u01/app/oracle/oradata/wallet/redo01a.log
         1         ONLINE  /u01/app/oracle/oradata/wallet/redo01b.log
         2         ONLINE  /u01/app/oracle/oradata/wallet/redo02b.log
         2         ONLINE  /u01/app/oracle/oradata/wallet/redo02a.log
         3         ONLINE  /u01/app/oracle/oradata/wallet/redo03b.log
         3         ONLINE  /u01/app/oracle/oradata/wallet/redo03a.log
         
SQL> select group#,sequence#,members,bytes,status,archived from v$log;

    GROUP#  SEQUENCE#    MEMBERS      BYTES STATUS           ARC
---------- ---------- ---------- ---------- ---------------- ---
         1         28          2   52428800 CURRENT          NO
         2          0          2   52428800 UNUSED           YES
         3          0          2   52428800 UNUSED           YES


增加日志文件
SQL>  alter database add logfile member
'/u01/app/oracle/oradata/wallet/redo01c.log' to group 1,
'/u01/app/oracle/oradata/wallet/redo02c.log' to group 2,
'/u01/app/oracle/oradata/wallet/redo03c.log' to group 3;
Database altered.

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

    GROUP# STATUS  TYPE    MEMBER
---------- ------- ------- --------------------------------------------------
         1         ONLINE  /u01/app/oracle/oradata/wallet/redo01b.log
         1 INVALID ONLINE  /u01/app/oracle/oradata/wallet/redo01c.log
         1         ONLINE  /u01/app/oracle/oradata/wallet/redo01a.log
         2         ONLINE  /u01/app/oracle/oradata/wallet/redo02a.log
         2         ONLINE  /u01/app/oracle/oradata/wallet/redo02b.log
         2 INVALID ONLINE  /u01/app/oracle/oradata/wallet/redo02c.log
         3         ONLINE  /u01/app/oracle/oradata/wallet/redo03a.log
         3         ONLINE  /u01/app/oracle/oradata/wallet/redo03b.log
         3 INVALID ONLINE  /u01/app/oracle/oradata/wallet/redo03c.log

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

    GROUP#  SEQUENCE#    MEMBERS      BYTES STATUS           ARC
---------- ---------- ---------- ---------- ---------------- ---
         1         28          3   52428800 CURRENT          NO
         2          0          3   52428800 UNUSED           YES
         3          0          3   52428800 UNUSED           YES
         
删除日志文件
SQL> alter database drop logfile member
'/u01/app/oracle/oradata/wallet/redo03c.log';
Database altered.

SQL> host rm -rf /u01/app/oracle/oradata/wallet/redo03c.log

SQL>  alter database drop logfile member
'/u01/app/oracle/oradata/wallet/redo02c.log';
Database altered.

SQL> host rm -rf /u01/app/oracle/oradata/wallet/redo02c.log


SQL> alter system switch logfile;

System altered.

SQL> alter system checkpoint;
System altered.

SQL>  alter database drop logfile member
'/u01/app/oracle/oradata/wallet/redo01c.log';
Database altered.

SQL> host rm -rf /u01/app/oracle/oradata/wallet/redo01c.log

移动日志文件
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> quit

[oracle@wallet01 ~]$ cp /u01/app/oracle/oradata/wallet/redo01b.log /u02/app/oracle/oradata/wallet/redo01b.log
[oracle@wallet01 ~]$ cp /u01/app/oracle/oradata/wallet/redo02b.log /u02/app/oracle/oradata/wallet/redo02b.log 
[oracle@wallet01 ~]$ cp /u01/app/oracle/oradata/wallet/redo03b.log /u02/app/oracle/oradata/wallet/redo03b.log  

[oracle@wallet01 ~]$ sqlplus / as sysdba
SQL> startup mount
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size                  2260088 bytes
Variable Size             335545224 bytes
Database Buffers          725614592 bytes
Redo Buffers                5517312 bytes
Database mounted.

SQL> alter database
rename file '/u01/app/oracle/oradata/wallet/redo01b.log'
to '/u02/app/oracle/oradata/wallet/redo01b.log';
Database altered.

SQL> alter database
rename file '/u01/app/oracle/oradata/wallet/redo02b.log'
to '/u02/app/oracle/oradata/wallet/redo02b.log';
Database altered.

SQL> alter database
rename file '/u01/app/oracle/oradata/wallet/redo03b.log'
to '/u02/app/oracle/oradata/wallet/redo03b.log';
Database altered.

SQL> alter database open;
Database altered.

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

    GROUP# STATUS  TYPE    MEMBER
---------- ------- ------- --------------------------------------------------
         1         ONLINE  /u01/app/oracle/oradata/wallet/redo01a.log
         1         ONLINE  /u02/app/oracle/oradata/wallet/redo01b.log
         2         ONLINE  /u02/app/oracle/oradata/wallet/redo02b.log
         2         ONLINE  /u01/app/oracle/oradata/wallet/redo02a.log
         3         ONLINE  /u02/app/oracle/oradata/wallet/redo03b.log
         3         ONLINE  /u01/app/oracle/oradata/wallet/redo03a.log


SQL> select dbid,name,log_mode from v$database;

      DBID NAME      LOG_MODE
---------- --------- ------------
3215665862 WALLET    NOARCHIVELOG

SQL> archive log list;
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            ?/dbs/arch
Oldest online log sequence     28
Current log sequence           29

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup mount
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size                  2260088 bytes
Variable Size             335545224 bytes
Database Buffers          725614592 bytes
Redo Buffers                5517312 bytes
Database mounted.

SQL> alter system set log_archive_dest_1='LOCATION=/u01/app/oracle/archive01/ mandatory';
System altered.

SQL> alter system set log_archive_dest_2='LOCATION=/u02/app/oracle/archive02/ optional';
System altered.

SQL> alter database archivelog;
Database altered.

SQL> alter database open;
Database altered.

SQL> select dbid,name,log_mode from v$database;

      DBID NAME      LOG_MODE
---------- --------- ------------
3215665862 WALLET    ARCHIVELOG

SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /u02/app/oracle/archive02/
Oldest online log sequence     28
Next log sequence to archive   29
Current log sequence           29

SQL> show parameter log_archive_dest_1;
NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
log_archive_dest_1                   string                            LOCATION=/u01/app/oracle/archi
                                                                       ve01/ mandatory                                                                       
SQL> show parameter log_archive_dest_2;
NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
log_archive_dest_2                   string                            LOCATION=/u02/app/oracle/archi
                                                                       ve02/ optional
SQL> show parameter log_archive_max
NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
log_archive_max_processes            integer                           4

SQL> show parameter log_archive_min_succeed_dest
NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
log_archive_min_succeed_dest         integer                           1

SQL> show parameter log_archive_format
NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
log_archive_format                   string                            %t_%s_%r.dbf

手动归档日志文件
SQL> alter system archive log current;
System altered.

归档目的地
SQL> set line 200
SQL> col dest_name for a30
SQL> col destination for a30
SQL> select dest_name,status,binding,destination from v$archive_dest;
DEST_NAME                      STATUS                      BINDING                     DESTINATION
------------------------------ --------------------------- --------------------------- ------------------------------
LOG_ARCHIVE_DEST_1             VALID                       MANDATORY                   /u01/app/oracle/archive01/
LOG_ARCHIVE_DEST_2             VALID                       OPTIONAL                    /u02/app/oracle/archive02/
LOG_ARCHIVE_DEST_3             INACTIVE                    OPTIONAL
LOG_ARCHIVE_DEST_4             INACTIVE                    OPTIONAL
LOG_ARCHIVE_DEST_5             INACTIVE                    OPTIONAL
LOG_ARCHIVE_DEST_6             INACTIVE                    OPTIONAL
LOG_ARCHIVE_DEST_7             INACTIVE                    OPTIONAL
LOG_ARCHIVE_DEST_8             INACTIVE                    OPTIONAL
LOG_ARCHIVE_DEST_9             INACTIVE                    OPTIONAL
LOG_ARCHIVE_DEST_10            INACTIVE                    OPTIONAL
LOG_ARCHIVE_DEST_11            INACTIVE                    OPTIONAL

归档进程
SQL> select * from v$archive_processes;
   PROCESS STATUS                         LOG_SEQUENCE STATE
---------- ------------------------------ ------------ ------------
         0 ACTIVE                                    0 IDLE
         1 ACTIVE                                    0 IDLE
         2 ACTIVE                                    0 IDLE
         3 ACTIVE                                    0 IDLE
         4 STOPPED                                   0 IDLE
         5 STOPPED                                   0 IDLE
         6 STOPPED                                   0 IDLE
         7 STOPPED                                   0 IDLE
         8 STOPPED                                   0 IDLE
         9 STOPPED                                   0 IDLE
        10 STOPPED                                   0 IDLE
        
归档日志文件
SQL> set line 200
SQL> col name for a50
SQL> col status for a10
SQL> select dest_id,name,sequence#,status from v$archived_log;

   DEST_ID Tablespace Name                                     SEQUENCE# Status
---------- -------------------------------------------------- ---------- ----------
         1 /u01/app/oracle/archive01/1_29_1007721545.dbf              29 A
         2 /u02/app/oracle/archive02/1_29_1007721545.dbf              29 A
         1 /u01/app/oracle/archive01/1_30_1007721545.dbf              30 A
         2 /u02/app/oracle/archive02/1_30_1007721545.dbf              30 A
         1 /u01/app/oracle/archive01/1_31_1007721545.dbf              31 A
         2 /u02/app/oracle/archive02/1_31_1007721545.dbf              31 A
         1 /u01/app/oracle/archive01/1_32_1007721545.dbf              32 A
         2 /u02/app/oracle/archive02/1_32_1007721545.dbf              32 A


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...