精华内容
下载资源
问答
  • 日志数据存储在什么数据库
    千次阅读
    2021-04-30 08:27:45

    Automatic Diagnostic Repository (ADR),ADR 基目录中可以包含多个ADR 主目录,其中每个ADR 主目录都是一个根目录,用于存放特定Oracle 产品或组件的特定实例的全部诊断数据。另外,还生成了两个预警文件。一个是文本形式的预警文件(与早期版本Oracle DB 使用的预警文件非常相似),位于各个ADR 主目录的TRACE 目录下。还有一个符合XML 标准的预警消息文件,存储在ADR 主目录内的ALERT 子目录下。可使用EnterpriseManager 和ADRCI 实用程序查看文本格式的预警日志。

    视图v$diag_info列出了所有重要的ADR 位置:

    SQL> select name,value from v$diag_info;

    NAME VALUE

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

    Diag Enabled TRUE

    ADR Base /opt/oracle/app/oracle

    ADR Home /opt/oracle/app/oracle/diag/rdbms/amsesa/amsesa

    Diag Trace /opt/oracle/app/oracle/diag/rdbms/amsesa/amsesa/trace

    Diag Alert /opt/oracle/app/oracle/diag/rdbms/amsesa/amsesa/alert

    Diag Incident /opt/oracle/app/oracle/diag/rdbms/amsesa/amsesa/incident

    Diag Cdump /opt/oracle/app/oracle/diag/rdbms/amsesa/amsesa/cdump

    Health Monitor /opt/oracle/app/oracle/diag/rdbms/amsesa/amsesa/hm

    Default Trace File /opt/oracle/app/oracle/diag/rdbms/amsesa/amsesa/trace/amsesa_ora_12644.trc

    Active Problem Count 0

    Active Incident Count 0

    11 rows selected

    查询日志文件位置: show parameter dump_dest

    sqlplus "/as sysdba"

    SQL> show parameter dump_dest;

    NAME TYPE VALUE

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

    background_dump_dest string /opt/oracle/app/oracle/diag/rdbms/amsesa/amsesa/trace

    core_dump_dest string /opt/oracle/app/oracle/diag/rdbms/amsesa/amsesa/cdump

    user_dump_dest string /opt/oracle/app/oracle/diag/rdbms/amsesa/amsesa/trace

    trc文件,系统的跟踪文件(trace),   当系统启动时或运行过程中出现错误时,系统会自动记录跟踪文件到指定的目录,以便于检查。

    查看文本日志:

    cd /opt/oracle/app/oracle/diag/rdbms/amsesa/amsesa/trace

    ls -l | grep log

    tail -1000f alert_amsesa.log

    查看alert日志:

    cd /opt/oracle/app/oracle/diag/rdbms/amsesa/amsesa/alert

    tail -1000f log.xml

    更多相关内容
  • 你曾经有执行SQL的时候,数据库报事务日志已满,然后执行报错。然后纠结于怎么删除数据库日志,捣鼓半天吗,现在就提供两种删除日志文件的方法,希望能够帮到你! 方法一:手工操作1.数据库->右键->属性->选项-...
  • 数据库日志总结

    千次阅读 2022-04-18 21:12:23
    错误日志默认是开启且无法禁止的,在数据库数据文件目录,hostname.err文件,可以配置错误的日志存储位置和日志级别。 1.存放服务器启动关闭过程中的信息。(未必是错误) 2.存放运行过程中的错误信息。 3.一旦...

    大概有错误日志,查询日志,慢查询日志,事务日志,二进制日志,中继日志

    一、错误日志

    错误日志默认是开启且无法禁止的,在数据库的数据文件目录,hostname.err文件,可以配置错误的日志存储位置和日志级别。

    1.存放服务器启动关闭过程中的信息。(未必是错误)

    2.存放运行过程中的错误信息。

    3.一旦mysql调度启动一个计划任务的时候,它也会将相关信息记录在错误日志中

    4.从服务器启动的日志也会存入错误日志。

    二、查询日志

    general log(通用日志),记录了数据库执行的所有命令,不论语句是否正确,插入、更新、删除操作都会进行查询操作。

    在并发场景下,查询日志可能会非常多,如果都记录下来可能会导致IO压力非常大,所以建议在调试场景下才开启查询日志。

    general_log可以控制是否开启,general_log_file控制存放位置。0

    三、慢查询日志

    慢查询会导致CPU,IOPS,内存消耗过高,开启慢查询日志记录超过指定时间的查询,默认情况下是不开启的,需要手动开启。

    四、事务日志

    数据库事有缓存存在的,因为每次读写都从物理磁盘操作性能会非常低下,数据库缓存是data buffer,日志(redo)缓存是log buffer。因为有缓存的存在,所以就很难保证缓存数据与磁盘数据的一致性。

    为了防止内存中的缓存数据丢失导致数据不一致的问题,InnoDB的事务重做日志redo log和回滚日志undo log。

    InnoDB通过force log at commit机制实现事务的持久性,在提交事务之前必须将所有的事务日志持久化到磁盘中的redo log file和undo log file中。

    1.redo log日志(物理日志 先写日志,再写磁盘)innodb 独有的

    redo log 分为两部分,一部分是在内存中的日志缓冲,是容易丢失的一部分,另一个部分就是磁盘上的重做日志文件,并且事务的追加是顺序追加的(磁盘的顺序写比内存写性能差不了太多)。

    使用这种重做日志可以减小提交事务时的开销,因为日志中记录了事务的操作,不用立刻将脏块刷新到磁盘中(随机IO非常昂贵),即时断电了也可以通过InnoDB的重做日志来恢复数据。

    为了确保每次日志都可以写入到日志文件中,每次在log buffer写入日志文件中都会调用一次fsync()系统调用。中间其实还有一层OS Buffer,是操作系统的缓存区,只有当缓存区达到一定大小,或者使用fsync()系统调用可以立即让OS Buffer中的数据写入磁盘中。

    innodb_flush_log_at_trx_commit 参数可以设置刷入磁盘的策略。

    0:事务提交时不会将log buffer中的数据写入os buffer,而是每秒写入一次OS buffer 并调用fsync()写入磁盘,系统崩溃会损失一秒的数据。

    1:每次提交都会写入一次OS buffer 并调用fsync()写入磁盘,IO性能相对较差。

    2:每次提交都仅写入到os buffer,然后是每秒调用fsync()将os buffer中的日志写入到log file on disk。

    为了保证主从复制,保证事务持久性和一致性就配置为1吧。

    2.undo log日志(逻辑日志)

    有两个作用,提供回滚和MVCC服务。undo log属于逻辑日志,redo log 属于物理日志

    Undo log中存放着老版本的数据,当一个事务想读取数据行的时候,发现不可见,就会顺着Undo log链寻找满足其可见性的数据版本。

    1.insert undo log:事务插入数据产生的日志,只在回滚的时候使用,在事务提交后就可以删除。

    2.update undo log:事务对记录进行更新或者删除操作的时候产生的undo log ,不仅仅回滚要用,而且快照读取也需要,只要当数据库使用的快照不涉及该日志记录才会被删除(Purge线程删除)。

    五、二进制日志(binary log)Server实现的,所有引擎都可用

    主要记录数据库表的结构变化,以及表数据修改,的所有操作。并且记录语句发生的时间,执行时长,操作数据。但是不记录select、show这些不对数据进行修改的命令。

    binlog的作用:

    1.恢复:某些数据的恢复需要二进制日志。

    2.复制:可以通过复制和执行二进制文件使得一台远程的MySQL数据库和一台mysql服务器进行数据同步。

    3.审计:可以通过二进制日志来判断数据库是否被进行了注入攻击。

    binlog对数据库的崩溃恢复也有重要的作用,为了保证binlog和redolog的一致性,mysql将事务的提交分为两个阶段,准备提交和已经提交的阶段。

    准备提交:如果这个时候binlog中存在事务,就进行提交操作,如果binlog中不存在,就进行回滚操作,保证了主从同步。

    binlog默认是关闭的,可以通过配置文件log-bin = [base-name]来开启binlog。

    binlog有三种存储格式:

    1.STATEMENT:存储原生的sql语句,优点是更加节约磁盘空间,缺点是两个数据库执行结果可能不同,比如当前时间。另外触发器和储存过程也会出现问题,再就是复制的sql语句是需要串行化执行的,需要额外的配置,如InnoDB的next-key锁。

    2.ROW(推荐使用):基于行来复制,会将实际数据记录到二进制文件中,几乎没有基于行处理不了的场景,缺点就是文件可能会很大,但是优点已经可以弥补它的缺点了。

    3.MIXED:是MySQL默认的二进制日志文件的方式,默认使用sql语句,当发现无法精确的复制的时候就会采用基于行的方法复制。

    六、中继日志(relay log)

    relay log是复制过程中产生的日志,很多方面都跟binary log差不多,区别是: relay log是从库服务器I/O线程将主库服务器的二进制日志读取过来记录到从库服务器本地文件,然后从库的SQL线程会读取relay-log日志的内容并应用到从库服务器上。

    两种日志特点对比:

    1.redo log是InnoDB引擎特有的;binlog是MySQL的Server层实现的,所有引擎都可以使用。

    2.redo log是物理日志,记录的是"在某个数据页上做了什么修改";binlog是逻辑日志,记录的是这个语句的原始逻辑,比如"给ID=2这一行的c字段加1 "。

    3.redo log是循环写的,空间固定会用完;binlog是可以追加写入的。"追加写"是指binlog文件写到一定大小后会切换到下一个,并不会覆盖以前的日志

    展开全文
  • --查看当前的存放位置 select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys...., filename = '文件存储路径'); alter database 数据库名 modify file ( name = 文件名(不包含后缀
  • 包括存过日志加载,分区创建,已经存过的使用
  •  1、创建日志表 要把日志持久化,必须在数据库中创建一张用来存储日志信息的表,表内字段为日志 的一个主要属性包括:操作类,执行方法,打印时间,日志级别,日志内容。 CREATE TABLE RESLOG (LOGID VARCHAR2(20)...
  • 数据库日志采集系统方案设计

    千次阅读 2022-01-07 13:33:19
    之家数据库日志以前分散各DB宿主机及容器RDS上,没有实现集中采集,排查定位故障原因不便。2021年DBA研发了数据库日志采集分析平台,实现了主机系统日志,数据库错误日志,审计日志的采集和分析。通过日志的集中采集...

    前言

    汽车之家几年前已实现了应用日志的采集,但是对数据库日志并没有实现集中采集, 排查定位数据库故障原因不便。2021年我们研发了数据库日志采集分析平台系统,实现了数据库主机系统日志,数据库错误日志,审计日志的采集和分析。

    01

    背景介绍

    之家数据库日志以前分散在各DB宿主机及容器RDS上,没有实现集中采集,排查定位故障原因不便。2021年DBA研发了数据库日志采集分析平台,实现了主机系统日志,数据库错误日志,审计日志的采集和分析。通过日志的集中采集,提升了故障排查效率,并且深入挖掘日志价值,可为未来之家数据库的智能审计,智能运维(如故障预警,自愈,自动调优)提供基础。

    02

    日志分析发展历程

    日志分析并不是一项新颖的技术了,需要的是实际解决问题的思路或工具,哪怕是一段只有20行的命令脚本都可以。日志分析的发展划可分成4个时代:

    1.石器时代 : 石器时代日志分析通常依靠Excel、终端命令(awk、grep、sort、uniq、wc等)。

    2. 铁器时代 :  铁器时代通常依靠脚本工具(自写工具)、简易交互式工具(logwatch、logparser)等。

    3. 工业时代 : 工作时代大家在做日志分析的时候相比前两个时代已经有了太多 的进步了,各种开源、免费、付费的软件可供选择,比如:Elastic系列、Splunk等等。

    4. 未来时代 : 这个时代大家在做日志分析时候我不知道会用到什么,但是从目前来看,机器学习、人工智能应该是核心之一。

    统一日志分析平台的工作在看来可以简单 分为2个阶段:

    平台实现: 日志规范化 --> 日志采集 --> 日志存储 --> 日志分析 --> 日志展示 --> 告警实现;

    平台优化: 这个阶段是对平台实现中的每一个步骤进行优化。

    以下对常见的开源日志采集工具做一 简单分析:

    03

    方案设计

    之家数据库日志平台,可以分为应用层,日志采集层,缓存层,解析层,存储层,展示层,系统架构如 图1 。

    图 1 日志采集架构图

    04

    方案实施

    通过之家二次开发的log-pilot日志采集工具,对数据库机器系统日志、DB错误日志、审计日志进行采集。采集的日志数据存入Kafka,为避免和其它业务日志相互影响, DBA采集申请了独立的KAFKA集群与Topic进行隔离。消费KAFKA数据采用Flink,对数据库日志数据进行处理,优化,精简,最终日志存入Elasticsearch。日志展示使用了开源的Kibana。 即数据流为日志源文件→ Log-pilot→ Kafka→ Flink→ ELasticsearch→ Kibana展示。

    采集的数据库日志有错误日志,审计日志等,各种日志数据格式不统一,我们进行了日志规范化处理。其中审计日志支持json格式,DBA开发了Flink Api,Flink任务启动加载引用python包进行json数据处理赋值给ES索引字段。

    另外为了高效运维管理数据库日志,做了如下工作:

    • 日志可视化配置管理: 开发了日志配置管理界面,可以对DB实例进行日志路径配置,日志采集启停。

    • 日志监控报警: 对ERROR或敏感数据审计日志,上报公司监控告警平台(AutoCMP),对重要日志信息及时发现并通知到告警接收人。

    05

    平台展示

    图 2 数据库物理实例日志采集

    图 3 采集日志Dashboard展示

    图 4 数据库日志报警

    06

    展望

    未来计划增加重点数据库的SQL日志采集,通过分析SQL对高危操作。比如:DROP/TRUNCATE,DELETE等SQL语句执行进行审计监控报警。对数据库中warning/error等问题进行分析治理,进一步提升数据库服务质量。

    展开全文
  • MySQL的日志默认保存在数据库文件的存储目录(一般为/usr/local/mysql/data/)。也可以修改配置文件,自定义日志文件的保存位置。我这里编译安装时,数据库文件存储目录设置的是/home/mysql。错误日志,用来记录当...

    前言

    MySQL的日志默认保存在数据库文件的存储目录(一般为/usr/local/mysql/data/)。也可以修改配置文件,自定义日志文件的保存位置。

    我这里在编译安装时,数据库文件存储目录设置的是/home/mysql。

    一、四种日志介绍

    1.1 错误日志

    错误日志,用来记录当MySQL启动、停止或运行时发生的错误信息,默认已开启。

    vim /etc/my.cnf

    ​ [mysqld]

    log-error=/home/mysql/mysql_error.log #指定日志的保存位置

    1.2 通用查询日志

    通用查询日志,用来记录MySQL的所有连接和语句,默认是关闭的。

    vim /etc/my.cnf
     ​
     [mysqld]
     general_log=ON
     general_log_file=/home/mysql/mysql_general.log

    1.3 二进制日志

    二进制日志(binlog),用来记录所有更新了数据或者已经潜在更新了数据的语句,记录了数据的更改,可用于数据恢复,默认已开启。

    vim /etc/my.cnf
     ​
     [mysqld]
     log-bin=mysql-bin      #也可以log_bin=mysql-bin
     #使用相对路径,则文件存储在默认目录/usr/local/mysql/data/中

    1.4 慢查询日志

    慢查询日志,用来记录所有执行时间超过long_query_time秒的语句,可以找到哪些查询语句执行时间长,以便于优化,默认是关闭的。

     vim /etc/my.cnf
     ​
     [mysqld]
     slow_query_log=ON
     slow_query_log_file=/home/mysql/mysql_slow_query.log 
     long_query_time=5    #慢查询时间,设置超过5秒执行的语句被记录,缺省时为10秒
    

    二、配置四种日志:

    步骤一:修改配置文件/etc/my.cnf

    vim /etc/my.cnf
     ​
     [mysqld]
     ##错误日志,用来记录当MySQL启动、停止或运行时发生的错误信息,默认已开启
     log-error=/home/mysql/mysql_error.log
     ​
     ​
     ##通用查询日志,用来记录MySQL的所有连接和语句,默认是关闭的
     general_log=ON
     general_log_file=/home/mysql/mysql_general.log
     ​
     ​
     ##二进制日志(binlog),用来记录所有更新了数据或者已经潜在更新了数据的语句,记录了数据的更改,可用于数据恢复,默认已开启
     log-bin=mysql-bin      #也可以log_bin=mysql-bin
     #使用相对路径,则文件存储在默认目录/home/mysql/中
     ​
     ​
     ##慢查询日志,用来记录所有执行时间超过long_query_time秒的语句,可以找到哪些查询语句执行时间长,以便于优化,默认是关闭的
     slow_query_log=ON
     slow_query_log_file=/home/mysql/mysql_slow_query.log 
     long_query_time=5    #慢查询时间,设置超过5秒执行的语句被记录,缺省时为10秒
    

    步骤二:重启服务

    systemctl restart mysqld

     

    三、查询日志是否已开启 

    mysql -u root -p[密码]
     ​
     #查看错误日志存放位置
     show variables like 'log_error';    
      
     #查看通用查询日志是否开启
     show variables like 'general%'; 
      
     #查看二进制日志是否开启
     show variables like 'log_bin%';     
     ​
     #查看慢查询日功能是否开启
     show variables like '%slow%';   
     ​
     #查看慢查询时间设置
     show variables like 'long_query_time';                      
     ​
     ​
     #在数据库中设置开启慢查询的方法,即以修改变量值的方式开启。但重启服务后会失效。
     set global slow_query_log=ON;   
    

    四、分割二进制日志

    mysql-bin.index 文件会对二进制日志进行分割。

    每次重启 mysql 或 在数据库中 "flush logs"刷新日志之后,会生成一个新的二进制日志。

     

     

    展开全文
  • 日志是写数据库好还是文件好,以及日志策略电脑版发表于:2019/6/4 21:36先来看看大佬的一句话:离开需求谈技术都是扯淡主要是看你的日志是为了只做一个存储归档,还是要把数据对统计与分析如果只是为了存储一下日志...
  • 数据库数据文件和日志文件

    千次阅读 2020-05-26 17:21:39
    什么日志文件? 通过简化的格式记录了对数据库的所有修改操作...当发生对数据库修改的操作时,会实时写入日志文件,但是要想写入数据文件,需要等待Checkpoint的发生,同时Checkpoint也会写入日志文件。Checkpoin
  • SQL SERVER 数据库日志占用很大的空间 ,如果长时间不清除,就会影响数据存储。 一、工具原料 sql server 二方法、步骤 1、打开sql server 数据库 菜单中选择新建查询 2、选择master数据库 3、sql执行窗口执行...
  • 一、打开SQL server(打开MicrosoftSQLServerManagementStudio 2018) 1.look,建立数据库是用这个哦(第一次下载了SQL server2019,出现了很多Tools,白痴的我根本不知道打开哪个编写,还不好意思... 数据库存储数...
  • 一、总结 ... 我这里的数据库出现这种原因,是因为我的数据库数据文件和日志文件是在存储上放着的,当时存储升级微码,所以暂时把该机器上挂载的存储盘脱机了(脱机升微码快),存储微码升级好后,磁盘
  • 数据转储 登记日志文件 登记日志文件的作用以及原则 恢复策略 事务故障的恢复 系统故障的恢复 介质故障的恢复 利用检查点技术的恢复策略 数据库镜像   事务(transaction)是一系列的数据库操作,是数据库...
  • springboot web应用使用logback记录日志到mysql数据库
  • 错误日志记录了查看错误日志...对于指定–log-error[=file_name]选项而未给定 file_name 值,mysql 使用错误日志名host_name.err 并在数据目录中写入日志文件。修改错误日志的位置错误日志所记录的信息也可以通过log...
  • 日志数据要和生产正式库分开存储,否则会影响正式库的运行,带来隐患。另外,为了防止日志存储性能问题,后期可以考虑采用异步的消息队列形式进行存储。 下面详细讲解。  1.便捷的日志存储方式log4j+mongodb ...
  • 最近需要做个日志功能,数据量不是特别大,老大说让我评估下用哪种数据库,然而我一头雾水,请教下各位高手,可以给我点详细点儿的建议么?
  • 清除数据库日志操作_SQL SERVER

    千次阅读 2022-02-26 14:47:31
    清除数据库日志 SQL SERVER 数据库日志占用很大的空间 ,如果长时间不清除,就会影响数据存储
  • 网页用户记录保存在什么中比较好? 比如 hbase ,保存大量数据
  • 联盟链 fabric 数据库 数据存储

    千次阅读 2021-04-17 22:31:09
    Hyperledger Fabric本质上是一个分布式账本,底层结构中都是通过键值对的方式来存储数据。而区块链1.0为了实现数据的时间可回溯性和数据防篡改机制,链中并不保存数据的状态,而只保存对数据的变更。这就使得对...
  • mysql对数据的更新操作记录通用查询日志和二进制日志中。通用查询日志用来记录用户的所有操作,包括启动和关闭 MySQL 服务、更新语句和查询语句等;二进制日志会以二进制的形式记录数据库的各种操作,但不记录查询...
  • 数据仓库和数据库的区别

    千次阅读 2021-07-27 15:16:28
    本文主要介绍数据仓库和数据库的区别,首先描述下数据仓库是什么数据仓库的本质还是一个数据库,它将各个异构的数据数据库数据给统一管理起来,并且完成了质量较差的数据的剔除、格式转换,最终按照一种合理...
  • MYSQL数据库日志

    千次阅读 2020-08-29 11:11:20
    目录 1.日志介绍 2. 日志作用 3. 日志分类 Mysql数据库日志 4 .日志讲解 ...一、innodb引擎中的redo/undo log是什么 ...二、什么是binlog ...数据库都具有事务日志,用于记录所有事务以及每个事务对数据
  • homeassistant数据存储到mysql数据库

    千次阅读 2021-11-19 12:23:35
    homeassistant正常运行后每天要产生大量传感器数据日志,其各种事件及传感信息默认使用sqlite本地存储数据,随着数据量不断增加,系统性能也会受到影响。 现将数据保存到远程mysql数据库中,使得数据可长久化保存...
  • 数据库底层存储结构 完整数据变更处理流程 表空间 .idb .frm
  • 数据定义-数据库习题

    千次阅读 2021-10-26 20:51:44
    SQL Server中有四个系统数据库,Master数据库存放数据字典,如果Master损坏,SQL Server将无法启动;Model数据库是模板数据库;Tempdb数据库是存放临时表、临时存储过程及其他临时操作的;msdb数据库是代理服务...
  • 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用存储引擎进行创建、查询、更新和删除数据。 不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能。现在许多不同的数据库管理系统都支持...
  • 3 数据仓库的主要特征4 数据仓库与数据库区别5 数据仓库架构6 数据仓库元数据管理什么是元数据?元数据具体的工作内容元数据分为技术元数据和业务元数据7 数据治理脏数据的种类数据治理原则知识拓展(数据集市)结束...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 499,665
精华内容 199,866
热门标签
关键字:

日志数据存储在什么数据库