精华内容
下载资源
问答
  • 数据库的差异,完全,日志 备份,数据完整性检查,索引的整理,统计更新等。
  • 数据库维护背景:DataGuard主备切换分两种:一种是数据库正常的情况下的切换,这种方式为:switchovery,一般用于主机维护或灾备测试,属于无损切换,不会丢失数据;另外一种方式属于数据库服务器灾难情况下的切换,...

    数据库维护背景:

    DataGuard主备切换分两种:一种是数据库正常的情况下的切换,这种方式为:switchovery,一般用于主机维护或灾备测试,属于无损切换,不会丢失数据;另外一种方式属于数据库服务器灾难情况下的切换,这种情况下一般主库已经启动不起来了,为failover,有可能会丢失数据,并且切换后原primary数据库也不再是该dataguard配置的一部分了。

    对于整个dataguard的搭建,请参考实战OracleDataGuard不停机的配置,只要按照该文档操作,保证没有问题;

    DG环境信息:

    主机信息db_namedb_unique_namerole

    浙江从orclorclPRIMARY

    orclorclbakSTANDBY

    切换步骤:

    一、主库的操作

    1、主数据库的状态检查

    脚本:SQL> select switchover_status from v$database;

    说明:如果该列值为"TO STANDBY"则表示primary 数据库支持转换为standby 角色,否则的话你就需要重新检查一下Data Guard 配置,比如看看LOG_ARCHIVE_DEST_n 之类参数值是否正确有效等等。

    2、首先将primary 转换为standby 的角色

    SQL>ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN;

    确认状态:

    select switchover_status from v$database;

    说明:PRIMARY进行转换完毕后,查看状态会变成RECOVERY NEEDED;

    3、重启动到mount --原primary 数据库操作

    SQL> shutdown immediate

    ORA-01507: 未装载数据库

    ORACLE 例程已经关闭。

    SQL> startup mount

    ORACLE 例程已经启动

    二、备库切换成主库的操作

    完成以上操作后,就可以进行以下备库的操作

    1、检查备库的状态

    SQL> select switchover_status from v$database;

    2、确认没有问题后,可以进行切换转换standby 到primary 角色

    SQL>ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

    3、完成转换,打开新的primary 数据库

    SQL> alter database open;

    4、查看当前系统的状态

    脚本:select name,open_mode,database_role,protection_mode,SWITCHOVER_STATUS

    From v$database;

    三、原主库切换成备库

    当前的备库是mount状态了,运行以下语句

    1、执行日志的运用

    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

    2、取消日志的运用

    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

    3、打开数据库

    SQL> ALTER DATABASE OPEN;

    4、在open状态下执行日志的即时运用

    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

    顺带说说failover切换:

    旧备库操作:

    ALTER DATABASE RECOVER   managed standby database finish;

    新主库操作:

    ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

    alter database open;

    展开全文
  • PAGE PAGE 4 Oracle数据库解决方案介绍 PAGE 1 PAGE 4 盈动华建北京科技发展有限公司 Oracle数据库维护管理 解决方案 盈动华建北京科技发展有限公司 2002年2月 目 录 一Oracle 数据库维护管理解决方案介绍 二产品...
  • 101010 10 10 10 ORACLED据库日常运行维护 年度服务项目 方案书 目录项目背景及目 标 1.1项目背景 . 51.2项目目标 . 5需求分析项目总体方案 7523 目录 项目背景及目 标 1.1 项目背 景 . 5 1.2 项目目 标 . 5 需求分 ...
  • Oracle数据库日常维护方案书Oracle数据库日常维护方案
  • Oracle数据库日常维护方案书 ORACLE 数据库日常运行维护 年度服务项目 方案书 Oracle 数据库日常维护方案书 目 录 1 项目背景及目标 5 1.1 项目背景 5 1.2 项目目标 5 2 需求分析 5 3 项目总体方案 7 3.1 数据库性能...
  • 1. 数据库维护检查表键analyze table orders;检查表check table orders, orderitems;1. 解决方案1) 使用命令行使用程序mysqldump转储所有数据库内容到某个外部文件。在进行常规备份前这个使用程序应当正常运行,以便...

    1. 数据库维护

    检查表键

    analyze table orders;

    检查表

    check table orders, orderitems;

    1. 解决方案

    1) 使用命令行使用程序mysqldump转储所有数据库内容到某个外部文件。在进行常规备份前这个使用程序应当正常运行,以便能正确地备份转储文件。

    2) 可用命令行实用程序mysqlhotcopy从一个数据库复制所有数据(并非所有数据库引擎都支持这个实用程序)。

    3) 可以使用MySQL的backup table或select into outfile转储所有数据到某个外部文件。这两条语句都接受将要创建的系统文件名,此系统文件必须不存在,否则会出错。数据可以用restore table来复原。

    2. check table用来针对许多问题对表进行检查,支持一系列的用于MyISAM表的方式。

    changed检查自最后一次检查以来改动过的表;

    extended执行最彻底的检查;

    fast只检查未正常关闭的表;

    medium检查所有被删除的链接并进行键检验;

    quick只进行快速扫描;

    3. 如果MyISAM表访问产生不正确和不一致的结果,可能需要用repair table来修复相应的表。这条语句不应该经常使用,如果需要经常使用,可能会有更大的问题需要解决。

    4. 如果从一个表中删除大量数据,应该使用optimize table来收回所有的空间,从而优化表的性能。

    5. 诊断启动问题的几个重要的mysqld命令行选项

    --help显示帮助--一个选项列表;

    --safe-mode装载减去某些最佳配置的服务器;

    --verbose显示全文本消息(为获得更详细的帮助消息与--help联合使用);

    --version显示版本信息然后退出;

    6. 查看日志文件

    1) 错误日志。它包含启动和关闭问题以及任意关键错误的细节。此日志通常名为hostname.err,位于data目录中。此日志名可以用--log-error命令行选项更改。

    2) 查询日志。它记录所有的MySQL活动,在诊断问题时非常有用。此日志文件可能会很快地变得非常大,因此不应该长期使用它。此日志通常名为hostname.log,位于data目录中。此名字可以用--log命令行选项更改。

    3) 二进制日志。它记录更新过数据(或者可能更新过数据)的所有语句。此日志通常名为hostname-bin,位于data目录内。此名字可以用--log-bin命令行选项更改。注意,这个日志文件是MySQL5中添加的,以前的MySQL版本中使用的是更新日志。

    4) 缓慢查询日志。此日志记录执行缓慢的任何查询。这个日志在确定数据库何处需要优化很有用。此日志同城名为hostname-slow.log,位于data目录中。此名字可以用--log-slow-queries命令行选项更改。

    使用日志时,可用flush logs语句来刷新和重新开始所有日志文件。

    展开全文
  • RALE 数据库日常运行维护 年度服务项目 方案书 目 ? 录 1 2 3 项目背景及目标 . 5 11 项目背景 . 5 12 项目目标 . 5 需求分析. 5 项目总体方案. 1 数据库性能优化 . 8 3.1.1 检查 race 数据库性能. 8 .1.1. 311.2 ...
  • 所以数据库维护需要借助一些相关的工具,优秀的数据库管理工具,可以大大简化生产环境下的应用维护和管理,提高 IT 人员的工作效率。数据库管理人员借助相应的工具可以主动、迅速、方便的监控系统的运行。
  • ORACLE 产品日常运行维护 年度服务项目 方案书 xxxx 有限公司 2012 年 09 月 ORACLE 产品日常运行维 目 录 1 项目背景及目标 5 1.1 项目背景 5 1.2 项目目标 5 2 需求分析 5 3 项目总体方案 7 3.1 数据库性能优化 ...
  • 数据库维护

    2020-10-13 11:09:14
    以下是这个问题的可能解决方案: 使用命令行实用程序mysqldump转储所有数据库内容到某个外部文件。在进行常规备份前这个实用程序应该正常运行,以便能正确地备份转储文件。 可用命令行实用程序mysqlhotcopy从一个...

    1. 备份数据

    由于MySQL数据库是基于磁盘的文件,普通的备份系统和例程就能备份MySQL的数据。但是,由于这些文件总是处于打开和使用状态,普通的文件副本备份不一定总是有效。

    以下是这个问题的可能解决方案:

    • 使用命令行实用程序mysqldump转储所有数据库内容到某个外部文件。在进行常规备份前这个实用程序应该正常运行,以便能正确地备份转储文件。
    • 可用命令行实用程序mysqlhotcopy从一个数据库复制所有数据(并非所有数据库引擎都支持这个实用程序)。
    • 可以使用MySQL的backup table或select into outfile转储所有数据到某个外部文件。这两条语句都接受将要创建的系统文件名,此系统文件必须不存在,否则会出错。数据可以用restore table来复原。

    为了保证所有数据被写到磁盘(包括索引数据),可能需要在进行备份前使用flush tables语句。


    2. 进行数据库维护

    以下语句可以用来保证数据库正确和正常运行:

    • analyze table,用来检查表键是否正确。

    在这里插入图片描述

    • check table用来针对许多问题对表进行检查。在MyISAM表上还对索引进行检查。check table支持一系列的用于MyISAM表的方式。changed检查自最后一次检查以来改动过的表。extended执行最彻底的检查,fast只检查未正常关闭的表,medium检查所有被删除的链接并进行键检验,quick只进行快速扫描。

    在这里插入图片描述

    • 如果MyISAM表访问产生不正确和不一致的结果,可能需要用repair table来修复相应的表。这条语句不应该经常使用,如果需要经常使用,可能会有更大的问题要解决。

    • 如果从一个表中删除大量数据,应该使用optimize table来收回所用的空间,从而优化表的性能。


    3. 诊断启动问题

    在排除系统启动问题时,首先应该尽量用手动启动服务器。MySQL服务器自身通过在命令行上执行mysqld启动。下面是几个重要的mysqld命令行选项:

    • –help显示帮助——一个选项列表;
    • –safe-mode装载减去某些最佳配置的服务器;
    • –verbose显示全文本消息(为获得更详细的帮助消息与–help联合使用);
    • –version显示版本信息然后退出。

    4. 查看日志文件

    主要的日志文件有以下几种:

    • 错误日志。它包含启动和关闭问题以及任意关键错误的细节。此日志通常名为hostname.err,位于data目录中。此日志名可用–log-error命令行选项更改。
    • 查询日志。它记录所有MySQL活动,在诊断问题时非常有用。此日志文件可能会很快地变得非常大,因此不应该长期使用它。此日志通常名为hostname.log,位于data目录中。此名字可以用–log命令行选项更改。
    • 二进制日志。它记录更新过数据(或者可能更新过数据)的所有语句。此日志通常名为hostname-bin,位于data目录内。此名字可以用–log-bin命令行选项更改。注意,这个日志文件是MySQL5中添加的,以前的MySQL版本中使用的是更新日志。
    • 缓慢查询日志。顾名思义,此日志记录执行缓慢的任何查询。这个日志在确定数据库何处需要优化很有用。此日志通常名为hostname-slow.log , 位于data 目录中。此名字可以用
      –log-slow-queries命令行选项更改。

    在使用日志时,可用flush logs语句来刷新和重新开始所有日志文件。


    -- analyze table,用来检查表键是否正确
    ANALYZE TABLE orders;
    
    -- check table发现和修复问题
    CHECK TABLE orders, orderitems;
    
    展开全文
  • 项目组数据库脚本的维护方案

    千次阅读 2015-08-26 00:07:33
    背景 版本发布密集,为满足客户和领导的要求,项目经理决定每周必须发布并上线一个版本。功能修改频繁,相应的表结构、表数据的变动也...针对现状,设计出数据库脚本的维护方案,脚本分为全量脚本和升级脚本两套。

    背景

    • 版本发布密集,为满足客户和领导的要求,项目经理决定每周必须发布并上线一个版本。
    • 功能修改频繁,相应的表结构、表数据的变动也比较频繁。
    • 产品满足两种部署方案,一是总部部署,由项目组直接来维护,供内部客户使用;二是客户自行安装、升级和维护,项目组提供版本和技术支持。
    • 项目选型使用MySQL作为数据存储软件。

    方案

    针对现状,设计出数据库脚本的维护方案,脚本分为全量脚本和升级脚本两套。
    全量脚本,包括

    • 表结构定义,包括表结构定义、列的索引定义。
    • 初始化数据,包括系统正常运行时需要的初始化数据。
    • 存储过程定义,包括系统运行时使用到的存储过程的集合。
    • 函数定义,包括系统运行时使用到的、自定义的MySQL

    升级脚本,相比于全量脚本,升级脚本的构成相对简单一些,以天为单位来维护脚本,比如2015年8月10日脚本有变化,那么就创建一个脚本文件,名为2015-08-10.sql,这个文件里保存对原有数据库表对象进行增量修改的语句。

    方案的问题

    由于团队成员中以刚毕业、工作不满一年的新员工为主,前述方案在实际使用时遇到几个问题:

    • 全量脚本和升级脚本中,经常会出现不一致。比如升级脚本中增加了字段,但全量脚本中没有增加;全量脚本中增加字段时出现了重复增加,导致建失败,等等。
    • 数据库脚本中存在语法错误,比如语句末尾的“;”经常忘记增加,导致同一文件中后面的脚本执行失败。
    • 数据库脚本中存在乱码,比如书写脚本时经常忘记切换输入法,导致分号、逗号等是中文符号,执行时失败。
    • 数据库脚本缺少注释,尤其是升级脚本中缺少注释,更别提场景描述,测试人员验证升级脚本时需要大量时间来确认脚本使用的场景。
    • 升级脚本的场景存在设计遗漏,测试经常在版本临上线前突然发现脚本未能覆盖全部场景,此时往往需要安排脚本的开发人员及骨干开发放下手上的工作,临时救场。
    • 。。。

    针对遇到的问题,项目组在例会上时安排骨干开发人员来讲解脚本的作用及开发说明,但收效不明显。脚本中依然不断出现各式的问题,导致日常特性测试、数据库对象升级测试、性能测试过程中,测试人员和骨干开发人员花费大量时间来排查此类错误,极大的降低了团队的效率,相应的团队自身也很疲惫。

    解决方法

    经过分析,前述问题主要分为几类:

    • 注释不足,比如注释不全,缺少场景说明等;
    • 脚本维护中的低级错误,比如遗漏、语法错误、非法字符等;
    • 场景设计遗漏,场景考虑不全面,导致脚本实现不合理,不满足业务需求。

    解决方案如下:

    • 注释不足。项目组周例会上宣讲脚本的注释要求,并指定专人负责检查脚本的规范符合度,不合要求的脚本直接要求提交人修改,同时作为关键事件通报批评;
    • 脚本维护中的低级错误。由于脚本比较多,代码量比较大,靠人去对比不太现实,因此利用MySQL备份工具mysqldump的能力,开发脚本对比工具来完成数据库表定义差异的对比,简化了人的操作,降低了脚本检查的工作量,人只需要查看报告即可以找到脚本中存在的问题。项目组指定专人负责阅读工具输出的报告,当发现脚本存在低级错误时,则要求提交人修改,同时通报批评;
    • 场景设计遗漏。修改当前的Story开发流程,增加专门章节,要求开发人员务必分析当前待开发特性在生产环境上线时的数据库对象升级策略;Story评审时,本章节作为必须评审的主题,如果开发人员未准备或者准备不足,测试人员有权要求Story重新评审,项目经理将此事件作为关键事件记录,迭代总结或者项目总结时将有专门议题要求开发人员作出解释。

    脚本对比工具的工作流程比较简单,如下:

    1. 导出生产环境的数据库表结构定义,R.sql。
    2. 本地的数据库。
    3. 创建本地数据库DB_upgrade。
    4. 打开DB_upgrade,导入R.sql,同时导入本周内,从周一到周六的升级脚本,如无则直接跳过。
    5. 导出DB_upgrade的表结构定义,upgrade.sql。
    6. 创建本地数据库DB_install。
    7. 打开DB_install,导入全量数据库脚本,包括表定义、索引定义。
    8. 导出DB_install的表结构定义,install.sql。
    9. 使用工具对比upgrade.sql和install.sql。

    工具开发过程中应用到了mysqldump、mysql、msys、jrunscript。

    • mysqldump,MySQL数据库自带的备份工具,通过指定选项可以只导出表定义。
    • mysql,MySQL数据库自带的客户端软件,用于执行脚本。
    • msys,有了它就可以在windows环境直接运行shell脚本。
    • jrunscript,JDK1.6版本起自带的js执行器,1.8版本还可以执行其它类型的脚本。shell虽然强大,但仍然有些工作不太方便完成,此时即可编写js代码来访问JDK中的API完成那部分操作,同时不需要引入更多的jar,使用时相当方便。

    欢迎访问Jackie的家,http://jackieathome.sinaapp.com/,如需转载文章,请注明出处。
    展开全文
  • 数据库备份方案

    2019-10-02 16:11:30
    经过在系统上的测试,感觉用SQL SERVER的维护计划更可行,现将操作方式简介如下: 注:下面的说明中也提到了使用差异备份,因为数据库文件增长也非常快,因此此处也稍作说明。关注收缩数据库日志文件的可以...
  • K3 数据库维护

    2014-07-06 18:22:50
    修正核算项目关系 --原因分析 --丢失F列,还需要进行F列的补回,t_itemdetail表中缺少列Fnumber --解决方案 --补回此列,如果有数据发生还要补回数据
  • 数据库优化方案

    2018-12-19 17:13:33
    4.缓存 持久层缓存 内存数据库redis 5.分区 分成不同的文件,不解决根本问题 6.存储过程 业务代码难维护 7.读写分离 主从复制  8.集群(与主从的区别: 集群是通过负载均衡的方式,目的是容错性和高性能。主从...
  • 普通的备份系统和例程就能备份MySQL的数据,但是由于这些文件总是处于打开和使用状态,普通的文件副本备份不一定总是有效可以的解决方案1、使用命令行实用程序mysqldump 转储所有数据库内容到某个外部文件。...
  • ORACLE 数据库部署方案 和安装配置指南 总论 1.1 目的 为加强系统安装维护的规范化管理 参考系统的相关文档进行了深化细化力求结合实际的设计实施工作建立一套系统设计实施的标准方案 对设计实施起到规范指导作用 ...
  • mysql数据库运维方案

    2020-05-25 13:58:44
    数据库不仅仅是dba的工作,每一个测试人员也应该懂得基本的数据运维操作,因为数据库是数据承载的地方并且是系统中非常重要的一部分,作为测试我们也需要熟练的对数据库进行基本维护。 01、常用备份恢复命令 第1...
  • 数据库开发 维护 性能调优 备份还原 各种复杂问题的解决方案 这时对CSDN上出现的很多问题的解决方案的总结 免费分享 大家多多下载哦
  • 在集群环境下除自增ID 外的其它创建主键的方案 1> 通过应用程序生成一个 GUID,然后和数据一起插入切分后的集群 优点 : 维护简单,实现也容易 缺点 : 应用的计算成本较大,且 GUID 的长度比较长,占用数据库存储...
  • 数据库教学方案PPT

    2010-08-26 10:25:11
    数据库的基础知识到数据库sql server2000的维护,都有详细的讲解。
  • ORACLE_OCP之数据库维护

    2020-12-31 20:25:50
    ORACLE_OCP之数据库维护 文章目标: 管理自动工作负载存储库(AWR) 使用自动数据库诊断监视器(ADDM) 描述和使用顾问框架 设置警报阈值 使用服务器生成的告警 使用自动化任务 一、框架 二、术语 统计:提供...
  • 【MS SQL】数据库维护计划之数据库备份(二) 原文:【MS SQL】数据库维护计划之数据库备份(二)上篇【MS SQL】数据库维护计划之数据库备份(一) 说了数据库备份的一些概念后,这篇以HRP_KQYY数据库备份为...
  • 采用第二个方案数据交互会变得复杂很多,数据库太多维护起来也繁琐,1个管理平台需要和N个学校应用系统交互数据,但是可以支撑学校数量的无限扩充。 大家有什么好建议?既要性能好又要考虑维护性问题。 另外,...
  • 常见数据库拆分方案汇总

    千次阅读 2018-07-15 17:52:35
    前言 根据业务域垂直拆分 主从复制,读写分离 分库分表 ...随着互联网行业的高速发展,一些商业的存储解决方案的成本...以前可能所有的业务表是耦合在一个数据库中,这种模式下,系统的复杂性越来越大,开发维护...
  • 数据库不仅仅是dba的工作,每一个测试人员也应该懂得基本的数据运维操作,因为数据库是数据承载的地方并且是系统中非常重要的一部分,所以我们也需要熟练的对数据库进行基本维护。01、常用备份恢复命令第1组命令:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,636
精华内容 1,454
关键字:

数据库维护方案