oracle ORA-01031: insufficient privileges

今天闲来无事,在网上看了一篇,使用外部表查看oracle的报警日志,感觉挺有用的。

 

 

 

就按照上面的步骤开始了配置,环境是redhat5.3,oracle11.2,

 

当在创建外面的表的时候出现了ORA-01031: insufficient privileges  错误,

 

从网上查找原因有sqlnet.ora的文件错误。需要确定有SQLNET.AUTHENTICATION_SERVICES = (NONE)这个选项。

 

确定实例名和$ORACLE_SID一样,

是否有剩余空间,

环境是否配置错误,

AUTOMATIC_IPC 如果该参数为 ON,将强制使用"TWO_TASK" 连接 最好设置为OFF AUTOMATIC_IPC = OFF ,相关文件的权限检查相关文件的权限配置。 

找到$TNS_ADMIN/*

$ cd $TNS_ADMIN
$ chmod 644 sqlnet.ora tnsnames.ora listener.ora
$ ls -l sqlnet.ora tnsnames.ora listener.ora
-rw-r--r-- 1 oracle dba 1628 Jul 12 15:25 listener.ora
-rw-r--r-- 1 oracle dba 586 Jun 1 12:07 sqlnet.ora
-rw-r--r-- 1 oracle dba 82274 Jul 12 15:23 tnsnames.ora 

 

检查oracle 文件的权限: 

% cd $ORACLE_HOME/bin
% ls -l oracle
权限应为:rwsr-s--x, or 6751.
如果不是:
% chmod 6751 oracle

 

一步步检查这些可能出现错误的地方,最后问题还是没有解决。

 

静下来,仔细想了一下,这个用户是刚刚创建的,只是赋予了connect,resource的权限。是不是没有创建表的权限?

于是赋予了create table 的权限

 

再次创建,总算成功了,所以我们在出现问题的时候要考虑是哪方面出现的问题。

你可能感兴趣的:(oracle ORA-01031: insufficient privileges)