oracle建立账号赋予权限

发布时间 2023-09-04 20:02:05作者: 囧雪诺

--建立账号
create user 账号 identified by 密码
--赋予连接数据库的权限
grant connect to 账号
--赋予查看视图的权限,也包含形成视图的表
GRANT SELECT ON 视图 TO 账号

 

 

CREATE SESSION --建立会话
RESOURCE角色: --是授予开发人员的
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立过程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立触发器
CREATE TYPE --建立类型
CREATE OPERATOR --创建操作者
CREATE INDEXTYPE --创建索引类型
CREATE TABLE --创建表

 

1. 授予SELECT权限

 

授予SELECT权限是最常见的权限赋予操作。例如,我们希望授予名为“testuser”的用户一些SELECT权限,可以使用以下语法:

 

GRANT SELECT ON table_name TO testuser;

 

在这个例子中,“table_name”是你想要授予权限的表名,而“testuser”是需要被授予权限的用户名。 SELECT权限将允许用户查询与表相关联的数据,但不允许对表进行其他更改。

 

2. 授予INSERT权限

 

如果你想授予用户INSERT权限(即让他们向表中插入新行),可以使用以下语法:

 

GRANT INSERT ON table_name TO testuser;

 

与SELECT权限一样,你需要指定表名和用户名。INSERT权限允许用户向表中插入新数据,但不允许其更改或删除现有行。

 

3. 授予UPDATE和DELETE权限

 

UPDATE和DELETE权限授予时需要谨慎,因为用户可能会误操作造成不可挽回的后果。如果你仍然希望授予这些权限,可以使用以下语法:

 

GRANT UPDATE, DELETE ON table_name TO testuser;

 

在这个例子中,“table_name”是表名,“testuser”是需要被授予权限的用户名。授予UPDATE和DELETE权限允许用户更改和删除表中的数据。

 

4. 授予CREATE TABLE权限

 

如果用户需要创建新表,则需要CREATE TABLE权限授予。以下是相关语法:

 

GRANT CREATE TABLE TO testuser;

 

使用此语法可以授予testuser在其自己的模式中创建新表的权限。在此过程中,testuser将被授予与新表关联的所有所有权。

 

5. 授予CREATE VIEW和CREATE PROCEDURE权限

 

CREATE VIEW和CREATE PROCEDURE权限分别允许用户创建视图和存储过程。在Oracle中,这些对象都被认为是权限控制关键点,因为它们具有与表和其他对象相同的访问控制限制。

 

以下是相关代码:

 

GRANT CREATE VIEW TO testuser;
GRANT CREATE PROCEDURE TO testuser;

 

这些命令将授予testuser创建视图和存储过程的权限。视图是虚表,存储过程是数据库中的可执行代码块。

 

6. 授予EXECUTE权限

 

EXECUTE权限允许用户在过程中执行SQL语句;此权限是使用存储过程的关键所在。

 

以下是相应代码:

 

GRANT EXECUTE ON procedure_name TO testuser;

 

“procedure_name”是存储过程的名称,而“testuser”是需要被授权执行它的用户名。

 

7. 撤销权限

 

当权限不再需要时,可以撤销该权限。在Oracle中,撤销权限的语法如下:

 

REVOKE permission_type ON object_name FROM username;

 

在这个例子中,“permission_type”是指需要撤销的权限类型;“object_name”是与权限相关的对象;“username”则是撤销权限的用户。