重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
不用的时候可以停掉oracle服务,设置开机不自动启动就可以了。 第一步:右击“我的电脑”选择“管理”,之后找到“服务和应用程序”中的“服务”。 第二步:将Oracle的选项全部设置为“手动”,用的时候在服务项上右击“启动”就可以了。
10年积累的做网站、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先建设网站后付款的网站建设流程,更有龙湾免费网站建设让你可以放心的选择与我们合作。
确实是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目录没有执行权限。其实根目录权限的丢失对于系统中运行的每个用户存在同样的影响。因此,在权限出现问题时,一定要注意根目录的权限。
使用青蛙/plsql/自带工具连接时没有任何报错直接卡死 在网上找了一些并没有解决 就自己摸索了一会
解决办法
检查Oracle的监听日志文件是否过大或损坏
当时查看时已经4g+了 记事本无法打开 当尝试使用其它方式打开时 提示磁盘文件损坏
扯远了
1.停止Oracle监听服务
2.删除或重命名监听文件名(如果不要可以删除,还是推荐重命名保存原来的),日志路径 oracle\diag\tnslsnr\这里是计算机名\listener\trace
3重启Oracle监听 就可以了