zoukankan      html  css  js  c++  java
  • 【HICP Gaussdb】数据库 数据库管理( 导入 导出 闪回 调优 wsr报告 ) -13

    dump是数据库导出工具

    # 通过表明导出
    dump tables ts into file "dumfile"
    # 通过查询导出
    dump query "select * from ts where C > 1 " into file "dumpfile"
    # 导出格式 
    files | colunms enclosed by "ascli_char" 指定包裹字符
    files| colunms terminated by “string” 指定字段的结尾字符 
    lines | rows terminated by “string” 指定数据的结尾符号

      

    load 是数据库导入工具

    # 导入文件 dumpfile 中的2列 当前要把其导入到表T中 T有三列f1 f2 f3 其中f1 f2来自文件 f3 是f1 f2之和
    load data infile "dump.file" into table T trailing colunms(f1,f2) set f3 = f1+f2 
    # 导入文件 dumpfile 中有三列 当前要导入的目标表T T有三列,和文件中一一对应 导入的过程中第一行数据不需要 遇到约束冲突希望跳过
    load data infile "dump.file" into table T ignore 1 rows ignore 
    # 导入文件dumpfile 数据量较大 ,需要用10个并行导入到表T nologing 【是否使用nologging插入 】
    load data infile “dump.fileinto table T threads 10
    

    数据闪回前提条件
    1、具有闪回命令权限 flashback any table 权限
    2、回收站功能是开启状态 recyclebin = true
    无法闪回
    1、动态视图 、系统表 、外部表
    2、通过DDL改变了表结构

    闪回到时间点和SCN的原理
          SCN是系统变更的唯一的版本号 具有唯一性判断数据是否可见
          闪回到时间点 先将时间转换成SCN
          闪回过程中根据SCN 对表数据进行全表扫描 通过undo日志重新组织表内容
          undo日志可能会出现复用 如果闪回的时间点过早 出现了undo复用 闪回就会报错 snapshot too old

    flaskback table table_name to SCN | timestamp | before[ drop table_name | truncate force ] 
    flashback table fb_table to before drop ;
    flashback table fb_table to before truncate force ;
    
    select systimestamp # 查看当前时间戳
    flashback table fb_table to timestamp to_timestamp('2019-08-16 19:09:35','YYYY-MM-DD HH24:MI:SS');
    
    select current_SCN from DV_database # 查看SCN点 
    flashback table tb_name to SCN 7129129389289;

     

    性能瓶颈分类
    一般影响因素  硬件 、 系统规模 、 数据库内部因素 、 软件环境
    硬件: 服务器 存储 网络
    系统规模: 并发 数据量
    数据库内部因素: 索引 数据类型 统计信息等
    软件环境: 操作系统以及参数配置

    数据库性能通常由某种特定资源的过度使用导致,而这种使用资源才是系统的瓶颈 数据库服务器常见的瓶颈问题CPU 内存 磁盘IO 网络资源造成
    物理IO缓慢
    cpu使用过高
    网络问题
    内存分配性能基线 确认调优范围

    系统调优
    调优成本: 硬件>系统配置>数据库表结构
    条有效果:硬件<系统配置<数据库表结构
    SQL调优
    审计业务所有的SQL语句是否存在可优化空间
    1、通过ANALYZE 语句生成表统计信息
    2、分析执行计划 explain sql语句执行计划
    3、查询问题根本并调优 通常为调整数据库级 SQL调优参数
    4、编写更优的sql

    诊断方法
    1、WSR报告 2、查询动态视图 3、数据库统计信息 缓存命中 等待事件等

    系统调优
    内存管理方式 -->内存管理的目的 是为了尽可能的减少I/O的访问
    系统全局调优

    数据库缓存 存储从磁盘读取的页数据 --> data_buffer_size 默认128M 范围64M~32T 
    共享池 包括库缓存和数据字典缓存 ---> shard_pool_size 默认128M 范围82M~32T 
    临时数据缓存:SQL执行过程中产生的临时数据 temp_buffer_size 默认32M 取值32M~21T
    redo日志 log_buffer_size 默认4M 1M~128M

    共享池调优
    select * from DV_GMA/V$SGA; # 视图查看SGA结果以及共享池大小
    select * from DV_SQLS/V$SQLAREA; # 视图查看缓存sql语句
    select * from DV_OBJECT_CACHE/V$DB_OBJECT_CACHE; # 视图查看字典缓存
    等待事件
    等待事件 是会话等待某个系统行为发生的事件
    磁盘读写慢 架构引起的锁情况 各种系统资源竞争
    等待是系统级或会话级的 。

    WSR报告
    WSR工具可以创建快照 通过对比两次snapshot报告 ,生成wsr报告
    配置: TIMED_STATISTICSTIMED_STATS: 设置是否收集时间 相关统计信息
    SQL_STAT SQL性能统计视图开关 开启后整个实例生效
    注意: 两个快照之前不能重启数据库 ,否则会报错
    生成WSR报告目标路径需要写文件权限 且wsr报告不存在
    查看快照列表

    call wsr$create_snapshot # 执行存储过程 
    WSR LIST # 查看快照列表 
    select * from ADM_HIST_SNAPSHOT; # 查看所有快照 
    WSR start_snap_id end_snap_id file_path # 生成WSR报告 


  • 相关阅读:
    CRM详细介绍网址
    element上传多图片
    多图片上传WebForm
    MemCached原理
    Redis的原理
    Ninject用法详解
    SQLsugar和unity 的用法
    json中的转义字符的处理
    fiddler
    orm多表关系
  • 原文地址:https://www.cnblogs.com/oscarli/p/12119777.html
Copyright © 2011-2022 走看看