精华内容
下载资源
问答
  • Oracle数据库中,redo文件的block大小(blocksize)是跟平台相关,因此redo文件的block size是无法改变 至于如何查看redo文件的blocksize,有两种方法: 1.直接查询v$lo...
    Oracle数据库中,redo文件的block大小(blocksize)是跟平台相关的,因此redo文件的block size是无法改变的

    至于如何查看redo文件的blocksize,有两种方法:
    1.直接查询v$log视图
    在Oracle 11g之后,可以直接通过查询v$log.blocksize就可以查到
    如下:

    点击(此处)折叠或打开

    1. SQL> select * from v$log;

    2.     GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
    3. ---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------- ------------ ---------
    4.          1 1 289 52428800 512 1 YES INACTIVE 2686107 30-JUL-16 2706826 30-JUL-16
    5.          2 1 290 52428800 512 1 YES INACTIVE 2706826 30-JUL-16 2727425 30-JUL-16
    6.          3 1 291 52428800 512 1 NO CURRENT 2727425 30-JUL-16 2.8147E+14
    可以看到Linux平台下的BLOCKSIZE为512

    2.dump logfile查看blocksize大小
    方法如下:
    a. ALTER SESSION SET EVENTS 'immediate trace name redohdr level 10';
    b.在udump目录下查看相应的trc文件
    c.在trc文件中找“bsz=”内容,即是redolog文件的blocksize

    点击(此处)折叠或打开

    1. *** 2016-07-31 07:35:36.164
    2. DUMP OF LOG FILES: 3 logs in database
    3. LOG FILE #1:
    4.   name #3: /home/oracle/app/oracle/oradata/orcl/redo01.log
    5.  Thread 1 redo log links: forward: 2 backward: 0
    6.  siz: 0x19000 seq: 0x00000121 hws: 0x7 bsz: 512 nab: 0x1d0 flg: 0x1 dup: 1
    7.  Archive links: fwrd: 0 back: 0 Prev scn: 0x0000.0028ac04
    8.  Low scn: 0x0000.0028fc9b 07/30/2016 20:46:26
    9.  Next scn: 0x0000.00294d8a 07/30/2016 20:49:40
    10.  FILE HEADER:
    11.         Compatibility Vsn = 186647552=0xb200400
    12.         Db ID=1434730535=0x55844027, Db Name='ORCL'
    13.         Activation ID=1434687783=0x55839927
    14.         Control Seq=6323=0x18b3, File size=102400=0x19000
    15.         File Number=1, Blksiz=512, File Type=2 LOG
    16.  Format ID is 2
    17.  redo log key is 214e32a54a14bea8f0de67f8c53a9f
    18.  redo log key flag is 5
    19.  descrip:"Thread 0001, Seq# 0000000289, SCN 0x00000028fc9b-0x000000294d8a"
    20.  thread: 1 nab: 0x1d0 seq: 0x00000121 hws: 0x7 eot: 0 dis: 0
    21.  reset logs count: 0x360ef4a8 scn: 0x0000.000e2006
    22.  Low scn: 0x0000.0028fc9b 07/30/2016 20:46:26
    23.  Next scn: 0x0000.00294d8a 07/30/2016 20:49:40
    24.  Enabled scn: 0x0000.000e2006 03/20/2016 02:30:00
    25.  Thread closed scn: 0x0000.00294d88 07/30/2016 20:49:25
    26.  Disk cksum: 0x2d4 Calc cksum: 0x2d4
    27.  Terminal Recovery Stop scn: 0x0000.00000000
    28.  Terminal Recovery Stamp 01/01/1988 00:00:00
    29.  Most recent redo scn: 0x0000.00000000
    30.  Largest LWN: 0 blocks
    31.  Miscellaneous flags: 0x800000
    32.  Thread internal enable indicator: thr: 0, seq: 0 scn: 0x0000.00000000
    33.  Zero blocks: 8
    34.  Enabled redo threads: 1
    35. LOG FILE #2:
    36.   name #2: /home/oracle/app/oracle/oradata/orcl/redo02.log
    如上所示,blocksize为512

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23850820/viewspace-2122778/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/23850820/viewspace-2122778/

    展开全文
  • 如何调整Oracle Redo Logfile日志文件的大小SQL> col member for a30SQL> select * from v$logfile;GROUP# STATUS TYPE MEMBER IS_---------- ------- ------- ----------------------------...

    如何调整Oracle Redo Logfile日志文件的大小

    6ee5639a40442445944d63b514b2dd02.png

    SQL> col member for a30

    SQL> select * from v$logfile;

    GROUP# STATUS  TYPE    MEMBER                         IS_

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

    1         ONLINE  /data1/dbstat/redo01.dbf       NO

    3 STALE   ONLINE  /data1/dbstat/redo3.log        NO

    2         ONLINE  /data1/dbstat/redo2.log        NO

    SQL> alter database drop logfile group 2;

    alter database drop logfile group 2

    *

    ERROR at line 1:

    ORA-01623: log 2 is current log for instance dbstat (thread 1) - cannot drop

    ORA-00312: online log 2 thread 1: '/data1/dbstat/redo2.log'Inactive的删除后,增加新的日志文件:

    SQL> alter database drop logfile group 3;

    Database altered.

    SQL> alter database add logfile group 3 ('/data1/dbstat/redo03.dbf') size 2048M reuse;

    Database altered.

    SQL> select * from v$logfile;

    GROUP# STATUS  TYPE    MEMBER                         IS_

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

    1         ONLINE  /data1/dbstat/redo01.dbf       NO

    3         ONLINE  /data1/dbstat/redo03.dbf       NO

    2         ONLINE  /data1/dbstat/redo2.log        NO

    SQL> set linesize 120

    SQL> select * from v$Log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME

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

    1          1          0 2147483648          1 YES UNUSED                       0

    2          1         11   52428800          1 NO  CURRENT                 203206 2009-09-17 18:56:08

    3          1          0 2147483648          1 YES UNUSED                       0

    切换日志组,当CURRENT变为非活动时(INACTIVE)将其删除:

    SQL> alter system switch logfile;

    System altered.

    SQL> alter database drop logfile group 2;

    alter database drop logfile group 2

    *

    ERROR at line 1:

    ORA-01624: log 2 needed for crash recovery of instance dbstat (thread 1)

    ORA-00312: online log 2 thread 1: '/data1/dbstat/redo2.log'

    SQL> alter system switch logfile;

    System altered.

    SQL> select * from v$Log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME

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

    1          1         12 2147483648          1 NO  ACTIVE                  203704 2009-09-17 19:04:23

    2          1         11   52428800          1 NO  ACTIVE                  203206 2009-09-17 18:56:08

    3          1         13 2147483648          1 NO  CURRENT                 203710 2009-09-17 19:04:38

    SQL> alter system checkpoint;

    System altered.

    SQL> select * from v$Log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME

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

    1          1         12 2147483648          1 NO  INACTIVE                203704 2009-09-17 19:04:23

    2          1         11   52428800          1 NO  INACTIVE                203206 2009-09-17 18:56:08

    3          1         13 2147483648          1 NO  CURRENT                 203710 2009-09-17 19:04:38

    SQL> alter database drop logfile group 2;

    Database altered.

    SQL> alter database add logfile group 2 ('/data1/dbstat/redo02.dbf') size 2048M;

    Database altered.

    SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME

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

    1          1         12 2147483648          1 NO  INACTIVE                203704 2009-09-17 19:04:23

    2          1          0 2147483648          1 YES UNUSED                       0

    3          1         13 2147483648          1 NO  CURRENT                 203710 2009-09-17 19:04:38现在就可以应对大规模的日志操作了。

    -The End-

    By eygle on 2009-09-22 09:18 |

    Comments (7) |

    HowTo | 2406 |

    7 Comments

    现在我也把我们系统的日志文件设置成2G了,但是导致的问题是归档等待的时间长了;还有就是由于用到了streams replication,导致logmnr的性能下降

    在做一些海量数据的整理工作,需要大一些的日志。

    日志的大小要看具体环境了。

    展开全文
  • ORACLERedo日志文件丢失恢复 目录: 当前Redo日志丢失恢复 非当前Redo日志丢失恢复 一、当前Redo日志丢失恢复 数据库open状态下: 常规方法,只能通过热备份所有数据文件来恢复,因为数据库已经不一致。 ...

    ORACLE之Redo日志文件丢失恢复

    目录:

    • 当前Redo日志丢失恢复
    • 非当前Redo日志丢失恢复

    一、当前Redo日志丢失恢复

    数据库open状态下:

    常规的方法,只能通过热备份的所有数据文件来恢复,因为数据库已经不一致。

    1. 查看当前日志组:
      在这里插入图片描述
      在这里插入图片描述

    2. 我们将日志组1删除:
      在这里插入图片描述

    3. 触发错误:(命令执行是成功的,但是redo01没有办法进行归档了)
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    4. 将所有文件进行删除,然后从我们的备份中拷贝回来:
      在这里插入图片描述

    5. 启动数据库到mount状态执行恢复:

      SQL> recover database until cancel using backup controlfile;
      ORA-00279: change 2239494 generated at 02/14/2021 04:40:36 needed for thread 1
      ORA-00289: suggestion : /u01/app/oracle/archive2/arch_orcl_1_3_1064464371.dbf
      ORA-00280: change 2239494 for thread 1 is in sequence #3
      
      
      Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
      /u01/app/oracle/archive2/arch_orcl_1_3_1064464371.dbf
      SP2-0734: unknown command beginning "/u01/app/o..." - rest of line ignored.
      SQL> recover database until cancel using backup controlfile;
      ORA-00279: change 2240089 generated at 02/14/2021 04:55:35 needed for thread 1
      ORA-00289: suggestion : /u01/app/oracle/archive2/arch_orcl_1_4_1064464371.dbf
      ORA-00280: change 2240089 for thread 1 is in sequence #4
      
      
      Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
      cancel
      Media recovery cancelled.
      SQL>
      
      
    6. 打开数据库(成功)

      SQL> alter database open resetlogs;
      
      Database altered.
      
      SQL> archive log list;
      Database log mode              Archive Mode
      Automatic archival             Enabled
      Archive destination            /u01/app/oracle/archive2/
      Oldest online log sequence     1
      Next log sequence to archive   1
      Current log sequence           1
      SQL>
      
      
    数据库close状态下:

    当在关闭状态下当前日志组所有日志成员全部出现介质失败时,因为数据文件,控制文件都处于完全一致的状态,所有只需要使用RECOVER DATABASE UNTIL CANCEL命令执行基于取消的不完全恢复,然后用RESETLOGS选项打开数据库即可。

    SQL> startup mount;

    SQL> recover database until cancel;
    cancel

    alter database open resetlogs;

    二、非当前Redo日志丢失恢复

    当前日志组状态:
    在这里插入图片描述
    我们删除掉日志组三:
    在这里插入图片描述
    日志切换报错:
    在这里插入图片描述

    1. 执行恢复
      在这里插入图片描述
      在这里插入图片描述

    恢复成功

    展开全文
  • OracleREDO日志

    2016-06-30 15:45:57
    Oracle的数据库日志称为redo log,所有数据改变都记录redo log,可以用于修复受损的数据库。Redo日志是分组的,,默认是三组。Redo日志是轮流使用的,一个redo log满了,LGWR会切换到...1.查看系统的redo log信息: ...

    Oracle的数据库日志称为redo log,所有数据改变都记录redo log,可以用于修复受损的数据库。Redo日志是分组的,,默认是三组。Redo日志是轮流使用的,一个redo log满了,LGWR会切换到下一组redo log,这种操作称为log switch,做log switch的同时也会做checkpoint,相应的信息还会写入控制文件。

    1.查看系统的redo log信息:

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

    SQL> select member from v$logfile;

    2.添加日志组

    alter database add logfile group 4 ('D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\redo04.log') size 50m;


          3.添加日志组(指定日志已经存在)

    alter database add logfile group 4 ('D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\redo04.log') size 50m reuse;

    4.添加日志成员

    alter database add logfile member 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\redo0401.log' to group 4;


           5.添加日志成员(指定日志已经存在)

    alter database add logfile member 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\redo0401.log'  reuse to group 4;

    6.删除日志组

         alter database drop logfile group 4;


          7.删除日志成员

    alter database drop logfile member 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\redo0401.log';


         8.给日志组文件换一个位置

    (1)shutdown database
           (2) copy the online redo log files to the new location;
           (3) start database to mount;
           (4)execute the command
             alter database rename file 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\redo0401.log' to               'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\redo0401.log';
          (5)open database

    9.归档Redo log文件

    启动日志归档有两个好处:
             1,带有归档日志的数据库备份可以恢复到任意时间点。
              2,可以在线备份数据库。 缺省情况下,数据库是非归档日志模式。如果你的数据很重要,应该启用归档日志模式,否则数据库损坏时很可能只能恢复到上一次备份时的状态了。可以用以下两条命令检查数据库的归档日志模式: SQL> select archiver from v$instance; SQL> archive log list; 

    展开全文
  • Oracle增大redo log file方法

    千次阅读 2012-04-29 22:22:32
    Oracle 10g,RAC环境,AIX操作系统,原来系统的redo文件为,每个节点5组,每组1个成员,每组的文件大小为250M。 在系统繁忙时间,因为redo日志切换过于频繁,11秒到35秒左右切换一次,alert会有Can not allocate ...
  • 1.查看当前日志组成员: SQL> select member from v$logfile; MEMBER --------------------------------------------...C:\ORACLE\PRODUCT\10.2.0\ORADATA\FYDB\REDO01.LOG C:\ORACLE\PRODUCT\10.2.0\ORADA...
  • oracle-redo日志分析

    2020-08-18 17:13:09
    添加要查看的日志文件 exec dbms_logmnr.add_logfile(logfilename=>'/opt/oracle/app/oradata/orcl/redo01.log',options=>dbms_logmnr.new); exec dbms_logmnr.add_logfile(logfilename=>'/opt/oracle/app...
  • 移动redo文件路径,默认的redo log文件的路径和archivelog的路径一样,在闪回区,因为闪回区有大小限制,所以redo log和archive log特别是archive log越来越多后,会撑...查看现有的redo文件路径,看到默认的在闪...
  • 1)设置Oracle数据字典导出路径参数(可选)shutdown immediatealter system set UTL_FILE_DIR='/opt/oracle/utl' scope=spfile;execute dbms_logmnr_d.build(dictionary_filename => 'logminer_dict.ora', ...
  • 可以观察redo log file切换时间,考虑增加文件大小,如果 redo log文件太大也可能会造成数据丢失风险。 查看redo log 查看日志文件切换时间 SELECT b.recid, to_char( b.first_time, 'yyyy-mon-dd hh24:mi:ss'...
  • 重建redo文件

    2021-03-12 15:37:39
    由于前期安装oracleredo文件大小或者路径规划不合理需要进行修改,以便满足性能测试要求。redo文件规划大小建议与生产环境一致。 重做日志相关数据字典 1、v$log 记录数据库中有多少个重做日志组,每个组中有...
  • oracle redo管理

    2015-08-30 15:38:18
    1.分类Oracle几类日志文件 Redo log files –>联机重做日志 Archive log files –>归档日志 Alert log files –>告警日志 Trace files –>跟踪日志 user_dump_dest –>用户跟踪日志 backupground_dump_dest –>...
  • 1.查看现在的REDO GROUP及状态:  select * from v$log; 查看状态为: INACTIVE 己写入数据库的文件 CURRENT当前用的日志文件 ACTIVE己激活的日志文件 删除INACTIVE状态的文件 alter dat
  • Oracle redolog 丢失故障处理

    千次阅读 2011-08-13 18:47:19
    Oracle的重做日志文件(Online redo logfile)循环记录了数据库所有的事务。它的大小、个数和存储位置对数据库性能和恢复有重要影响。它一般由大小相同的几组文件构成。我们可以查看数据库视图v$logfile知道redo log...
  • oracle redo日志恢复

    2012-04-20 16:50:30
    oracle redo日志恢复Oracle备份恢复中,redo的恢复相对来说还是比较简单,只要保证每组成员不止一个,出现问题几率就相当小,即使出了问题我们也可按照不同方法将他们恢复,所以如果碰到日志文件损坏,完全...
  • 点击查看全文 冷菠,资深DBA,著有《Oracle高性能自动化运维》,有近10年数据库...Oracle Redo是以条目(Redo record)形式记录数据库所有更改操作。这些更改包括数据库物理文件的更改,数据库运行状况
  • Oracle中修改redo log size原因和方法假设现有三个日志组,每个组内有一个成员,每个成员大小为1MB,现在想把此三个日志组成员大小都改为10MB查看当前日志文件状态select group#,status from v$log;...
  • 尤其是在表上使用TDE时,11g与redo日志兼容得更好,大家如果想进一步探索其内部存储,可以使用MyDUL进一步对数据文件进行挖掘,如果数据文件较小,可以用UltraEdit直接编辑查看。   A: 10g环境下,表上...
  • oracle redo日志恢复

    2011-05-30 16:23:00
    Oracle备份恢复中,redo的恢复相对来说还是比较简单,只要保证每组成员不止一个,出现问题几率就相当小,即使出了问题我们也可按照不同方法将他们恢复,所以如果碰到日志文件损坏,完全不必紧张!按照下面...
  • 1.查看当前日志组成员: SQL> select member from v$logfile; MEMBER ----------------------------------------------...C:\ORACLE\PRODUCT\10.2.0\ORADATA\FYDB\REDO01.LOG C:\ORACLE\PRODUCT\10.2.0\ORADATA\F
  • Oracle调优之redo相关

    2010-04-14 14:33:19
    LGWR将redo buffer中的redo entire写到重做日志文件中,LGWR进程只有1个。 LGWR在下列情况下对重做日志文件进行写入 commit发生时, 每3秒 redo buffer 1/3满时 超过1M时 在DBWn写之前 如何查看red...
  • 问题:本人现在要把oracle的数据同步到mysql,运用的ETL工具,由于数据量很大,而且有子查询要用到临时表空间,导致原来的该临时表空间,空间不足,根据报错直接想到了给该临时表空间添加临时文件查看了它原有的...
  • 一.实例故障和介质故障: ...1.instance 故障: ... 实例恢复(instance recovery) 实例部分崩溃,如:RAC有四个节点没有全挂, ... 崩溃恢复(crash recovery) 实例全部崩溃 ,如:...3.实例恢复和介质恢复相同点:
  • oracle 是日志前写式数据库,即在写入数据文件一定先保证日志写完。下面这个测试。是在没有当前日志组情况,提交依然可以正常保存数据。可以想想为什么,以便更深入理解oracle内部运做。 以sys用户登陆,查看当前...
  • v$log 查看当前哪个组在运行 v$logfile 每组log物理路径 强制切换另一组: ALTER SYSTEM SWITCH LOGFILE; 添加group: ALTER DATABASE ADD LOGFILE GROUPN ('路径', '镜像路径') SIZE文件大小 ; 删除group:...
  • 在线修改redo.log文件的大小 关键字: 在线修改redo.log文件的大小 1.查看当前日志组成员: SQL> select member from v$logfile; MEMBER ------------------------------------------------------ C:\...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 147
精华内容 58
关键字:

查看oracle的redo文件