• redo log 日志#ocp实验#+改大小


    可以参考:http://www.2cto.com/database/201206/136574.html

    SQL> select name,log_mode from v$database;

    NAME LOG_MODE
    --------- ------------
    JSCE NOARCHIVELOG

    SQL> archive log list
    数据库日志模式 非存档模式
    自动存档 禁用
    存档终点 USE_DB_RECOVERY_FILE_DEST
    最早的联机日志序列 117
    当前日志序列 119

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

    GROUP# STATUS FIRST_CHANGE# NEXT_CHANGE#
    ---------- ---------------- ------------- ------------
    1 INACTIVE 1888087 1911357
    2 CURRENT 1911357 2.8147E+14
    3 INACTIVE 1861561 1888087

    SQL> alter system switch logfile;

    系统已更改。

    SQL> select current_scn from v$database;

    CURRENT_SCN
    -----------
    1917945

    SQL> alter system checkpoint;--做检查点

    系统已更改。

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

    GROUP# STATUS FIRST_CHANGE# NEXT_CHANGE#
    ---------- ---------------- ------------- ------------
    1 INACTIVE 1888087 1911357
    2 INACTIVE 1911357 1917909
    3 CURRENT 1917909 2.8147E+14

    OMF oracle管理文件

    SQL> show parameter db_create;

    NAME TYPE VALUE
    ------------------------------------ ----------- -------
    db_create_file_dest string
    db_create_online_log_dest_1 string
    db_create_online_log_dest_2 string
    db_create_online_log_dest_3 string
    db_create_online_log_dest_4 string
    db_create_online_log_dest_5 string

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

    GROUP#
    ----------
    MEMBER
    ---------------------------------------------------

    3
    E:\APP\XS\ORADATA\JSCE\REDO03.LOG

    2
    E:\APP\XS\ORADATA\JSCE\REDO02.LOG

    1
    E:\APP\XS\ORADATA\JSCE\REDO01.LOG


    GROUP#
    ----------
    MEMBER
    ---------------------------------------------------

    4
    E:\APP\XS\FLASH_RECOVERY_AREA\JSCE\ONLINELOG\O1_MF_

    归档模式-mount下操作

    SQL> alter database archivelog;
    alter database archivelog
    *
    第 1 行出现错误:
    ORA-01126: 数据库必须已装载到此实例并且不在任何实例中打开


    SQL> shutdown immediate;
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> startup mount
    ORACLE 例程已经启动。

    Total System Global Area 535662592 bytes
    Fixed Size 1375792 bytes
    Variable Size 226492880 bytes
    Database Buffers 301989888 bytes
    Redo Buffers 5804032 bytes
    数据库装载完毕。

    SQL> alter database archivelog;

    数据库已更改。

    SQL> archive log list;
    数据库日志模式 存档模式
    自动存档 启用
    存档终点 USE_DB_RECOVERY_FILE_
    最早的联机日志序列 118
    下一个存档日志序列 120
    当前日志序列 120
     SQL> alter database archivelog;

    SQL> show parameter log;--归档日志多个地址

    mount下打开database

    SQL> alter database open;

    数据库已更改。

    SQL> alter system archive log list;
    alter system archive log list
    *
    第 1 行出现错误:
    ORA-01974: 非法的归档选项


    SQL> alter system archive log current;
    alter system archive log current
    *
    第 1 行出现错误:
    ORA-00258: NOARCHIVELOG 模式下的手动归档必须标识日志


     

    SQL> select name from v$archived_log;--查看归档

    日志

    要做的实验

    1 将数据库日志模式由非归档改为归档模式(archive log list)
    2 查看v$log和v$logfile


    3 增加一个日志文件组4,组中放入一个成员(REDO04.LOG)

    SYS@ncbeta>alter database add logfile group 4 ('C:\app\dell\oradata\ncbeta\red00
    4.lgo') size 10M;

    数据库已更改。
    注意这里()里面需要加上单引号

    4 向日志文件组4再增加一个成员(REDO04a.LOG)

    SYS@ncbeta>alter database add logfile member 'C:\app\dell\oradata\ncbeta\red004a
    .log' to group 4;

    注意:alter 语句中不可设定redo04a.log的大小。

    Alter语句运行之后,生成的redo04a.log的大小与red004.lgo的大小一致。路径可以选择与默认路径不一致。


    5 将REDO01.LOG移动到一个新地方
    ( 日志文件的移动或重命名:
    1. 关闭数据库
    2. 使用操作系统的命令拷贝、移动或重命名重做日志文件
    3. 启动

    需要退出之后重新进入,并且starup mount


    4. 使用ALTER DATABASE RENAME FILE 'original name' TO 'new name'命令更新控制文件
    5. 打开数据库)

    6 删除日志成员和日志文件组(current、active)
    alter system switch logfile
    alter system checkpoint

    检查一下对应的物理文件是否被删除
    7 OMF
    检查一下对应的物理文件是否被删除

    8 设置归档目的地并测试归档

    9 日志文件的修复

    (1) SQL>alter database clear logfile group n;
    (2) SQL>alter database clear unarchived logfile group n;

    (3) SQL>recover database until cancel;
    SQL>alter database open resetlogs;
    SQL>archive log list;

    _allow_resetlogs_corruption

    附加:

    改变当前联机日志文件的大小

    系统环境:
      1、操作系统:Windows 2000
      2、数据库: Oracle 8i (8.1.7) for NT 企业版
      3、安装路径:D:\ORACLE
      
      实现方法:
      方法:加入新的大的日志文件,然后删掉旧的小的日志文件
      
      假设现有三个日志组,每个组内有一个成员,每个成员的大小为1MB,现在想把此三个日志组的成员大小都改为10MB
      
      1、创建2个新的日志组
      alter database add logfile group 4 ('D:\ORACLE\ORADATA\ORADB\REDO04_1.LOG') size 1024k;
      alter database add logfile group 5 ('D:\ORACLE\ORADATA\ORADB\REDO05_1.LOG') size 1024k;
      
      2、切换当前日志到新的日志组
      alter system switch logfile;
      alter system switch logfile;

    alter system archive log current

    alter system checkpoint;

    注意:alter system switch logfile 和alter system archive log current这两个切换的区别。
    alter system switch logfile 是不等待归档完成就switch logfile。如果database尚未开启archive log mode。那用这个切换是毋庸置疑了。另外,也是对单实例database和RAC模式下当前实例执行日志切换。
    而alter system archive log current则需要等待归档完成才switch logfile。会对中所有实例执行日志切换。
    整体上说来,在自动归档的库里,两个命令的所产生的结果几乎一样。有区别的是alter system archive log current所用的时间会比alter system switch logfile 的长。

    两个执行之后,可以将联机日志触发DBWR,写入数据文件,变成inactive删除,否则有可能在drop的时候提示


      
      3、删除旧的日志组

    原则:删除前必须遵守如下原则,每个实例必须至少有两个日志组;当一个组处于ACTIVE或者CURRENT的状态时不可删除;删除日志组的操作只对数据库进行更改,操作系统的文件尚未删除;当删除时适用DROP LOGFILE GROUP N语句时,此时GROUP N内的所有成员都将被删除。
    ALTER DATABASE DROP LOGFILE GROUP N;
    删除日志成员的原则:当你删除一个是该组中最后一个成员的时候,你不能删除此成员;当组的转台处于current的状态时,不能删除组成员;在归档模式下,必须得归档之后才能删除;删除日志组成员的操作只对数据库进行更改,操作系统的文件尚未删除
    ALTER DATABASE DROP LOGFILE MEMBER '/LOCATION_DUST/REDO0N_N.LOG';
     


      alter database drop logfile group 1;
      alter database drop logfile group 2;
      alter database drop logfile group 3;
      
      4、操作系统下删除原日志组1、2、3中的文件
      
      5、重建日志组1、2、3
      alter database add logfile group 1 ('D:\ORACLE\ORADATA\ORADB\REDO01_1.LOG') size 10M;
      alter database add logfile group 2 ('D:\ORACLE\ORADATA\ORADB\REDO02_1.LOG') size 10M;
      alter database add logfile group 3 ('D:\ORACLE\ORADATA\ORADB\REDO03_1.LOG') size 10M;
      
      6、切换日志组
      alter system switch logfile;
      alter system switch logfile;
      alter system switch logfile;
      
      7、删除中间过渡用的日志组4、5
      alter database drop logfile group 4;
      alter database drop logfile group 5;
      
      8、到操作系统下删除原日志组4、5中的文件
      
      9、备份当前的最新的控制文件
      SQL> connect internal
      SQL> alter database backup controlfile to trace resetlogs

  • 相关阅读:
    Ubunut 安装 Mariadb 数据库
    编译 APISIX
    Watchtower 自动更新 Docker 镜像与容器
    Drone 教程
    异步任务工具类
    Html 转 PDF
    数据中台
    九大数据分析方法:指标拆解法
    用户画像
    Hudi的更新机制
  • 原文地址:https://www.cnblogs.com/sumsen/p/2827039.html
Copyright © 2020-2023  润新知