[root@ray01 ~]# su - oracle
[oracle@ray01 ~]$ crontab -e
Your(oracle) are not allowed to access to (crontab) because of pam configuration
先检查cron.allow
[root@wtdbadm01 ~]# more /etc/cron.allow
oracle
root
[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 oracle
Last password change : Apr 21, 2020
Password expires : Jun 20, 2020
Password inactive : never
Account expires : never
Minimum number of days between password change : 1
Maximum number of days between password change : 60
Number 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 oracle
Last password change : Apr 21, 2020
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 1
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
检查crontab,crontab出现,问题解决。
[root@ray01 ~]# su - oracle
Last login: Sun Jul 5 10:48:27 CST 2020 on pts/3
[oracle@ray01 ~]$ crontab -l
23 21 * * * /home/oracle/dataguard/delarch.sh