sysdba登录oracle的schema是sys

来源:互联网 发布:为什么淘宝三国杀元宝 编辑:程序博客网 时间:2024/05/21 15:42
sysdba登录oracle的schema是sys
===========================================================

当使用sysdba或sysoper特权登录oracle数据库的时候,会使用默认的schema,并不是使用登录数据库的时候指定的用户的schema。
sysdba的默认schema是sys
sysoper的默认schema是public

(b14231 第60页)

下面是一个检验如上说法的例子


登录数据库

ora_test@oracle[/home/oracle]> sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Tue Feb 2 19:01:04 2010

Copyright (c) 1982, 2005, Oracle. All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

创建测试用户test,并为测试用户分配dba和sysdba权限

sys@CNHTM> create user test identified by test
2 default tablespace users;

User created.

sys@CNHTM> grant dba to test;

Grant succeeded.

sys@CNHTM> grant sysdba to test;

Grant succeeded.

用test用户登录,并创建表 admin_test

sys@CNHTM> conn test/test
Connected.
test@CNHTM> show user
USER is "TEST"
test@CNHTM> create table admin_test(name VARCHAR2(20));

Table created.

用test用户,以sysdba特权登录

test@CNHTM> conn test/test as sysdba
Connected.

显示用户,显示为sys

sys@CNHTM> show user
USER is "SYS"

检查刚才创建的表,发现无法找到,因为那个表在test schema下,而现在在sys schema下

sys@CNHTM> select * from admin_test;
select * from admin_test
*
ERROR at line 1:
ORA-00942: table or view does not exist

--end--

原创粉丝点击