grant select any table
时间: 2023-04-29 13:01:47 浏览: 709
grant select any table 是一种授权语句,用于授予用户在任何表上执行 SELECT 操作的权限。这意味着用户可以查询数据库中的任何表,而不仅仅是自己拥有的表。这种授权通常只授予给具有高级权限的用户,如数据库管理员。
相关问题
CREATE USER cedar IDENTIFIED BY cedar DEFAULT TABLESPACE CEDAR_DATA TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK; -- 5 Roles for cedar GRANT DBA TO cedar; GRANT RESOURCE TO cedar WITH ADMIN OPTION; GRANT AQ_ADMINISTRATOR_ROLE TO cedar; GRANT CONNECT TO cedar WITH ADMIN OPTION; GRANT AQ_USER_ROLE TO cedar; ALTER USER cedar DEFAULT ROLE ALL; -- 44 System Privileges for cedar GRANT CREATE ANY DIRECTORY TO cedar WITH ADMIN OPTION; GRANT CREATE PUBLIC SYNONYM TO cedar WITH ADMIN OPTION; GRANT EXECUTE ANY CLASS TO cedar WITH ADMIN OPTION; GRANT DROP ANY VIEW TO cedar WITH ADMIN OPTION; GRANT CREATE CLUSTER TO cedar; GRANT ALTER SYSTEM TO cedar; GRANT UPDATE ANY TABLE TO cedar; GRANT INSERT ANY TABLE TO cedar; GRANT LOCK ANY TABLE TO cedar; GRANT CREATE EXTERNAL JOB TO cedar WITH ADMIN OPTION; GRANT EXECUTE ANY PROGRAM TO cedar WITH ADMIN OPTION; GRANT CREATE JOB TO cedar WITH ADMIN OPTION; GRANT DROP ANY DIRECTORY TO cedar WITH ADMIN OPTION; GRANT ALTER ANY TRIGGER TO cedar; GRANT CREATE DATABASE LINK TO cedar; GRANT DROP ANY TABLE TO cedar WITH ADMIN OPTION; GRANT CREATE TABLE TO cedar WITH ADMIN OPTION; GRANT QUERY REWRITE TO cedar; GRANT ANALYZE ANY TO cedar; GRANT DROP ANY TRIGGER TO cedar; GRANT EXECUTE ANY PROCEDURE TO cedar; GRANT SELECT ANY TABLE TO cedar WITH ADMIN OPTION; GRANT ALTER ANY TABLE TO cedar; GRANT UNLIMITED TABLESPACE TO cedar WITH ADMIN OPTION; GRANT CREATE SESSION TO cedar; GRANT CREATE ANY TRIGGER TO cedar; GRANT DROP ANY PROCEDURE TO cedar WITH ADMIN OPTION; GRANT ALTER ANY PROCEDURE TO cedar; GRANT DROP PUBLIC SYNONYM TO cedar WITH ADMIN OPTION; GRANT DROP ANY SYNONYM TO cedar WITH ADMIN OPTION; GRANT MANAGE SCHEDULER TO cedar WITH ADMIN OPTION; GRANT CREATE ANY PROCEDURE TO cedar; GRANT CREATE PROCEDURE TO cedar WITH ADMIN OPTION; GRANT CREATE SEQUENCE TO cedar; GRANT CREATE VIEW TO cedar WITH ADMIN OPTION; GRANT CREATE SYNONYM TO cedar; GRANT DROP ANY INDEX TO cedar; GRANT DELETE ANY TABLE TO cedar; GRANT CREATE ANY TABLE TO cedar; GRANT CREATE ANY JOB TO cedar WITH ADMIN OPTION; GRANT SELECT ANY DICTIONARY TO cedar WITH ADMIN OPTION; GRANT CREATE ROLE TO cedar; GRANT CREATE ANY SYNONYM TO cedar WITH ADMIN OPTION; GRANT ALTER SESSION TO cedar WITH ADMIN OPTION; GRANT EXECUTE ON sys.dbms_aq TO cedar; GRANT EXECUTE ON sys.dbms_aqadm TO cedar; GRANT EXECUTE ON sys.dbms_network_acl_admin TO cedar; GRANT ALL ON sys.DBMS_LOCK TO cedar; 这个SQL在oracle 能用吗
这个 SQL 语句应该是可以在 Oracle 环境中执行的。它的作用是创建一个名为 cedar 的用户,并指定了该用户的默认表空间、临时表空间、角色和权限等信息。其中,该用户被授予了 DBA、RESOURCE、AQ_ADMINISTRATOR_ROLE、CONNECT、AQ_USER_ROLE 等角色,也被授予了 44 个系统权限(如 CREATE ANY DIRECTORY、EXECUTE ANY CLASS、CREATE TABLE 等)。此外,该用户还被授予了一些特殊的权限,如 EXECUTE ON sys.dbms_aq、EXECUTE ON sys.dbms_aqadm、EXECUTE ON sys.dbms_network_acl_admin 等。这些权限和角色的授予将使得该用户具有较高的系统权限,需要谨慎使用。
not+support+wildcard+in+db+name+when+grant+database+level+privilege
根据提供的引用内容,可以得知Oracle数据库在授予数据库级别权限时不支持通配符。也就是说,当你授予数据库级别的权限时,你必须指定一个具体的数据库名称,而不能使用通配符来匹配多个数据库。
例如,在以下语句中,我们试图授予用户“testuser”对所有以“mydb_”开头的数据库的“connect”权限:
```
GRANT CONNECT TO testuser@'%' IDENTIFIED BY 'password' WITH ADMIN OPTION;
GRANT CREATE SESSION TO testuser@'%' IDENTIFIED BY 'password' WITH ADMIN OPTION;
GRANT SELECT ANY TABLE TO testuser@'%' IDENTIFIED BY 'password' WITH ADMIN OPTION;
GRANT INSERT ANY TABLE TO testuser@'%' IDENTIFIED BY 'password' WITH ADMIN OPTION;
GRANT UPDATE ANY TABLE TO testuser@'%' IDENTIFIED BY 'password' WITH ADMIN OPTION;
GRANT DELETE ANY TABLE TO testuser@'%' IDENTIFIED BY 'password' WITH ADMIN OPTION;
```
然而,这样的语句是不被支持的,你必须指定一个具体的数据库名称,例如“mydb_test”。