oracle用户权限与管理员权限问题

1、stu用户没有建表权限→需sys或system用户赋权

system默认:manager

sys默认:change_on_install

使用SQL Plus登录数据库时,system使用密码manager可直接登录。

但如果是sys用户,密码必须加上as sysdba,即完整密码为:change_on_install as sysdba

sqlplus: alter user dbaName account unlock; 解锁登陆账号

sqlplus: alter user dbaName account lock;  冻结登陆账号

sqlplus: alter user dbaName identified by "password"; 修改登录账号密码

2、system/manager登陆,经排查得不管用户是啥,主要是connect as选sysdba时,均提示:insufficient privileges;

oracle用户权限与管理员权限问题_第1张图片

用sqlplus操作同提示insufficient privileges,

(搜索sqlplus.exe文件位置,位于E:\myoracle\oracle\product\11.2.0\dbhome_1\BIN;

管理员启动cmd进入该目录下;

以不登录的方式打开sqlplus命令行:sqlplus/nolog;

以dba身份连接数据库实例命令行:connect / as sysdba,此时报错)

(这里如果成功了,就修改密码为manager,命令行必包含句末分号:alter user sys identified by manager;,无需重启oracle服务即可登录);

 

用户sys as sysdba密码change_on_install,提示:给出空口令 登陆被拒绝,排查得主要影响是用户名中关键字:as sysdba会触发该提示

oracle用户权限与管理员权限问题_第2张图片

 

3、2问题可能四种情况:

1、检查sqlnet.ora(WINDOWS下位于%ORACLE_HOME%/NETWORK/ADMIN目录linux下位于$ORACLE_HOME/network/admin/下)是否包含这句:SQLNET.AUTHENTICATION_SERVICES=(NTS),没有的话加上

我的文件位置:E:\myoracle\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN,全局搜索会有重复,是几百字节的 那个

oracle用户权限与管理员权限问题_第3张图片

oracle用户权限与管理员权限问题_第4张图片

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

3. 要保证 remote_login_passwordfile 参数 = EXCLUSIVE .

oracle用户权限与管理员权限问题_第5张图片

SQL> show parameter password; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ remote_login_passwordfile string EXCLUSIVE (这个用命令行查看的解法很迷,都没法登陆sys怎么查,别的用户会提示表或视图不存在,我搜索配置文件init.ora看的,有两个)

4. 看看是否需要使用orapassw生成口令文件,在$ORACLE_HOME/dbs下修改密码文件

本机实例密码文件PWDorcl.ora位置:E:\myoracle\oracle\product\11.2.0\dbhome_1\database  不过都是乱码啊

orapwd file=orapw$ORACLE_SID  password=orcl  entries=5; 

如果是多个实例的话,要设置set oracle_sid= 

查看有sysdba的权限

SQL> select * from v$pwfile_users; 

USERNAME                       SYSDB SYSOP SYSAS                                

------------------------------ ----- ----- -----                                

SYS                            TRUE  TRUE  FALSE 

 

4、ORA_DBA是oracle特有用户,具有超级管理员权限,建成dba它具有管理数据库的最高权限。针对上述灰小字2,win8.1以上没有用户与组配置,无法实现,尝试用dos解决:

1、系统管理员登陆,查看当前系统用户:net user,会展示当前所有用户

oracle用户权限与管理员权限问题_第6张图片

2、net localgroup查看用户组

oracle用户权限与管理员权限问题_第7张图片

3、net localgroup ora_dba查看ora_dba用户组下具体的用户,结果显示没有本机用户

 oracle用户权限与管理员权限问题_第8张图片

4、添加本机管理员到ora_dba用户组下:net localgroup ora_dba administrator /add,啊注意/前面有空格的,截图中用户添加错了,应该去掉s,要注意前面查到的本机用户到底是谁

oracle用户权限与管理员权限问题_第9张图片

现在再查一下ora_dba下面就有本机管理员用户了

oracle用户权限与管理员权限问题_第10张图片

5、此时执行sqlplus / as sysdba

oracle用户权限与管理员权限问题_第11张图片

没错,还是不行,真的崩溃啊,感觉能找到的关键问题都在上面验证过了,歇几天。

然后搜到一个帖子也是关于sqlnet.ora文件配置的,提到SQLNET.AUTHENTICATION_SERVICES= (NTS)并非一定要设置才行,于是试着注释掉了,

 

#SQLNET.AUTHENTICATION_SERVICES= (NTS)

 

搞定啦!但是最后一步这个原理还没弄明白。

你可能感兴趣的:(数据库)