包含怎么排查oracle假死的词条

我的oracle宕机了怎么处理

1、案例现象

在南阳等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计、成都网站建设 网站设计制作按需网站开发,公司网站建设,企业网站建设,品牌网站制作,营销型网站,外贸营销网站建设,南阳网站建设费用合理。

在root用户下,su切换到一个普通用户oracle下,却发生了如下错误:

oracle数据库意外宕机的分析处理案例

于是,尝试直接通过oracle用户登录系统,发现此时的oracle用户也无法登录了,出现与上面同样的错误。

2、解决思路

从上面错误提示可知是权限出现了问题,那么可以从权限入手进行排查,基本思路如下:

用户目录/home/oracle权限问题;

su程序执行权限问题;

程序依赖的共享权限问题;

selinux问题导致;

系统根空间问题。

3、排查问题

根据上面的思路,我们进行逐一检查,考虑到su在切换到oracle用户时会读取oracle目录下的环境变量配置文件,因此,首先检查/home/oralce目录的权限是否存在问题,

[root@loaclhost home]# ls -al/home|grep oracle

drwx---- 4 oralce oinstall 4096 01-31 10:45 oracle

从输出可知,/home/oracle目录的属主是oracle用户,oracle用户对这个目录有“rwx”权限,因此,oracle用户目录的权限设置是正确的,可以排除掉这个问题了。

接着检查su执行权限问题:

[root@loaclhost home]# 11 /bin/su

-rwsr-xr-x 1 root root 24120 2007-11-30 /bin/su

可见su命令执行权限也没有问题,这个也排除了。

继续检查su依赖的共享库权限,使用ldd命令检查su命令依赖的共享库文件,如下图

oracle数据库意外宕机的分析处理案例

根据上面的操作,依次检查su命令依赖的每个库文件的权限,发现也都是正常的,因此,共享库的问题也排除了。

根据上面的思路,绩效检查SELinux的设置。

oracle数据库意外宕机的分析处理案例

由输出可知,SELinux处于关闭状态,这个原因也排除了。

到这来为止,问题变得朴素迷离,到底是哪里出现问题了呢?作为Linux运维,例行检查系统根分区状态是非常必要的,那么首先检查一个根分区的磁盘空间大小,发现剩余空间还有很多,空间问题也排除了。既然报的错误是权限有问题,那么只要以权限为线索,不偏离这个核心就没错,于是继续尝试检查/home目录下各个用户的权限,如下图。

oracle数据库意外宕机的分析处理案例

从输出看每个用户的目录权限,都是“rwx----”,即“700”,完全没有问题,可是我发现我错了,我的目光一直在用户对应的目录上,而忽略了其他输出信息,而问题就藏在我没有关注的信息中。在这个命令输出的前两行中,第一行权限对应的目录是“.”,代表当前目录,也就是/home目录,权限为“rwxr-xr-x”,第二行权限对应的目录是“..”,也就是根目录,权限却为“rw-rw-rw-”,即“666”,此时,问题终于查找到了,原来是根目录权限问题。

4、解决问题

知道了问题产生的原因,解决问题就非常简单,执行如下命令:

[root@localhost~]#chmod 755 /

然后就可顺利执行su切换命令。

经验分享

这个问题主要是由于根目录没有执行权限,而Linux下所有的操作都是在根目录下进行的,进而导致/home/oralce目录没有执行权限。其实根目录权限的丢失对于系统中运行的每个用户存在同样的影响。因此,在权限出现问题时,一定要注意根目录的权限。

ORACLE 如何查询被锁定表及如何解锁释放session

ORACLE

EBS操作某一个FORM界面,或者后台数据库操作某一个表时发现一直出于"假死"状态,可能是该表被某一用户锁定,导致其他用户无法继续操作

复制代码

代码如下:--锁表查询SQLSELECT

object_name,

machine,

s.sid,

s.serial#

FROM

gv$locked_object

l,

dba_objects

o,

gv$session

s

WHERE

l.object_id

=

o.object_id

AND

l.session_id

=

s.sid;

找到被锁定的表,解锁

复制代码

代码如下:--释放SESSION

SQL:

--alter

system

kill

session

'sid,

serial#';

您可能感兴趣的文章:mysql

事务处理及表锁定深入简析

Oracle数据库,PLSQLsession几分钟不用就自动断开,自己也没设置超时自动断开啊,怎么让它不断呢?

1. tnsping 本地连接串 看看返回毫秒数是否正常2.关闭本机和服务器防火墙尝试,一般PLSQL会发起一个反向连接,服务器如果有防火墙的话会阻止连接导致PLSQL等待连接响应,就会出现假死现象了。你可以先试试看,不行就贴错误代码和配置,探讨探讨。

监控判断oracle数据库挂了

监控判断oracle数据库挂了就是数据库宕机了,不能再提供服务。

最简单的处理办法就是重启计算机。

或者就要在数据库里排查出发生问题的原因,然后对症解决。

oracle 为什么写了select * 就死掉了

一种可能是数据量比较大 造成数据假死 上服务器看吧

也可能是数据表被锁 通过dba权限可以查看

oracle 存储过程 运行无结果

sqlplus或者PL/SQL SQL窗口输入(单独调用存储过程):无参数EXEC 过程名;或者BEGIN过程名END; IN 参数EXEC 过程名(入参数..);或者BEGIN过程名(入参数...)END; OUT参数,IN OUT参数variable 绑定变量名 数据类型; //定义一个变量接收出参数的值;EXEC 过程名(:绑定变量名);

名称栏目:包含怎么排查oracle假死的词条
文章路径:https://www.cdcxhl.com/article22/hsihjc.html

成都网站建设公司_创新互联,为您提供营销型网站建设手机网站建设面包屑导航定制开发品牌网站设计网站策划

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

绵阳服务器托管