• ora-01031:insufficient privileges 解决方案


    sqlplus /as sysdba 连补上,ora-01031的解决方法:

    (1)检查sqlnet.ora是否包含这句话:SQLNET.AUTHENTICATION_SERVICES=(NTS),没有加上。

    (2)检查登录的windows用户(administrator或安装oracle时候使用的用户)是不是包含在ORA_DBA组中,域用户没有连上服务器时就可能出现这种现象。

    (3)要保证remote_login_passwordfile 参数=EXCLUSIVE.

    (4)看看是否需要使用orapassw生成口令文件.

    0.select instance_name from v$instance;查看oracle实例名

    1.检查系统参数 SQL>show parameter password (alter system set remote_login_passwordfile=EXCLUSIVE scope=spfile)

    2.select * from v$pwfile_users; 返会为空则无dba权限

    3.grant sysdba to sys.

    4.建立password文件 (以PWD+SID,区分大小写) (orapwd file="$ORACLE_HOME/database/PWDorcl.ora" password=sys entries=10)

      原理:  之所以采用密码认证文件的方式来存放sys用户的口令,是因为sys用户要负责建库、启动数据库、关闭数据库等特殊任务,把以sys用户的中令单独存放于口令文件中,这样数据库末打开时也能进行口令验证。

    基于这样的原理,我们可以在忘记SYS密码的情况下通过重建PWD文件重新设置SYS密码。

    我采用如下步骤:

      1.确定原有PWD+SID.ora的密码文件和路径,找到并删除。

      2.在路径下新建一个PWD+SID.ora的密码文件

      3.进入CMD,输入 orapwd file=%oracle_home%/database/PWD+sid.ora password=sys 重新设置SYS密码为sys ,此外可以跟参数entries来指定数据库拥用DBA权限的用户的个数,

    如:orapwd file=%oracle_home%/database/PWD+sid.ora password=sys entries=2则指定拥有DBA 权限的用户数为2,还有一个参数force定义了是否覆盖当前文件。重建密码文件会清除系统内除了sys用户以外所有sysdba用户的密码

  • 相关阅读:
    [置顶] java得到前一个月的年月日时分秒
    Windows 8.1 Preview的新功能和新API
    oracle保证读一致性原理
    10161
    Qt国际化
    使用Maven管理依赖JAR文件,自定义项目布局,利用ANT生成不同的发布包
    Haxe2.10到Haxe3,NME到OpenFL的迁移备忘
    设置RichEdit相关颜色说明
    使用MFC CImage类绘制PNG图片时遇到的问题
    把网球计分招式重构到状态模式
  • 原文地址:https://www.cnblogs.com/de0319gh/p/3589451.html
Copyright © 2020-2023  润新知