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;
用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会触发该提示
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,全局搜索会有重复,是几百字节的 那个
2、检查登陆windows的用户(administrator或安装oracle时候使用的用户)是不是在包含在ORA_DBA组中,域用户没有连上域服务器时就可能出现这种现象。
3. 要保证 remote_login_passwordfile 参数 = EXCLUSIVE .
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,会展示当前所有用户
2、net localgroup查看用户组
3、net localgroup ora_dba查看ora_dba用户组下具体的用户,结果显示没有本机用户
4、添加本机管理员到ora_dba用户组下:net localgroup ora_dba administrator /add,啊注意/前面有空格的,截图中用户添加错了,应该去掉s,要注意前面查到的本机用户到底是谁
现在再查一下ora_dba下面就有本机管理员用户了
5、此时执行sqlplus / as sysdba
没错,还是不行,真的崩溃啊,感觉能找到的关键问题都在上面验证过了,歇几天。
然后搜到一个帖子也是关于sqlnet.ora文件配置的,提到SQLNET.AUTHENTICATION_SERVICES= (NTS)并非一定要设置才行,于是试着注释掉了,
#SQLNET.AUTHENTICATION_SERVICES= (NTS)
搞定啦!但是最后一步这个原理还没弄明白。