as sysdba 登录后找不到以前的表
今天一学生说,用sysdba登入后发现此用户下的表都找不到,不用sysdba登入后就发现有,问有什么原因,先模拟下。
SQL> conn / as sysdba
Connected.
SQL> grant sysdba to scott;
Grant succeeded.
SQL> conn / as sysdba
Connected.
SQL> alter user scott identified by tiger;
User altered.
SQL> conn scott/tiger;
Connected.
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
BONUS TABLE
DEPT TABLE
EMP TABLE
MLOG$_STU TABLE
RUPD$_STU TABLE
SALGRADE TABLE
STU TABLE
7 rows selected.
SQL> select count(*) from dept;
COUNT(*)
----------
4
SQL> conn scott/tiger as sysdba
Connected.
SQL> select count(*) from dept;
select count(*) from dept
*
ERROR at line 1:
ORA-00942: table or view does not exist
看看真的找不到了。
找了官方文档。
当你用sysdba登入时,你链接使用了一个default schema,不是你用户所关联的schema.大家了解了吗?
其实你用show user,可以看到。
SQL> conn scott/tiger as sysdba
Connected.
SQL> select count(*) from dept;
select count(*) from dept
*
ERROR at line 1:
ORA-00942: table or view does not exist
SQL> show user
SQL> show user
USER is "SYS"
大家理解了吗。。。。。。。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/203348/viewspace-1562390/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/203348/viewspace-1562390/