自定义用户管理
创建用户
语法
CREATE USER user--user是用户名
IDENTIFIED BY password--password是用户口令,不区分大小写
[DEFAULT TABLESPACE tp_orders]--tp_orders(自己创建的表空间)是表空间名称
[TEMPORARY TABLESPACE temp]--temp(Oracle系统自己创建的)是临时表空间
注意:如果用户没有指定表空间。
DEFAULT TABLESPACE的默认值为USERS;TEMPORARY TABLESPACE的默认值为TEMP
示例
create user bdqn
identified by bdqn
default tablespace tp_orders
temporary tablespace temp
以上代码演示了创建bdqn用户,你现在登陆会出现以下情况
翻译:用户BDQN缺少创建会话特权;拒绝登录。下面解决授权问题
数据库权限管理
一、系统权限:系统权限允许用户执行某些数据库操作
二、对象权限:对象权限允许用户对某一特定对象执行特定的操作
1、Oracle数据库用户获得权限的途径?
①管理员直接向用户授权
②管理员将权限授予角色,然后再将角色授予一个或多个用户。
2、Oracle中常用的系统预定义角色如下
①CONNECT: 只需要连接上数据库,不需要创建表的用户。
②RESOURCE: 可以创建表、触发器、过程等。
③DBA: 数据库管理员。
3、给用户授权
语法
GRANT 权限|角色 TO 用户名
示例
grant connect,resource to bdqn --授予CONNECI 和 RESOURCE两个角色
注意:到这里你就可以登录刚才创建的用户了。
4、撤销用户权限
语法
REVOKE 权限|角色 FROM TO 用户名
示例
revoke connect,resource from bdqn --撤销CONNECI 和 RESOURCE两个角色
5、数据库用户安全设计原则
①数据库用户授权按照最小分配原则。
②数据库用户分为管理、应用、维护、备份四类用户。
③不允许使用Sys和System用户建立数据库应用对象。
④禁止 GRANT dba TO user.