[root@ray01 ~]# su - oracle[oracle@ray01 ~]$ crontab -eYour(oracle) are not allowed to access to (crontab) because of pam configuration
先检查cron.allow
[root@wtdbadm01 ~]# more /etc/cron.alloworacleroot[root@wtdbadm01 ~]# more /etc/cron.deny/etc/cron.deny: No such file or directory
也就是说oracle用户是允许创建crontab的。那为什么crontab -e显示不允许创建crontab呢?百思不得其解,最后还是BOSS出手瞬间搞定了。
查看oracle用户密码是否过期
[root@ray01 ~]# chage -l oracleLast password change : Apr 21, 2020Password expires : Jun 20, 2020Password inactive : neverAccount expires : neverMinimum number of days between password change : 1Maximum number of days between password change : 60Number of days of warning before password expires : 7
通过查询得知,oracle用户的密码在2020年6月20日就实效了,正因如此,oracle不允许执行crontab,而且原先创建的一些crontab都无法执行。
解决方法一:
重置oracle用户密码
解决方法二:
修改oracle用户密码用不过期,默认的useradd是永不过期的
[root@ray01 ~]# chage -M 99999 oracle[root@ray01 ~]# chage -l oracleLast password change : Apr 21, 2020Password expires : neverPassword inactive : neverAccount expires : neverMinimum number of days between password change : 1Maximum number of days between password change : 99999Number of days of warning before password expires : 7
检查crontab,crontab出现,问题解决。
[root@ray01 ~]# su - oracleLast login: Sun Jul 5 10:48:27 CST 2020 on pts/3[oracle@ray01 ~]$ crontab -l23 21 * * * /home/oracle/dataguard/delarch.sh