oracle建立账号赋予权限
--建立账号
create user 账号 identified by 密码
--赋予连接数据库的权限
grant connect to 账号
--赋予查看视图的权限,也包含形成视图的表
GRANT SELECT ON 视图 TO 账号
切换账号以后,运行查询语句在表名前添加管理员.前缀
select * from sys.视图
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”则是撤销权限的用户。
查看用户的权限
该语句将显示当前用户拥有的系统权限。
SELECT * FROM user_sys_privs;
该语句将显示当前用户在表上拥有的权限。
SELECT * FROM user_tab_privs;