sysdba特权中的访问表用户



我作为普通用户创建了一些表格,当我将特权更改为sysdba时,我没有fiund我的桌子!
我收到此消息:table or view does not exist

这就是我要做的:
首先,使用普通用户的特权,我创建tab1

create table tab1 …;

我插入一些值,当i

select * from tab1;

显示我所有的行,但是当我以sysdba连接时;使用此当前用户,不显示行!

当您登录为sysdba时,您实际上是SYS用户,因此,您已连接到SYS架构,而不是您自己的架构:

sqlplus kjohnston as sysdba
*connected*
SQL> show user;
USER is "SYS"

由于您在系统架构中,因此您必须通过以下方式将表格名称以:

为:
select * from kati_ais.tab1;  //assuming kati_ais is your schema name

作为附带说明,除非您确实需要该会议的较高级别的特权,否则您不应习惯于登录为Sysdba。

来自Oracle文档https://docs.oracle.com/database/121/admin/dba.htm#admin11048,Sysdba是Sysdba为您的用户提供的:

Perform STARTUP and SHUTDOWN operations
ALTER DATABASE: open, mount, back up, or change character set
CREATE DATABASE
DROP DATABASE
CREATE SPFILE
ALTER DATABASE ARCHIVELOG
ALTER DATABASE RECOVER
Includes the RESTRICTED SESSION privilege

与其他用户一起看到表格的内容是:

grant select on *normal_user*.table1 to *your_sysdba_user*

并为每个表重复它

,也可以使用

打开吧台
grant select any table to *your_sysdba_user*

,但请注意,选择任何表都包含所有人的所有表

我会假设您的Sysdba用户会像Sys一样与数据库神亲近,所以可以,但是免责声明在那里,所以您知道

相关内容

  • 没有找到相关文章