`
zpball
  • 浏览: 917033 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle:ORA-01031: insufficient privileges的解决方法

阅读更多
ORA-01031: insufficient privileges的解决方法 原文出自:http://www.chinaunix.net/jh/19/132866.html
#############################################
#
# NAME: troubleshoot connect internal.txt
#
# DESCRIPTION:
# connect internal
# connect / as sysdba 要口令问题:
# refer (METALINK,ORACLEDOC),
# metalink search words(connect internal)
# NOTE:
#
# modifiy (MM/DD/YY) AUTHOR
# 05/03/03 ZORROL
#############################################
————————————————————
1。检查sqlnet.ora 文件.
sqlnet.ora 文件损坏或格式不对可以导致出现该问题。
sqlnet.ora 文件可能存放路径为
$TNS_ADMIN/sqlnet.ora
如果没有设置$TNS_ADMIN默认在$ORACLE_HOME/network/admin/sqlnet.ora  

$HOME/sqlnet.ora      
(1).   可以从别的机器拷贝一个文件过来,注意备份原来的sqlnet.ora。
---检查sqlnet.ora 文件内容
(2).   检查SQLNET.AUTHENTICATION_SERVICES  
如果没有使用dblink.检查该行并设置
SQLNET.AUTHENTICATION_SERVICES = (BEQ,NONE)
(3).    SQLNET.CRYPTO_SEED  
在unix 下不需要该参数。如果存在该行,注释掉或删掉
(4).AUTOMATIC_IPC  
如果该参数为 ON,将强制使用"TWO_TASK" 连接
最好设置为OFF
AUTOMATIC_IPC = OFF
2.检查相关文件的权限配置。
找到$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
3.检查操作系统相关设置。
(1).   $ORACLE_HOME环境变量是否设置正确
% cd $ORACLE_HOME     
% pwd  
如果错误,请重新设置:
sh or ksh:     ----------     
$ ORACLE_HOME=<path_to_ORACLE_HOME>     
$ export ORACLE_HOME      
Example:     
$ ORACLE_HOME=/u01/app/oracle/product/7.3.3     
$ export ORACLE_HOME       
csh:      ----    
% setenv ORACLE_HOME <path_to_ORACLE_HOME>        Example:     
% setenv ORACLE_HOME /u01/app/oracle/product/7.3.3   
另外$ORACLE_HOME路径应为实际路径,不应是目录连接(ln -s)
(2)   $ORACLE_SID是否设置正确;
% echo $ORACLE_SID                           
(3).确信没有设置$TWO_TASK
检查 "TWO_TASK" 是否设置:
sh, ksh or on HP/UX only csh:    
-----------------------------------
env |grep -i two    
- or -    
echo $TWO_TASK     
csh:     
----
setenv |grep -i two       
如果有返回行比如:
TWO_TASK=    
- or -  
TWO_TASK=PROD   
就需要取消着这些环境变量设置 :
sh or ksh:   
----------    
unset TWO_TASK        
csh:
----    
unsetenv TWO_TASK   
(4) 检查oracle 文件的权限:
% cd $ORACLE_HOME/bin     
% ls -l oracle
权限应为:rwsr-s--x, or 6751.
如果不是:
% chmod 6751 oracle  
(5). 检查当前所连接的操作系统用户是否是"osdba" 并且已经定义在:
"$ORACLE_HOME/rdbms/lib/config.s"  
or
"$ORACLE_HOME/rdbms/lib/config.c".
通常应为dba
% id      uid=1030(oracle) gid=1030(dba)    
可以如果"gid" 是 "dba" , "config.s" or "config.c"
里面应该有:            /* 0x0008          15 */          .ascii   "dba\0"    
如果没有添加目前的操作系统用户到dba 组,或则手工编辑更改config.c并且:%relink oracle
(6).所需要的文件系统是否正确mount
%mount
(7) 目前身份是否是"root" 并且操作系统环境变量 "USER", "USERNAME", and "LOGNAME" 没有设置成"root".
root用户是特例,除非当前组是dba 组,否则不能connect internal.
把root用户当前组改为dba组:
# newgrp dba
-----最好不要以root管理数据库;
(8).检查"/etc/group" :
是否存在重复行
% grep dba /etc/group       
dba::1010:
dba::1100:  
如果有,删掉没有用的。
(9).确信停掉的instance没有占用内存资源
比如:ipcs -b            
T          ID        KEY         MODE     OWNER       GROUP    SEGSZ        
Shared Memory:           
m           0    0x50000ffe --rw-r--r-- root        root          68           
m        1601    0x0eedcdb8 --rw-r----- oracle       dba     4530176        
可以看到1601 被oracle 使用,删掉.
-------注意是否启动了多个instance
% ipcrm -m 1601
(10).如果同时还有ora-12705 错误检查一下环境变量:
"ORA_NLS", "ORA_NLS32", "ORA_NLS33" ,"NLS_LANG".     
(11).检查 "ORACLE_HOME" and "LD_LIBRARY_PATH 环境变量:
$ LD_LIBRARY_PATH=$ORACLE_HOME/lib     
$ export LD_LIBRARY_PATH      
$ ORACLE_HOME=/u01/app/oracle/product/8.0.4     
$ export ORACLE_HOME
(12).当前的instance 所再的磁盘是否有足够的磁盘空间
df -k
(13).用户对/etc/passwd 是否有读权限。
(14).如果使用mts 方式,确信你的连接使用dedicade server 方式。
(15).安装ORACLE所需操作系统补丁是否打全。ORACLE 是否已经补丁到最新
分享到:
评论

相关推荐

    ORA-01031 insufficient privilege

    sqlplus / as sysdba时出现ORA-01031 insufficient privilege

    ora-01031禁止操作系统集成的身份验证方式

    使用conn / as sysdba进入数据库,报错ORA-01031: insufficient privileges

    远程登录并启动oracle数据库 解决ORA-01031

    #### 解决ORA-01031: insufficient privileges的方法 当收到“ORA-01031: insufficient privileges”的错误提示时,可以按照以下步骤解决问题: 1. **创建密码文件**: - **Unix/Linux环境下**: ```bash ...

    oracle+ora-各种常见java.sq

    - `java.sql.SQLException: ORA-01031: insufficient privileges`: 用户没有执行某些操作的权限。检查用户角色和权限设置,确保有足够的权限执行相关操作。 10. **回滚段错误** - `java.sql.SQLException: ORA-...

    Oracle数据库表定时备份表 表名动态拼接时间戳存储过程-解决了ORA-00922

    权限错误码:ORA-01031:insufficient privileges 7、经典备份语句:CREATE TABLE TB_B AS SELECT * FROM TB_A; 本存储过程解决备份表名称时动态添加时间戳,例如表名称 TB_B20240106; 8、资源内容有: 8.1、P_...

    oracle常见错误号

    16. ORA-01031:insufficient privileges - 没有足够的权限执行操作。检查用户的权限设置,可能需要DBA权限或特定的系统权限。 17. ORA-12514:TNS:listener does not currently know of service requested in ...

    Oracle数据库表定时备份表 表名动态拼接时间戳存储过程

    权限错误码:ORA-01031:insufficient privileges 7、经典备份语句:CREATE TABLE TB_B AS SELECT * FROM TB_A; 本存储过程解决备份表名称时动态添加时间戳,例如表名称 TB_B20240106; 8、资源内容有: 8.1、P_...

    oracle登录报错案例分析

    本文将通过一个具体的案例来分析并解决Oracle登录时出现的“ORA-01031: insufficient privileges”错误。 #### 案例背景 用户尝试使用SQL*Plus工具以`/as sysdba`的方式登录Oracle数据库,但连续两次均收到“ORA-...

    plsql常见问题.docx

    本文将详细解析"ORA-0131: Insufficient privileges"错误,并提供解决方案,同时也会介绍如何在PL/SQL Developer中导入SQL脚本。 1. ORA-0131 错误解析: 当你在PL/SQL Developer尝试调试存储过程时,如果收到...

    Oracle权限不足问题集锦

    但 是 这 样 做 的 结 果 是 出 现 了 “ORA-01031: insufficient privileges”错误。请告诉我如何才能实现我想要达到的目的?现在两个用户都 是在同一个 Oracle 实例中,数据库是 Oracle 10g。 答:你的两个 Schema ...

    Oracle环境通过SQL*PLUS本地登录时报错的解决过程

    ora-01031 insufficient privileges ——-权限不足 二. 解决过程 错误排除 1. 当时首先想到的是oracle不允许用sqlplus工具登录,但随即想法打消 sqlplus sys/admin as sysdba –成功登录! sqlplus sys/admin as ...

    Linux安装oracle 11G各系统变量配置脚本

    用root身份执行该脚本,实现对limits.conf,login,sysctl.conf,profile,.bash_profile文件进行设置,并创建用户oracle,创建oinstall和dba组,创建安装目录 执行脚本命令 ./path.ksh 密码(oracle用户的密码) ...

    oracle 10g错误代码手册

    - **ORA-01031: insufficient privileges** - **含义**:执行操作的用户权限不足。 - **解决方法**:联系数据库管理员,请求适当的权限。 - **ORA-01555: snapshot too old** - **含义**:查询返回的数据与实际...

    常见ORA解决方案.pdf

    3. **ORA-01031: insufficient privileges** - **解释**:此错误表明用户没有足够的权限执行某项操作。 - **解决方案**: - 授予用户必要的权限。 - 使用具有足够权限的账户登录。 #### 六、政府用户的特殊条款...

    SAP中oracle数据库的备份恢复.pdf

    在恢复过程中,可能遇到权限问题,如错误提示"ORA-01031: insufficient privileges"。这通常意味着执行恢复操作的用户没有足够的权限。为了解决这个问题,可以检查Oracle的环境变量,确保用户有执行RMAN(Recovery ...

    oracle安装与出错的解决方法

    在不同的操作系统环境下安装和维护Oracle可能会遇到各种问题,以下是一些关键的知识点和解决方法: 1. **系统需求**:确保你的系统满足Oracle的硬件和软件要求。这包括足够的内存、处理器速度、磁盘空间以及兼容的...

    oracle登陆认证方式教学内容.pdf

    当出现“ERROR: ORA-01031: insufficient privileges”时,意味着用户没有足够的权限进行特定操作。这可能是由于认证方式不正确,或者用户没有适当的数据库角色和权限。 总结来说,Oracle的登陆认证方式取决于sql...

    Oracle商务智能手册

    #### 六、ORA-01039:Insufficient privileges 错误的解决方法 - **原因分析**:ORA-01039 错误通常是由于用户账户没有对视图或视图下表的`SELECT`权限导致的。 - **权限授予**:解决办法是让视图的拥有者(通常是...

    解决windows10下"sqlplus / as sysdba"执行提示无权限问题

    主要介绍了解决windows10下"sqlplus / as sysdba"执行提示无权限问题,在文中给大家介绍了Windows下sqlplus “/as sysdba”登陆报“ORA-01031: insufficient privileges”处理方法,感兴趣的朋友跟随脚本之家小编...

Global site tag (gtag.js) - Google Analytics