oracle grant语句 grant alter
时间: 2023-05-01 16:02:17 浏览: 476
oracle grant语句是用来授权给用户或角色执行某些操作的命令,如SELECT、INSERT、UPDATE等。而grant alter语句则是授权用户或角色修改数据库对象的权限,如修改表结构、索引等。
相关问题
oracle GRANT 配权表空间
Oracle的GRANT命令用于分配权限给数据库用户,允许他们访问特定的数据资源,如表空间。表空间是Oracle数据库中存储数据的基本单位。当你想授权用户对某个表空间的操作(例如读取、写入或完全管理),可以使用GRANT语句。语法通常是这样的:
```sql
GRANT [WITH GRANT OPTION] privilege_name [ON object_name] TO user_name;
```
这里的`privilege_name`包括`SELECT`, `INSERT`, `UPDATE`, `DELETE`, `CREATE`, `DROP`, `ALTER`, `BACKUP`, 等,`object_name`是指定的表空间名,`user_name`是要授予权限的对象所有者或者其他用户。
例如,要将`CREATE TABLE`权限授予用户`John`对名为`MyTableSpace`的表空间:
```sql
GRANT CREATE ON MyTableSpace TO John;
```
如果希望用户不仅拥有这个权限,还可以转授给其他人,可以加上`WITH GRANT OPTION`:
```sql
GRANT CREATE (OBJECTS) ON MyTableSpace TO John WITH GRANT OPTION;
```
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 等。这些权限和角色的授予将使得该用户具有较高的系统权限,需要谨慎使用。
阅读全文