`
liquidchen
  • 浏览: 11361 次
  • 性别: Icon_minigender_1
  • 来自: 台北
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

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 是否已經補丁到最新
分享到:
评论

相关推荐

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

    本文将详细介绍如何实现这一过程,并针对“ORA-01031: insufficient privileges”这一常见错误提供解决方案。 #### Oracle数据库远程连接认证方式 在Oracle数据库中,远程连接主要有两种认证方式: 1. **操作系统...

    ORA-01031 insufficient privilege

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

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

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

    oracle常见错误号

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

    plsql常见问题.docx

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

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

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

    oracle+ora-各种常见java.sq

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

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

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

    Oracle权限不足问题集锦

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

    oracle登录报错案例分析

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

    oracle 10g错误代码手册

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

    常见ORA解决方案.pdf

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

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

    用root身份执行该脚本,实现对limits.conf,login,sysctl.conf,profile,.bash_profile文件进行设置,并创建用户oracle,创建oinstall和dba组,创建安装目录 ... 哈哈 比较适合新装,一次性配置

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

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

    oracle_11gR2_09 视图 VIEW 的介绍(

    ORA-01031: insufficient privileges ``` 这表示当前用户没有足够的权限来创建视图。为了赋予用户创建视图所需的权限,需要以具有足够权限的用户登录,并执行以下命令: ```sql GRANT CREATE VIEW TO username; ``...

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

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

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

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

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

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

    oracle安装与出错的解决方法

    - **“Insufficient Privileges”**:检查当前用户是否有足够的权限进行操作,可能需要以DBA角色登录。 - **“ORA-12541: TNS:no listener”**:检查监听器是否运行,监听器配置是否正确。 - **“ORA-01078: ...

Global site tag (gtag.js) - Google Analytics