oracle: linux服务器本机不能登陆的解决

 转载自: http://zhang41082.itpub.net/post/7167/453791

服务器本机不能登陆的解决

一台测试的数据库服务器安装好之后,每次都是使用SecureCRT远程通过ssh登陆上去操作,即使安装数据库的需要图形界面的操作,也是通过vnc远程做的,突然今天,发现这个服务器在本机不能登陆,可是远程却可以登陆,而且这台测试机器使用了很久了,也没碰见过什么异常,系统日志也查不到什么有用的东西,见鬼了?

安装oracle过程中,一般的安装文档中都会提到要设置/etc/security/limits.conf和/etc/pam.d/login参数文件来限制oracle服务器可以打开的文件数、进程数等等资源的限制,于是会需要在/etc/pam.d/login 文件中添加session required /lib/security/pam_limits.so一行内容来实现/etc/security/limits.conf中定义的各项限制,和通过ulimit命令直接设置资源设置类似,此机器的安装过程中也是这样设置的,可是问题就出现在这里了。

此机器使用的是64位的操作系统,因此根本没有/lib/security/pam_limits.so文件存在,而应该使用替代的/lib64/security/pam_limits.so文件来代替,否则在登陆的时候找不到这个文件,就会出现本机不能登陆的情况。

修改后,本机登陆正常。

提示:修改此参数不需要重新启动系统的,修改立即生效。

 

转载自:http://hi.baidu.com/dr_wang/blog/item/245b3b8913196fba0f24448c.html

centos 5.3 不能登录字符界面问题的解决
2009-07-17 23:53
看了鸟哥的私房菜,发现在图形界面下可以快速的切换到字符界面下,只要使用ctrl+alt+F1键就可以了(F1是功能键,当然也可以是F2~F7,F7是切换到图形界面的)。欣喜若狂的我,马上尝试了一把。结果令我相当的失望,输入正确的密码后,又回到了登录的界面。总是登录不进去,快郁闷疯了。

但是要解决问题的啊,只会郁闷是不起作用的。那么就考虑到是认证的问题。和认证相关的就是/etc/pam.d/这个目录了。而这个问题又是在登录问题相关的。那么一定和/etc/pam.d/login这个配置文件有关系的。起初去看这个文件,发现不了什么问题。一切都是那么平静又那么的正常。

还是搞不定了啊。在搞不定的时候,问google啊。其实google有时候也是搜不到丢答案的,这次google就没有给出答案,但是给了个提示。在一篇文章里看到有个哥们查看vim /var/log/secure这个文件,对这个文件,原来还没有结果。此时去观察一把吧,反正这个问题又不是一会能解决的。

下面就看看这个文件吧,发现了如下的内容:

Jul 17 19:27:12 localhost gdm[6068]: pam_unix(gdm:session): session opened for user root by (uid=0)
Jul 17 20:21:27 localhost userhelper[28055]: pam_timestamp(system-config-authentication:session): updated timestamp file `/var/run/sudo/root/unknown'
Jul 17 20:21:27 localhost userhelper[28058]: running '/usr/share/authconfig/authconfig-gtk.py' with root privileges on behalf of 'root'
Jul 17 20:22:03 localhost login: PAM unable to dlopen(/lib/security/pam_limits.so)
Jul 17 20:22:03 localhost login: PAM [error: /lib/security/pam_limits.so: wrong ELF class: ELFCLASS32]
Jul 17 20:22:03 localhost login: PAM adding faulty module: /lib/security/pam_limits.so
Jul 17 20:22:05 localhost login: pam_unix(login:session): session opened for user root by (uid=0)
Jul 17 20:22:05 localhost login: Module is unknown
Jul 17 20:22:08 localhost login: PAM unable to dlopen(/lib/security/pam_limits.so)
Jul 17 20:22:08 localhost login: PAM [error: /lib/security/pam_limits.so: wrong ELF class: ELFCLASS32]
Jul 17 20:22:08 localhost login: PAM adding faulty module: /lib/security/pam_limits.so
Jul 17 20:22:11 localhost login: pam_unix(login:session): session opened for user root by LOGIN(uid=0)
Jul 17 20:22:11 localhost login: Module is unknown


这里一个so文件的一个类有错误了。既然错了,那么我就不用了。我先去把/etc/pam.d/login文件里面的有/lib/security/pam_limits.so那一行注释掉。

这时候再登录字符界面,可以登录进去了,比较高兴。dlopen不能打开so文件,是什么问题呢??我去找了一把/lib/security/pam_limits.so文件,结果这个文件是存在的。下面的出现了32的信息,难道和操作系统的位数有关?我到/lib64/securrity/目录下,找了一把pam_limits.so文件,很不错,找到了。那么我可以把前面注释掉的那一行修改一下吗??抱着试试看的态度修改了一下,结果把问题搞定了。原来是动态库的架构不一样导致了登录不上字符界面。

遇到系统的问题,应该马上去查找他的日志文件,来查询发生了什么问题。这样,对搞定问题有很大帮助。以后就多研究日志文件了,呵呵。

 

你可能感兴趣的:(oracle与c++开发)