这个是在introduction to Oracle 9i SQL student guide第二卷中看到的,写完才发现之前有过相关、甚至更全面的介绍了。但还是发布吧。
1、控制user的访问
主要有以下几方面:
* 控制database的访问
* 控制database中特定的对象的访问
* 授予一定的访问Oracle 数据字典的权限
* 为database对象创建synonym
database的安全性可以被定义为两类:系统的安全和data的安全。前者包括在system 级别的database的访问与使用,如username和password、给user分配的磁盘空间以及user可执行的系统操作。后者包括对database对象的访问及操作的安全控制。
1)系统权限
主要有:CREATE USER, DROP USER, DROP ANY TABLE, BACKUP ANY TABLE, SELECT ANY TABLE, CREATE ANY TABLE
2)创建users
CREATE USER user IDENTIFIED BY password;
3)授予权限
GRANT privilege [, privilege ...] TO user [, user| role, PUBLIC ...];
对于应用开发者,一般至少会需要下面的权限:
CREATE SESSION, CREATE TABLE, CREATE SEQUENCE, CREATE VIEW, CREATE PROCEDURE
4)修改user的密码
ALTER USER user IDENTIFIED BY nowpassword;
5)对象权限
GRANT object_priv|ALL [(columns)] ON object TO {user | role | PUBLIC} [WITH GRANT OPTION];
其中,ALL表示所有对象权限