精华内容
下载资源
问答
  • ORACLE归档日志增大的原因

    千次阅读 2019-06-12 09:11:42
    ORACLE归档日志暴增排查思路 接到客户反馈,这段时间归档日志每天产出200G,左右,非常耗费带宽跟资源。 存储同步 /arch 用来存放归档日志,2分钟400MB,全天日志量200GB /backup/rman_backup用来存放数据库增量和...

    ORACLE归档日志暴增排查思路

    接到客户反馈,这段时间归档日志每天产出200G,左右,非常耗费带宽跟资源。

    • 存储同步
      /arch 用来存放归档日志,2分钟400MB,全天日志量200GB
      /backup/rman_backup用来存放数据库增量和归档日志备份,
      从存储复制角度来看,数据库所在磁盘加上归档日志就能实现数据库的恢复,备份策略和存储同步可以分开来规划。把备份的文件单独存放在NFS或者磁带上,把归档日志(压缩之后的备份),单独进行存储同步,以485/82,约6倍的压缩比,可以把每天200G的归档日志压缩到50G以下,会大大减少带宽占用。

    • 日志分析
      检查每天的日志生成,非常均匀,分析8:00-9:00,一个小时内的AWR报告,发现如下:
      每秒的redo size约为4MB,每小时就是15GB
      在这里插入图片描述

    • 检查日志来源于哪个对象,检查Segments by DB Blocks Changes
      在这里插入图片描述

    • 总结

    语句来自于:
    update AUTOPICK_LOG SET LOG_FILE_IND =‘T’ WHERE LOG_ID <= :1
    而该表总共约80万行记录,120M内容,
    在1小时内,对数据块的改变达到了4123 7664个数据块,所以还是要分析下业务3问题总结

    调整备份策略,至压缩方式。
    调整归档和备份的目录,不必全部都用于存储复制。
    检查对应的SQL,避免产生不必要的redo日志。

    展开全文
  • Oracle压缩数据表

    2012-09-28 23:20:24
    Oracle压缩数据的处理基于数据库块,其本质上是通过消除在数据库块中的重复数据来实现空间节约,具体方法如下:比较数据块中包含的所有字段或记录,其中重复的数据只在位于数据块开始部分的记号表(Symbol Table)中...
    Oracle压缩数据的处理基于
    数据库块,其本质上是通过消除在数据库块中的重复数据来实现空间节约,具体方法如下:比较数据块中包含的所有字段或记录,其中重复的数据只在位于数据块开始部分的记号表(Symbol Table)中存储一份,在其他行或字段出现同样的数据时,只记录一个指向记号表中相关数据的指针。 
    

    创建压缩表:

    create table Name(

    ......

    ) compress;

    alter table Name compress;

    alter table Name nocompress;

    物化视图的压缩:

    create materialized view ViewName compress

    as select ......;

    alter materialized view ViewName compress;

    分区表的压缩:

    create table Name (

    ......

    ) compress

    partition by ......;

    create table Name (

    ......

    )

    partition by ......(

    partition PartName ...... compress,

    partition PartName ...... compress,

    partition PartName ......

    );

    在表空间级别上定义压缩属性:

    create tablespace ...... default compress;

    alter tablespace ...... compress / nocompress;

    当压缩属性被定义在表空间上时,在其中创建表时,该特性将被表继承,但表级别的压缩属性会覆盖表空间的压缩属性。

    查看一个表是否为压缩表:

    select compression from user_table where table_name=TableName;

    查看一个表空间是否被压缩:

    select def_tab_compression from dba_tablespace where tablespace_name=TablespaceName;

    查看分区表各分区的压缩属性:

    select table_name, partition_name, compression from user_tab_partitions where table_name=TableName;

    表压缩的实现:

    压缩表的数据要能够被压缩,必须正确地使用批量装载或插入:

    1、在SQL * LOADER中使用直接路径(direct path)装载数据;

    2、执行create table ... as select语句;

    3、执行并行插入语句;

    4、执行串行插入语句并且使用append提示。

    alter table Name move compress / nocompress;

    性能分析:

    1、在批量装载或插入数据的过程中,由于压缩的同时进行,会引起CPU使用率提高,及导致装载时间明显增加。

    2、对于普通的INSERT语句,由于没有执行压缩过程,性能几乎没有影响。

    3、用DELETE语句删除压缩表的操作会比较快,主要是因为压缩表中被压缩行的数据比较小,相应的需要写日志的数据量也比较小。

    4、更新压缩的操作会比较慢,主要由于ORACLE对非压缩表执行了一些优化。

    5、在IO吞吐率受限制的系统执行大批量查询,比如全表扫描,压缩表将明显提高查询速度,主要由于压缩后,查找同样的数据行只需要读取更少的数据块。

     

    注意:

    1、如果经常都表进行插入或删除操作,建议不要用压缩表,这样会影响效率,因为当对该表进行插入时,会先把压缩的数据进行解压,再插入,所以会影响效率。

    2、如果该压缩表有索引的话,还需要重建索引,否则会失效。

     

    展开全文
  • Oracle 11g新特性 — DG压缩传送日志

    千次阅读 2012-05-31 09:16:39
    Oracle 11g新特性 — DG压缩传送日志 http://www.anysql.net/oracle/oracle11g_compres_log_transfer.html
    展开全文
  • Oracle TFA日志收集工具简介

    千次阅读 2017-06-02 15:09:53
    以下内容根据整理网络  TFA(Trace File Analyzer Collector)是个11.2版本上推出的用来收集Grid Infrastructure/RAC环境下的...TFA是类似diagcollection的一个oracle 集群日志收集器,而且TFA比diagcollection集中

        以下内容根据整理网络

        TFA (Trace File Analyzer Collector) 是个11.2版本上推出的用来收集Grid Infrastructure/RAC环境下的诊断日志的工具,它可以用非常简单的命令协助用户收集RAC里的日志,以便进一步进行诊断;TFA是类似diagcollection的一个oracle 集群日志收集器,而且TFA比diagcollection集中和自动化的诊断信息收集能力更强大。TFA有以下几个特点:
    • TFA可以在一台机器上执行一条简单的命令把所有节点的日志进行打包,封装
    • TFA可以在收集的过程中对日志进行”trim”操作,减少数据的收集量
    • TFA可以收集用来诊断用的“一段时间内”的数据
    • TFA可以把所有节点的日志收集并封装好放在某一个节点上以便传输阅读
    • TFA可以指定Cluster中的某一部分组件进行日志收集,如:ASM ,RDBMS,Clusterware
    • TFA可以根据条件配置对告警日志进行实时扫描(DB Alert Logs, ASM Alert Logs, Clusterware Alert Logs, etc)
    • TFA可以根据实时扫描的结果自动的收集诊断日志
    • TFA可以根据指定的错误进行对告警日志的扫描
    • TFA可以根据指定的错误扫描后的结果收集诊断日志

        目前TFA支持以下几种平台(TFA工具理论上提供所有数据库版本的支持,同时提供对RAC和非RAC数据库的支持。但是,从当前所见的文档中,未见提及10.2.0.4之前的版本):    
    • Intel Linux(Enterprise Linux, RedHat Linux, SUSE Linux)
    • Linux Itanium
    • Oracle Solaris SPARC
    • Oracle Solaris x86-64
    • AIX (requires bash shell version 3.2 or higher installed)
    • HPUX Itanium
    • HPUX PA-RISC

    所有平台都需要bash shell 3.2 以上版本及JRE 1.5以上版本支持。

    TFA工具最早在11.2.0.4版本中随grid软件默认安装,默认安装路径为grid的home目录。11.2.0.4之前版本的安装包中并未包含TFA工具,需要手工安装。

    Oracle官方列出的详细支持及安装情况如下

     
    TFA收集日志的流程如下
    1. DBA发出diagcollect命令,启动TFA日志收集进程。
    2. 本地TFA发送收集请求至其他节点的TFA,在其他节点上开始日志收集工作。
    3. 本地TFA也同时开始进行日志收集工作。
    4. 所有涉及节点的TFA日志都归档至发起diagcollect命令的"master"节点。
    5. DBA提取已归档的TFA日志信息,进行分析或提交SR进行处理

    TFA运行在Linux和Unix平台上的init,所以,这将是在服务器启动时自动启动。 默认的情况我们把这个脚本命名为init.tfa;
    所在位置取决于不同平台,如:
    Linux and Solaris: /etc/init.d/init.tfa
    Aix: /etc/init.tfa
    HP-UX: /sbin/init.d/init.tfa
    以下命令式在Linux平台下作为例子:
        
    1. 启动:
    2. /etc/init.d/init.tfa start
    3. 停止:
    4. /etc/init.d/init.tfa stop
    5. 重启:
    6. /etc/init.d/init.tfa restart

    手动收集诊断信息:

    我们通过调用tfactl的命令和诊断动词diagnostic来控制TFA收集我们期望的诊断信息。Tfactl 提供给用户多种可选择的模式进行收集,如,收集一个时间段内的日志信息来减少我们收集日志的量;
    具体操作的命令您可以通过以下方式看到:
         
    1. --------------------------------------------------------------
    2. $TFA_HOME/bin/tfactl diagcollect -h
    3. Usage: /u01/app/tfa/tfa_home/bin/tfactl diagcollect [-all | -database | -asm | -crs | -os | -install | -node | -tag ]
    4.         [-since <n><h|d>| -from <time> -to <time> | -for <time>]
    5.         [-copy | -nocopy] [-symlink][-notrim]
    6. Options:
    7.   -all       Collect logs of all types
    8.   -crs        Collect only CRS logs
    9.   -asm        Collect only ASM logs
    10.   -database  Collect only database logs from databases specified
    11.   -os         Collect only OS files
    12.   -install    Collect only INSTALL files
    13.   -node       Specify comma separated list of host names for collection.
    14.   -copy       Copy back the zip files to master node from all nodes
    15.   -nocopy    Does not copy back the zip files to master node from all nodes
    16.   -notrim     Does not trim the files collected
    17.   -symlink    This option should be used with -for.
    18.               Creates symlinks for files which are updated during the input time.
    19.   -since <n><h|d>   Files from past 'n' [d]ays or 'n' [h]ours
    20.   -from <time>        From time
    21.   -to <time>         To time
    22.   -for <time>        Specify a incident time.
    23.   -z <file>           Output file name
    24.   -tag <description>  Enter a tag for the zip(s) created

        在下面的例子中,我们使用了 -all,并告诉TFA收集诊断所有类型的日志,从午夜1月21日至1月21日13:00 进行收集。该命令将启动指定的诊断在后台收集所有群集节点上,压缩成zip文件放置在每个节点的TFA_HOME中(无论我们用哪种方法对诊断信息进行收集,日志信息都会被打包好放置在$TFA_HOME/repository的目录下):
        
    1. #收集日志
    2. $TFA_HOME/bin/tfactl diagcollect -all -from "Mon/dd/yyyy hh:mm:ss" -to "Mon/dd/yyyy hh:mm:ss"
    3. $TFA_HOME/bin/tfactl diagcollect -all -from "Jan/21/2013" -to "Jan/21/2013 13:00:00"

        此命令将收集指定时间段rdbms、ASM、grid、OS的各类型日志,如alert日志、trace文件、clusterware各组件的日志、listener日志、操作系统日志。执行过程中,对alert日志、listener日志等连续性的日志处理也比较智能,能够截取指定时段的日志,而不会将整个日志文件copy。如果部署有osw工具,还会自动收集osw的日志。
        如果需要指定日志收集范围,比如仅收集数据库的相关日志,可以使用tfactl diagcollect -database命令。更多的使用方法可以参考tfactl diagcollect -help输出。 

        TFA也带有自动收集的功能,可以对一些预定错误进行自动收集。预定的错误及收集规则可以参阅《Trace File Analyzer Collector User Guide》的Appendix B. Scan Events部分。该功能默认为关闭状态,可以使用以下命令手工启用:
         
    1. tfactl set autodiagcollect=ON
        TFA也能够承担一定的日志分析功能,能够实现一条命令自动对DB&ASM&CRS的alert日志、操作系统命令及部分osw日志进行分析,虽然与它的日志收集功能相比还不够强大。一个简单通用的分析命令:
         
    1. tfactl analyze -since 7d
    2. 这条命令将分析查找所有(包括DB/ASM/CRS/ACFS/OS/OSW/OSWSLABINFO)日志7天内ERROR级别的错误信息并提取。
        
        TFA工具默认仅对 root用户和grid用户授予使用权限,如果使用oracle用户执行tfactl diagcollect命令将收到报错。
        建议同样授予oracle用户使用TFA的权限,方便日常使用。root用户使用以下命令可以将oracle用户加入授权用户列表:
           
    1. tfactl access add -user oracle
    如果存在对收集日志的空间管理需求,可以使用tfactl set命令进行设置。当前设置情况可以通过
         
    1. tfactl print config

     
    关于TFA的bug,在MOS中有以下文章,可供参考
    1668630.1 1983567.1









    参考文档
    TFA Collector- The Preferred Tool for Automatic or ADHOC Diagnostic Gathering Across All Cluster Nodes [ID 1513912.2]
    便捷的日志收集和分析工具TFA





















    展开全文
  • oracle DG日志传输模式详解

    千次阅读 2019-07-26 14:01:56
    原文来自... 1. 日志传输方式 有两种日志传输方式(ARC和LGWR),第一种是采用ARC进程传输日志,其示意图如下: ... 注:上图来自《大话Oracle RAC》 其大致过程如下:...
  • oracle 学习日志--ORACLE EXP命令

    万次阅读 2011-07-06 14:28:43
    本文对Oracle数据的导入导出 imp ,exp 两个命令进行了介绍, 并对其相应的参数进行了说明,然后通过一些示例进行演练,加深理解.文章最后对运用这两个命令可能出现的问题(如权限不够,不同oracle版本)进行了探讨,并提出...
  • Oracle GI 日志收集工具 - TFA 简介

    千次阅读 2016-04-11 10:15:09
    的目的:TFA是个11.2版本上推出的用来收集Grid Infrastructure/RAC环境下的诊断日志的工具,它可以用非常简单的命令协助用户收集RAC里的日志,以便进一步进行诊断;TFA是类似diagcollection的一个
  • Oracle压缩

    2012-05-05 15:59:49
    Oracle压缩数据的处理基于数据库块,其本质上是通过消除在数据库块中的重复数据来实现空间节约,具体方法如下:比较数据块中包含的所有字段或记录,其中重复的数据只在位于数据块开始部分的记号表(Symbol Table)中...
  • oracle压缩 介绍

    千次阅读 2014-04-11 10:19:48
    Oracle从9i开始羞羞答答的引入表级压缩,一直以来都是像中国的核电站一样,宣传的用处大,论实际的贡献就不怎么样了。 Oracle11g似乎是正儿八经的要推广数据压缩技术了,专门推出了一个叫做Advance Compres
  •  1)将/oracle下的相关ARCHIVELOG日志文件移到别的文件系统下(保留一段时间的ARCHIVELOG日志即可,其他的可移走,用系统命令mv移走)。然后打包、压缩,备份到介质上,此时可将这些移出的文件删除。注意:别在原
  • 1)将/oracle下的相关ARCHIVELOG日志文件移到别的文件系统下(保留一段时间的ARCHIVELOG日志即可,其他的可移走,用系统命令mv移走)。然后打包、压缩,备份到介质上,此时可将这些移出的文件删除。注意:别在原来
  • oracle 日志文件位置

    千次阅读 2020-06-09 10:38:42
    alert 为运行日志的目录。 以下为 sql记录。 --先查锁 select * from v$lock where lmode > 0 and type in ('TM','TX'); --查用户名 select * from v$session where username = 'PROD_JCJ' -- 查...
  • oracle11g高级压缩

    2016-12-09 15:20:25
    oracle11g高级压缩 oracle11g版本推出基于数据块级别高级压缩,以前版本的表级别压缩限制较多,更适合于数据直接加载的数据仓库,在OLTP环境下使用较少,既然名叫高级压缩,在功能上应该是有相当大的提升。 高级压缩...
  • SQL server 日志压缩

    2015-12-03 15:21:51
    前些天做数据迁移,sqlserver 迁移到oracle 中,在恢复业务单位提供的备份数据到sqlserver2008中时,日志文件出其的大,数据才20G 日志文件都有60G了,磁盘一...SQL Server 2000/2005中可以快速压缩日志log文件 Proper
  • oracle定时备份压缩

    2013-05-20 16:20:07
    1)需创建存储目录 mkdir backup 2)编写shell脚步 ...export ORACLE_BASE=/opt/oracle --路径需...export ORACLE_HOME=$ORACLE_BASE/ora10gr2/db_1 --路径需按照实际路径更改 export PATH=$ORACLE_HOME/bin:$P
  • Oracle archive log 日志已满问题

    千次阅读 2016-11-18 14:47:20
    转自:... 一、背景 登陆Oracle时,提示 ORA-00257: archiver error.... 考虑到前些天已经扩大了硬盘空间,应该是archive log大小已经达到Oracle中对archive log大小的限制
  • 删除oracle 11g的警告日志和监听日志

    万次阅读 2012-10-19 13:05:23
    oracle 11g的监听日志和警告日志都是在/u01/oracle/diag/tnslsnr/oracle/listener目录和/u01/oracle/diag/rdbms/db1/db1目录下都有以下分别简称listener目录和db1目录。这两目录下都有如下目录:alert cdump hm ...
  • linux下,oracle的alert日志与listener日志定期备份 -----alert log---------- #cd /.../admain/budmp/ #mkdir -p bak  #LG=alert $ORACLE_SID.ora #cat  $LG gzip -9c > bak/ $LG.bak.`date +%Y%m%d`.gz && ...
  • 1.日志切换频率查询 SET LINE 150 PAGES 9999 COL "00" FOR A3 COL "01" FOR A3 COL "02" FOR A3 COL "03" FOR A3 COL "04" FOR A3 COL "05" FOR A3 COL "06" FOR A3 COL "07" FOR A3 COL "08" FOR A3 COL "09" FOR ...
  • Oracle Data Guard从宏观上来说,主要提供以下两个服务: 1)日志传输:主库把生成的Redo日志传输至备库; 2)日志应用:备库应用从主库传输过来的Redo日志。 本文先介绍其中的日志传输服务,日志应用服务在下节...
  • 对于oracle的表,数据库在日常使用过程中,不断的insert,delete,update操作,导致表和索引出现碎片是在所难免的事情,碎片多了,sql的执行效率自然就差了,道理很简单,高水位线(HWL)下的许多数据块都是无数据的...
  • oracle 11g的监听日志和警告日志都是在/opt/oracle/app/diag/tnslsnr/机器名/listener目录 其中警告日志在alert目录下,监听日志在trace目录下。listener目录下产生的日志文件比较大,是主要清理的对象。在listener...
  • 基于快照日志ORACLE数据表DELTA抽取算法,王雄,左杰,本文提出了一种对ORACLE数据表进行Delta抽取的算法.该算法是基于ORACLE数据库的快照日志结合XML文件而设计。它不仅能够减少数据仓库进行
  • 5:目录下重新生成新的日志压缩保存 tar zcvf listener-20131121.log.tar.gz listener.log.bak 删除原有的日志: rm listener.log.bak 今后准备编写脚本,定期备份监听日志,...
  • Oracle

    千次阅读 2018-04-15 22:05:57
    什么是oracle?Oracle公司,以数据库起家的,收购了sun【java mysql数据库】Oracle数据库是其中的产品之一。也是第一个提出sql命令的数据库。Oracle提供了数据的解决方案。 解决十万百万级数据而Windows 系统无法...
  • oracle数据多表多文件导出与压缩

    千次阅读 2018-03-20 18:22:31
    批处理流程进行基本文件操作,比如删除旧文件,导出处理日志等调用main.sql生成一个数据库表导出的sql脚本export.sql调用步骤2中生成的sql脚本export.sql,输出oracle数据到文件系统使用7z压缩文件批处理文件内容::-...
  • cd /oracle/OraHome1/network/log //进入监听日志目录,不同数据库监听日志目录会有差异 lsnrctl //进入监听器 set password //如果监听器有密码,需要通过此选项输入密码,否则上一条命令直接进入监听器 ****** /...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,092
精华内容 15,236
关键字:

oracle压缩日志