热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

DBA的日常运维Part1

DBA的日常运维–Part11.活动状态检查

DBA的日常运维–Part1

1.活动状态检查
1-1.检查实例状态

SELECT instance_name,status FROM gv$instance;
--查询返回实例名称、状态,正常状态应为Open。
$crsctl status resource –t
---集群状态
select name,open_mode from v$PDBS;
---PDB状态
GDSCTL> config shard
---Sharding状态

1-2.会话信息

SELECT
SESSIONS_CURRENT,SESSIONS_HIGHWATER FROM v$license;
---辅助查询,实例当前会话数和启动最高连接会话数量。
SELECT inst_id,username,COUNT(*)
FROM gv$session GROUP BYinst_id,username;
---查询数据库连接数以实例和用户分组。

1-3.参数检查

SELECT value FROM v$parameter
WHERE name='open_cursors';
---查询给定参数的设置值,示例参数缺省值为300,通常中等规模数据库推荐设置为1000。

1-4.参数修改

ALTER SYSTEM SET undo_retention=3600 COMMENT='default 900' SID='*' SCOPE=both;
---修改给定的初始化参数,RAC环境需要注意SID参数。

1-5.实例异常
当连接数据库实例出现缓慢、挂起等现象,需要进行诊断和分析,甚至可能需要重新启动数据库实例。

1.5.1信息采集

SQL>sqlplus -prelim / as sysdba
SQL>oradebug setmypid
SQL>oradebug unlimit
SQL>oradebug hanganalyze 3
SQL>oradebug dump systemstate 266
--- 间隔一定时间,如20秒,执行下一次数据采样.
SQL>oradebug hanganalyze 3
SQL>oradebug dump systemstate 266

示范命令,通过采集系统的Hang信息、系统状态信息等,可以分析系统挂起的原因,间隔采样,可以用于对比变化,辅助分析。

1.5.2 跟踪

SQL>alter session set events '10046 trace name context forever,level 12';
SQL>shutdown immedaite;
SQL>startup mount;
SQL>alter session set events '10046 trace name context forever,level 12';
SQL>alter database open;

如果在数据库关闭、启动时遇到阻塞、挂起等,可以通过示范命令进行跟踪,获取跟踪文件进行分析。

1.5.3 安全停库

SQL>alter system checkpoint;
SQL>alter system archive log current;
SQL>shutdown immediate;

如果数据库出现异常需要重新启动,可以通过示范命令执行检查点、归档命令,然后尝试以立即方式关闭数据库。

1.5.4 强制停库

SQL>shutdown abort;
SQL>startup nomount;
SQL>alter database mount;
SQL>alter database open;

如果立即方式不能顺利关闭数据库,强制的关闭方式为abort。示范命令可以通过分步骤的方式执行数据库启动。

1-6. 连接异常
当连接数据库出现异常,需要检测包括网络连通性,监听器状态等信息。

1.6.1连通性

tnsping tns_name

在安装具有Oracle客户端的环境,可以通过tnsping工具测试配置的服务名称,观察网络是否连通以及响应时间。

1.6.2监听器

lsnrctl status LISTENER
lsnrctl status LISTENER_SCAN1
lsnrctl service

在数据库服务器上,可以通过lsnrctl工具检查监听状态和服务信息,具体的监听服务名称可以在最后定义修改。

1.6.3监听日志检查

adrci>showalert

在服务器上,可以通过adrci工具,显示各类告警文件,检查监听器日志,可以诊断监听问题。


推荐阅读
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 实体映射最强工具类:MapStruct真香 ... [详细]
  • 本文详细介绍了Java中org.w3c.dom.Text类的splitText()方法,通过多个代码示例展示了其实际应用。该方法用于将文本节点在指定位置拆分为两个节点,并保持在文档树中。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • 使用GDI的一些AIP函数我们可以轻易的绘制出简 ... [详细]
  • 深入了解 Windows 窗体中的 SplitContainer 控件
    SplitContainer 控件是 Windows 窗体中的一种复合控件,由两个可调整大小的面板和一个可移动的拆分条组成。本文将详细介绍其功能、属性以及如何通过编程方式创建复杂的用户界面。 ... [详细]
  • dotnet 通过 Elmish.WPF 使用 F# 编写 WPF 应用
    本文来安利大家一个有趣而且强大的库,通过F#和C#混合编程编写WPF应用,可以在WPF中使用到F#强大的数据处理能力在GitHub上完全开源Elmis ... [详细]
  • 本文探讨了在Java多线程环境下,如何确保具有相同key值的线程能够互斥执行并按顺序输出结果。通过优化代码结构和使用线程安全的数据结构,我们解决了线程同步问题,并实现了预期的并发行为。 ... [详细]
  • 本文详细介绍了Python编程语言的学习路径,涵盖基础语法、常用组件、开发工具、数据库管理、Web服务开发、大数据分析、人工智能、爬虫开发及办公自动化等多个方向。通过系统化的学习计划,帮助初学者快速掌握Python的核心技能。 ... [详细]
author-avatar
zhaojiapin_313
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有