程序员开发实例大全宝库

网站首页 > 编程文章 正文

《Oracle数据库极简诊断分析手册》,简到可以背诵

zazugpt 2024-10-20 16:05:15 编程文章 275 ℃ 0 评论

作者:英方华东三区技术经理 吕鹏飞

*请熟读并背诵全文。

1、安装数据库时容易犯的错误

安装之前没有检查操作系统错误

安装过程中网络异常终止

没有按照官方文档安装数据库

没有检查操作系统环境

操作系统包和补丁没有打全

环境变量设置错误

介质安装错误

共享存储设置错误

操作系统没有配置或者开启异步I/O


2、无法启动安装界面的解决方法

在root用户下执行xclock命令,观察是否能在服务器的桌面上顺利启动小时钟

检查DISPLAY环境变量的设置

检查xmanager是否跨网段连接主机

检查xmanager服务状态

检查/etc/hosts配置文件

如仍无法启动图形界面,可从其他主机直接拷贝Oracle软件至目标主机,选择静默安装数据库软件


3、安装数据库的最佳实践

发生错误时检查数据库的安装日志和操作系统日志

Linux系统下,安装Oracle之前关闭SELinux特性

AIX系统下,在$ORACLE_HOME所在的文件系统中不能使用cio特性

安装CRS前,建议使用dd命令格式化磁盘头或者lv头

安装CRS时,建议使用sh -x root.sh调试模式执行root.sh

用netca配置监听出错时,建议检查/etc/hosts等域名解析配置文件

如果安装界面异常退出,则建议检查安装介质是否损坏

安装完成之后,部署操作系统资源监控工具,如OSW


4、检查是否由网络故障引起

客户端使用sqlplus命令尝试连接

客户端使用tnsping命令观察监听状态

客户端使用traceroute命令观察路由

客户端使用ping命令观察网络

在客户端传输一个大文件至服务端评估网络带宽

在客户端sqlnet.ora中配置跟踪参数

检查操作系统日志,检查网卡、交换机、防火墙等硬件


5、检查是否由主机资源引起

观察主机CPU、内存、I/O消耗情况

AIX系统下,检查系统内核参数maxuproc是否达到阀值

检查主机空间使用率

服务器端尝试使用sqlplus登录数据库,

使用strace命令进行登录跟踪


6、检查是否由数据库故障引起

检查Oracle警告日志和操作系统日志

检查Oracle进程数是否达到了参数processes的阀值

检查归档空间的使用率

查询V$SESSION_WAIT视图

sqlnet.ora配置文件中设置跟踪参数,跟踪会话连接过程

检查数据库是否做了登录访问控制

检查数据库级别是否开启了会话跟踪

查数据库是否存在大量DATABASELINK短连接

如果MTS模式,检查larger pool配置

7、数据库HANG类故障

主机资源(主要是CPU、内存、I/O资源)达到瓶颈

进程之间的死锁

所有在线日志均为ACTIVE状态,无法归档

数据库资源争用,如LATCH争用

SGA内存组件之间内存抖动

人为发起数据库SUSPEND命令

8、数据库全局性HANG的处理过程

sqlplus -prelim "/as sysdba"

SQL> oradebug -g all hanganalyze 3

SQL> oradebug -g all dump systemstate266


9、数据库局部性HANG处理过程

假设需要对9834号进程做跟踪,其语法如下所示:

10、性能类故障的处理思路

了解业务系统的拓扑架构,了解业务最近是否发生了变动

登录到主机,查看主机的资源消耗情况

登录到数据库,查看活动状态的会话数

查询V$SESSION_WAIT视图

采样AWR/STATSPACK报告

检查其他系统组件是否碰到了性能瓶颈

11、数据误操作类故障的处理思路

如果数据库有备份,则评估恢复时间和数据丢失率

如果表被误删除(DROP),则查看recyclebin

使用DUL等挖掘工具恢复误删除(DROP)的数据

如果数据被误删除(DELETE),则使用表闪回版本查询特性

使用logmnr工具挖掘归档日志恢复误操作(DML)的数据

12、数据库对象坏块的处理思路

使用dbv、RMAN等命令校验数据库的坏块

索引出现坏块,删除并重建索引

表出现坏块,则设置10231事件跳过坏块

使用bbed工具尝试修复坏块

13、SYSTEM/UNDO表空间损坏的处理思路

检查数据库的警告日志

物理备份整个数据库

用dbv工具校验SYSTEM/UNDO表空间

关闭监听,使得外部应用不会立刻连接至数据库

进行故障处理,如使用隐含参数、event、bbed等工具

14、数据库在线日志文件损坏的处理思路

对于INACTIVE状态的在线日志,使用clear进行重建

ACTIVE或者CURRENT状态的在线日志,则设置隐含参数_allow_resetlogs_corruption

数据库打开过程中出现ORA-00600[2662]错误,则使用10015事件或者隐含参数_minimum_giga_scn递增全库SCN

注意:千万不要在数据库运行时,关闭主机或者存储

15、控制文件损坏的处理思路

观察数据库是否能到MOUNT阶段

使用操作系统命令strings命令提取控制文件内容

按照重建控制文件的格式以NORESETLOGS选项重建控制文件

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表